類《雙人成行》3D動作益智冒險類雙人控制游戲開發

????????服務器端采用了基于開源Kbengine(引擎使用C++和Python編寫)的多人在線游戲服務器,客戶端采用Unity3D。游戲支持線上的雙人聯機房間功能。

資源地址:類《雙人成行》3D動作益智冒險類雙人控制游戲開發教程 | Unity 中文課堂

一、游戲玩法

? ? 進入游戲主界面,有三種玩法,第一種是單機模式,第二種是聯機模式即類《雙人同行》、第三種是亂斗模式。如下

圖片

第一種-單機模式(單人操作模式),玩家需要操作兩個角色,兩個角色配合過關,目前實現了7個關卡,后面會不定期增加;在每個關卡里威廉和安娜一起冒險,根據限定的游戲時間、闖關是否成功、收集到所有的金幣、寶石才能過關,并進行關卡評級。

第二種-亂斗模式(單人操作模式),玩家操作角色進行打怪過關,當所有的怪物被消滅后即可完成關卡。

第三種-雙人模式(雙人聯機房間模式)即類《雙人同行》玩法,該玩法需要用戶先進行用戶注冊,以從“游客”角色轉變成“登陸用戶”,從而登陸到后臺服務器端。具體為,一個玩家首先進行用戶注冊,然后建立房間,并把房間號告訴給別的玩家;另一個注冊玩家拿到房間號后通過房間號查詢并登陸到同一個房間,就可以進行類《雙人同行》的玩法了。

二、游戲項目特點

* 新穎的游戲風格:3D開放空間中雙人協作過關

* 游戲模式1:用戶雙人控制模式,一人飾兩角,雙人配合協同過關

* 游戲模式2:亂斗模式,經典RPG風格 - 和關卡內的各種怪物進行戰斗

* 游戲模式3:雙人模式(雙人聯機房間模式)即類《雙人同行》玩法

* 通用關卡邏輯的封裝:在每個關卡復用同一套過關邏輯

* 各關卡獨立部分的游戲邏輯封裝:每關通過邏輯接口派生的方式衍生出各自獨有的游戲邏輯

* 主角和怪物角色腳本動畫組件:通用的角色腳本,支持角色的邏輯業務,如idle、追逐、攻擊等等,方便建立你自己的怪物角色。

* 通用的模型動畫功能組件:功能組件有,如模型的簡單、復雜運動的封裝(旋轉,移動、來回移動、多次移動)、各種功能性的開關(一次按鈕觸發,持續觸發)、輔助角色加速跳躍的螺旋槳和模擬風力的粒子效果等等。然后可以通過這些已經封裝好的眾多功能組件,組合出可復用的創意形功能,當然你也可以開發出自己特有的功能組件,然后結合項目中其它功能組件組合出更多的創意形的關卡。

三、項目中學到的東西

* 游戲教程適合初學者,同時適合中高級Unity開發人員,原因如下

* 項目的開發以逐步功能的實現為順序準則,代碼也是盡量以逐行手寫的方式,力求大部分學習者能夠學習到游戲開發的習慣和完整的游戲開發技術

* Unity中角色控制和Animator動畫:首先使用5節基礎實操課進行講解以幫助入門,然后通過若干節的課程,講解主角和怪物的實現,以幫助更深入的掌握

* 關卡復用的“模型動畫功能組件”的制作:幫助大家掌握動畫的制作,通過這部分內容大家同時也能學到3D數學在游戲開發中的使用。

* MVC的UI游戲框架的學習:首先使用9節課程進行MVC的基礎DEMO講解;然后通過若干節的課程,講述在游戲中MVC框架的業務實現技術細節,以幫助更深入的掌握。

* 多人在線的游戲服務器開發:首先使用6節課進行基于C++和Python的游戲服務端的講解,然后使用若干節課進行類《雙人同行》的雙人聯機的網絡游戲的開發學習。

* “圖形學相關的知識和3D數學應用”在項目功能開發中進行了完整的講解:如Vecto3向量、Quaternion方位、模型旋轉之插值計算方法、Vector3.Dot點乘計算角度等等都在項目開發中應用并進行了詳細的講解。

* 教程遵循嚴格的C#編碼規范:幫助大家養成良好的編碼習慣,以適應正規公司多人協同下的開發流程

四、學習者需要的基礎

*掌握基本的C#編碼經驗

*基本的Unity編輯器的使用

*由于教程是包含有基礎部分的,所以不強制要求學習者掌握游戲圖形學方面的知識

五、關鍵技術架構

* 商用級別的MVC UI框架

* 基于KBEngine分布式的多人在線游戲服務器,C++和Python的游戲中心架構技術

* 所有關卡可復用且通用的關卡邏輯

* 當前關卡獨有的通用關卡邏輯(所有關卡派生功能)

* 對象池技術:對象的生成和回收復用技術,如關卡4中采用的鐵球障礙物

* 通用且可復用的模型動畫功能組件

* 亂斗模式中怪物的可復用技術,多種類型怪物通用同一套功能架構

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/77266.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/77266.shtml
英文地址,請注明出處:http://en.pswp.cn/web/77266.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spark--基本介紹

Spark是基于內存的快速,通農用,可拓展的大數據分析計算引擎,Hadoop是一個分布式系統基礎架構 Spark和Hadoop之間的對比和聯系 架構與組件: Hadoop: ■ HDFS:分布式文件系統,負責海量數據存儲。…

05-GPIO原理

一、概述 1、GPIO,即通用I/O(輸入/輸出)端口,是STM32可控制的引腳。STM32芯片的GPIO引腳與外部設備連接起來,可實現與外部通訊、控制外部硬件或者采集外部硬件數據的功能。 2、GPIO的復用:引腳復用是指將單個引腳配置為多個功能的能力。在 STM32 中&…

基于LangChain4J的AI Services實踐:用聲明式接口重構LLM應用開發

基于LangChain4J的AI Services實踐:用聲明式接口重構LLM應用開發 前言:當Java開發遇上LLM編程困境 在LLM應用開發領域,Java開發者常面臨兩大痛點:一是需要手動編排Prompt工程、記憶管理和結果解析等底層組件,二是復雜…

深入解析 Docker 容器進程的 cgroup 和命名空間信息

深入解析 Docker 容器進程的 cgroup 和命名空間信息 在現代 Linux 系統中,控制組(cgroup)和命名空間(namespace)是實現容器化技術的核心機制。cgroup 用于管理和限制進程的資源使用(如 CPU、內存、I/O&…

【汽車ECU電控數據管理篇】S19文件格式解析篇章

一、S19格式是啥 在電控文件管理的初期階段,我首次接觸到的是 A2L 和 HEX 文件。其中,A2L 文件主要承擔著描述性功能,它詳細地描述了各種參數和配置等相關信息。而 HEX 文件則是一種刷寫文件,其內部明確記錄了具體的地址以及對應的…

python編程相關的單詞

the: 在編程中,“the” 是一個常見的英語單詞,用于指定特定的對象或變量。例如,“the function” 指的是某個特定的函數。 the的拼寫是t,h,e.再讀一次t,h,e and: 在編程中,“and” 是一個邏輯運算符,用于連接兩個條件&…

網絡原理 - 4(TCP - 1)

目錄 TCP 協議 TCP 協議段格式 可靠傳輸 幾個 TCP 協議中的機制 1. 確認應答 2. 超時重傳 完! TCP 協議 TCP 全稱為 “傳輸控制協議”(Transmission Control Protocol),要對數據的傳輸進行一個詳細的控制。 TCP 協議段格…

python博客爬蟲列表

我希望對指定網頁的,博客列表,獲取url,然后保存成本地文件,用python實現 step1: import requests from bs4 import BeautifulSoup import jsondef get_blog_links(url):headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win6…

軟件測試入門學習筆記

今天學習新知識,軟件測試。 什么是軟件測試? 使用人工和自動手段來運行或測試某個系統的過程,目的在于檢驗它是否滿足規定的需求或弄清實際結果與預期結果之間的差別。 軟件測試的目的? 1)為了發現程序&#xff0…

uniapp開發2--uniapp中的條件編譯總結

以下是對 uni-app 中條件編譯的總結: 概念: 條件編譯是一種技術,允許你根據不同的平臺或環境,編譯不同的代碼。 在 uni-app 中,這意味著你可以編寫一套代碼,然后根據要編譯到的平臺(例如微信小…

【k8s】sidecar邊車容器

一、Sidecar 模式簡介 Sidecar 模式是一種常見的微服務架構設計模式。它通過將附加功能或服務與主應用程序部署在同一容器或主機上,從而實現對主應用程序的增強和擴展。Sidecar 的名稱來源于摩托車的邊車,它與摩托車緊密相連,為主車提供額外…

MySQL索引使用一定有效嗎?如何排查索引效果?

MySQL索引使用一定有效嗎?如何排查索引效果? 1. 索引一定有效嗎? 不一定! 即使你創建了索引,MySQL 也可能因為以下原因 不使用索引 或 索引效果不佳: 索引選擇錯誤:MySQL 優化器可能選擇了錯…

漏洞管理體系:從掃描評估到修復驗證的全生命周期實踐

漏洞管理體系:從掃描評估到修復驗證的全生命周期實踐 在網絡安全防御體系中,漏洞管理是“攻防博弈”的核心戰場。據NVD(國家漏洞數據庫)統計,2023年新增漏洞超21萬個,平均每天披露575個,其中32…

cdh平臺管理與運維最佳實踐

一、容量規劃:構建可持續擴展的數據湖底座 1.1 資源評估三維模型 #mermaid-svg-4Fd5JDKTgwqF1BUd {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-4Fd5JDKTgwqF1BUd .error-icon{fill:#552222;}#mermaid-svg-4Fd5J…

力扣347:前K個高頻元素

給你一個整數數組 nums 和一個整數 k ,請你返回其中出現頻率前 k 高的元素。你可以按 任意順序 返回答案。 示例 1: 輸入: nums [1,1,1,2,2,3], k 2 輸出: [1,2]示例 2: 輸入: nums [1], k 1 輸出: [1]題解: 一、思路: 1.我希望將nu…

前饋神經網絡層

FeedForward Network 論文地址 https://arxiv.org/pdf/1706.03762 前饋網絡介紹 前饋網絡是Transformer模型中的關鍵組件,每個Transformer層包含一個多頭注意力模塊和一個前饋網絡模塊。該模塊通過兩次線性變換和激活函數,為模型提供非線性建模能力。其核…

如何將 sNp 文件導入并繪制到 AEDT (HFSS)

導入 sNp 文件 打開您的項目,右鍵單擊 “Result” 繪制結果 導入后,用戶可以選擇它進行打印。請參閱下面的示例。要點:確保從 Solution 中選擇它。

es-核心儲存原理介紹

原始數據 idusernamegradedescription1ahua87i like study2xiaowang92i like es3zhaoyun63i like java 倒排索引 description使用的text分詞,使用倒排索引 termidi1,2,3like1,2,3study1es2java3 分詞后,如果匹配 es,則需要逐行匹配&…

jmeter中監控服務器ServerAgent

插件下載: 將ServerAgent上傳至需要監控的服務器,mac/liunx啟動startAgent.sh(啟動命令:./startAgent.sh) 在jmeter中添加permon監控組件 配置需要監控的服務器IP地址,添加需要監控的資源 注意&#xf…

UML 狀態圖:以共享汽車系統狀態圖為例

目錄 一、初識 UML 狀態圖 二、共享汽車系統狀態圖詳解 (一)初始狀態與車輛空閑狀態 (二)用戶預定相關狀態 (三)等待取車與用戶取車狀態 (四)用戶還車及后續狀態 三、狀態圖繪…