網(wǎng)絡(luò)游戲的開(kāi)發(fā)流程是什么樣的?
時(shí)間:2024-01-16 10:30:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)
時(shí)間:2024-01-16 10:30:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)
網(wǎng)絡(luò)游戲的開(kāi)發(fā)流程是什么樣的?:
- 第一階段
- 確定需求
- 在游戲開(kāi)發(fā)之前,我們需要確定一下游戲開(kāi)發(fā)的需求,什么叫確定需求?說(shuō)白了就是我們要做什么樣的游戲,可以通過(guò)GameJam來(lái)確定游戲開(kāi)發(fā)的原型和核心功能
- 這個(gè)階段不會(huì)要求游戲的畫面特別的精致,但要能體現(xiàn)玩法創(chuàng)意
- 預(yù)研階段
- 預(yù)研就是確定項(xiàng)目到底能不能做
- 立項(xiàng)階段
- 第二階段
- 底層庫(kù)
- 在第二個(gè)階段里,要先把游戲的底層庫(kù)搭起來(lái),比如游戲的網(wǎng)絡(luò)通訊庫(kù)、游戲的網(wǎng)絡(luò)協(xié)議庫(kù),當(dāng)然很多的網(wǎng)絡(luò)通訊和網(wǎng)絡(luò)協(xié)議的庫(kù)都是已經(jīng)提前做好的,你可以直接把它引進(jìn)來(lái),或者有十年或十年以上工作經(jīng)驗(yàn)以后,有了自己的游戲框架,你就可以直接把你的框架帶到新公司、新項(xiàng)目里去
- 高層架構(gòu)開(kāi)發(fā)
- 底層庫(kù)其實(shí)也包括了高層架構(gòu),比如開(kāi)發(fā)游戲時(shí)肯定會(huì)用到MVC或者M(jìn)VVM來(lái)做整體架構(gòu)的解耦
- 第三階段
- 業(yè)務(wù)邏輯開(kāi)發(fā)
- 在第三階段里,我們會(huì)開(kāi)發(fā)游戲的業(yè)務(wù)邏輯,這一階段可以找一些工作經(jīng)驗(yàn)沒(méi)有那么多的新人,比如找一些新手同學(xué)來(lái)拼UI,來(lái)實(shí)現(xiàn)各種簡(jiǎn)單的業(yè)務(wù)邏輯
- 很多新手在公司里被叫做UI仔,什么叫UI仔?就是專門負(fù)責(zé)拼UI、寫UI的功能,并且是在主程已經(jīng)開(kāi)發(fā)好UI框架的情況下,他只是把一個(gè)又一個(gè)功能填進(jìn)去,比如要響應(yīng)什么消息,響應(yīng)消息時(shí)應(yīng)該展示什么畫面,或者當(dāng)我接收到用戶的點(diǎn)擊或者拖拽時(shí),應(yīng)該發(fā)出什么樣的請(qǐng)求,就干這些事兒
- 這是特別初級(jí)的程序員,稍微中級(jí)一點(diǎn)的程序員會(huì)開(kāi)發(fā)相對(duì)復(fù)雜一點(diǎn)、核心一點(diǎn),或者難一點(diǎn)的程序,比如開(kāi)發(fā)游戲的戰(zhàn)斗系統(tǒng)、做游戲的中臺(tái)、或者做游戲的性能優(yōu)化、做畫面渲染的渲染管線定制,還包括SDK的接入、還有服務(wù)器的服務(wù)器邏輯,數(shù)據(jù)庫(kù)緩存層的一些開(kāi)發(fā)等等,基本上客戶端的用人需求會(huì)比服務(wù)器要大一些
- 第四階段
- 測(cè)試
- 把游戲整體開(kāi)發(fā)完以后就會(huì)進(jìn)入到游戲的測(cè)試階段,測(cè)試階段有兩種情況:
- 1,項(xiàng)目完全沒(méi)有問(wèn)題,那么你就會(huì)直接進(jìn)入到第五個(gè)階段,就是所謂的里程碑達(dá)成
- 2,當(dāng)你的項(xiàng)目出現(xiàn)問(wèn)題時(shí),就要回頭進(jìn)行架構(gòu)或者是業(yè)務(wù)邏輯的調(diào)整,直到測(cè)試通過(guò)
- 游戲的測(cè)試基本上是可以分成單元測(cè)試和聯(lián)合的調(diào)試測(cè)試,單元測(cè)試又可以分成黑盒和白盒測(cè)試,并且也可以采用一些自動(dòng)化的方法來(lái)進(jìn)行測(cè)試
- 在我們進(jìn)入到壓力測(cè)試的階段時(shí)還會(huì)開(kāi)發(fā)一些機(jī)器人來(lái)進(jìn)行壓力測(cè)試,比如在我們的《皇室戰(zhàn)爭(zhēng)》項(xiàng)目里就使用了機(jī)器人來(lái)對(duì)架構(gòu)進(jìn)行萬(wàn)人同服的壓力測(cè)試,而且是單服萬(wàn)人同服,不是帶有負(fù)載均衡的服務(wù)器,而是單個(gè)服務(wù)器能支持萬(wàn)人同時(shí)在線,并且我們的開(kāi)房間也是做過(guò)相應(yīng)的性能測(cè)試,能夠承受商業(yè)項(xiàng)目的壓力
- 第五階段
- 里程碑達(dá)成
- 里程碑達(dá)成以后,就會(huì)進(jìn)入到下一輪迭代,在下一輪迭代里,我們會(huì)確定下一個(gè)需求,然后一步一步走下去
- 有同學(xué)可能會(huì)說(shuō):“里程碑達(dá)成了,那么下一輪迭代時(shí),我的底層庫(kù)和高層架構(gòu)還需要重新開(kāi)發(fā)嗎?還需要再去迭代嗎?”
- 答案是需要,可能有同學(xué)認(rèn)為當(dāng)開(kāi)發(fā)完游戲的項(xiàng)目架構(gòu)時(shí),就沒(méi)架構(gòu)師,或者主程什么事兒了,但其實(shí)完全不是,因?yàn)榧軜?gòu)也會(huì)經(jīng)過(guò)一輪一輪的迭代,你的架構(gòu)在性能、可擴(kuò)展性、可維護(hù)性上是不是還有改進(jìn)的空間,這是需要我們深思的一點(diǎn)
- 就算你的架構(gòu)在你認(rèn)知的范圍里,在架構(gòu)師的認(rèn)知的范圍里已經(jīng)足夠的完美了,但你也不確定是不是會(huì)有新的需求出現(xiàn),比如我們要開(kāi)發(fā)一個(gè)國(guó)戰(zhàn),這對(duì)于服務(wù)器的性能要求就更高了,對(duì)于客戶端中同屏處理的玩家或者是在跨地圖時(shí)要做的處理也更多了
- 這時(shí)的需求就發(fā)生了變化,架構(gòu)師也需要重新調(diào)整程序架構(gòu),所以不是說(shuō)咱們做完架構(gòu)就什么事都沒(méi)有了,當(dāng)然你的業(yè)務(wù)邏輯也要繼續(xù)開(kāi)發(fā),繼續(xù)測(cè)試
詳細(xì)內(nèi)容可以參考我們的《Unity全棧開(kāi)發(fā)大師》公開(kāi)課
關(guān)鍵詞:游戲,網(wǎng)絡(luò),流程