一個MMORPG游戲需要儲備哪些技術點?
一: 客戶端準備
游戲引擎的選擇
目前做MMORPG游戲主流的跨平臺(PC+Android+IOS)的3D游戲引擎有Unity和UE4,各自都有比較成功的代表作,技術上都能夠?qū)崿F(xiàn),UE4贏在渲染效果,Unity贏在使用相對簡單。
基礎知識儲備與框架設計
學習一個游戲引擎,要學哪些東西都是有固定規(guī)律的,我們總結(jié)出來,適合Unity,也適合UE4。
1: 引擎指定的編程語言的學習, 如Unity我們學習C#, UE4我們學習C++
2: 學會引擎基礎知識:
【項目創(chuàng)建】,【編輯器面板使用】,【3D物體的創(chuàng)建與擺放】【模型角色的導入與顯示】,【地形的制作與使用】,【場景光照烘培】【角色動畫播放】【粒子特效】【UI界面制作】【事件監(jiān)聽與響應】【物理引擎】【角色導航與地圖編輯】【聲音播放】【網(wǎng)絡連接服務器】【資源管理】【Shader開發(fā)】
3: 打造客戶端游戲框架:【框架設計思想與開發(fā)協(xié)作模式制定】【游戲風格與渲染管線定制】【資源管理模塊】【日志管理模塊】【聲音管理模塊】【UI管理模塊】【網(wǎng)絡管理模塊】【協(xié)議管理模塊】【定時器管理模塊】【事件訂閱與發(fā)布】【地圖編輯器與尋路導航】【Excel表格數(shù)據(jù)驅(qū)動模塊】【AI行為決策樹模塊】【自動化打包發(fā)布與版本管理】【熱更新模塊】客戶端框架把這些模塊完成后,框架也就可以了。
二:服務器準備
服務器開發(fā)語言的選擇
目前做MMORPG游戲服務端的主流編程語言: C++以及它的變種(C++/Lua), Java, Go, C#等。目前這幾個編程語言都能實現(xiàn)MMORPG游戲,也有相關的成功案例,從使用來講C++/Java會更多些,Java生態(tài)完整,資料多,也相對簡單,招人好招,C++就麻煩些,因為好的C++開發(fā)人員真的鳳毛麟角。Go資料相對少些,招人不好招,C# 做游戲服務器用的少, Linux平臺可能會有坑,畢竟C#是微軟出的。
服務端基礎知識儲備與框架設計
1: 服務端編程語言采用哪個編程語言就學哪個。
2: 服務端的開發(fā)基礎知識:
【Socket網(wǎng)絡編程】【Http 網(wǎng)絡編程】【數(shù)據(jù)庫開發(fā)】【通訊協(xié)議json, xml, protobuf】【Mem Cache】【線程通訊與多線程】【進程與進程通訊】
3: 打造高性能高并發(fā)的服務端框架: 服務端要支持幾萬升至幾十萬人同時在線,對高性能高并發(fā)的要求非常高,多核編程又是現(xiàn)在服務器的主流,因此利用多核,基于多進程多線程的服務器框架架構(gòu)變得非常重要。主要有【多進程多線程高并發(fā)的服務器框架】【高并發(fā)網(wǎng)絡模塊與協(xié)議模塊(通常有主流的庫)】【數(shù)據(jù)庫的ORM】【Mem Cache】【日志模塊】【定時器模塊】【服務模塊】【尋路與導航】【AI行為決策樹】【AOI】
三:項目開發(fā)與聯(lián)調(diào)
這個階段客戶端服務器一起配合,把游戲功能完成好,一般是按照游戲的流程開始。【登錄與注冊】【角色創(chuàng)建】【準備的穿戴】【背包系統(tǒng)】【商城系統(tǒng)】【任務系統(tǒng)】【游戲地圖】【游戲刷怪】【攻擊與技能】【怪物與AI】【裝備管理】【數(shù)值對接】【工會系統(tǒng)】【地圖副本】等業(yè)務邏輯。
四:部署與運營
壓力測試與穩(wěn)定性測試
客戶端打包與多平臺多渠道發(fā)布
服務端云服務器部署,數(shù)據(jù)庫部署,數(shù)據(jù)庫備份,服務器分區(qū)部署等。
加入我的游戲開發(fā)交流群,
給你分享更多游戲源碼及其他學習素材