????????服務器端采用了基于開源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中采用的鐵球障礙物
* 通用且可復用的模型動畫功能組件
* 亂斗模式中怪物的可復用技術,多種類型怪物通用同一套功能架構