網(wǎng)絡(luò)游戲的開發(fā)流程是怎樣的?
時間:2024-01-16 08:54:01 | 來源:網(wǎng)站運營
時間:2024-01-16 08:54:01 來源:網(wǎng)站運營
網(wǎng)絡(luò)游戲的開發(fā)流程是怎樣的?:網(wǎng)絡(luò)游戲開發(fā)的流程比較多。但是萬變不離其宗。都是一種多層架構(gòu)模式,底層先用TCP/UDP搭建好通信框架(高性能,低延時),在這個基礎(chǔ)上再確定好客戶端和服務(wù)器的信息交換協(xié)議(完全按需求自定義的數(shù)據(jù)和類型),Gameplay邏輯層利用反射等等方案搭建自動化數(shù)據(jù)處理,一般能夠做到單個類型對象的遠程RPC調(diào)用,對象屬性同步的粒度,到此網(wǎng)絡(luò)游戲的網(wǎng)絡(luò)層框架基本搭建完成,其他開發(fā)同學只需要關(guān)注需求是什么,拆解成對應(yīng)的通信數(shù)據(jù)(通信協(xié)議,像ProtoBuffer等,自動化生成),然后在Gameplay層可以無差別使用彭,這個就是開發(fā)流程了,后面說說背后的邏輯和原理。
直觀的理解可以用http協(xié)議來進行理解,像咱們打開瀏覽器,查閱網(wǎng)頁信息一樣。底層是物理層(非七層模型),在這之上是TCP/UDP層,再上層則是HTTP協(xié)議層。
本質(zhì)上是如此,但是網(wǎng)絡(luò)游戲會有兩個層面的差異,一個是性能,另外一個是低延遲。這兩個指標非常嚴苛,高于常規(guī)的應(yīng)用。具體到對應(yīng)的數(shù)值為網(wǎng)絡(luò)游戲要求高幀率,30FPS以上,低延遲,像MMO要求在200ms以內(nèi),MOBA,F(xiàn)PS要求更高,需要在50ms甚至更低的延時之內(nèi)。而網(wǎng)頁像HTTP協(xié)議則需要按秒為單位計算,慢了10倍以上(一個數(shù)量級了)。
因此,網(wǎng)絡(luò)游戲都必須有自己的“網(wǎng)絡(luò)傳輸協(xié)議”,這個核心的宗旨是要快,性能要好,尤其是大型網(wǎng)絡(luò)游戲,是基于TCP或者UDP協(xié)議的,在這個基礎(chǔ)上,直接使用簡單的封裝,一個網(wǎng)絡(luò)包ID+數(shù)據(jù)長度+包的內(nèi)容,包的內(nèi)容往往是序列化的內(nèi)存對象數(shù)據(jù),像大家熟知的Protobuffer等等內(nèi)存流數(shù)據(jù),這個層面還會進行加解密(防作弊,防篡改),采用UDP協(xié)議的還需要實現(xiàn)一套發(fā)包,停等,擁塞控制機制,一般單包延時控制在30ms內(nèi),像FPS游戲就是這種。
其中低延遲,性能又是一個很能看出一個網(wǎng)絡(luò)游戲開發(fā)商研發(fā)能力(競爭力)的關(guān)鍵指標。因為異構(gòu)的網(wǎng)絡(luò)環(huán)境下(全球)要實現(xiàn)足夠低的延遲,還是非??简炌ㄐ?,開發(fā)等各方面專業(yè)能力的。
關(guān)鍵詞:怎樣,流程,游戲,網(wǎng)絡(luò)