離開盛大游戲已經(jīng)有幾個月了构挤,畢業(yè)后這10年,一直奮斗在網(wǎng)絡(luò)游戲的一線開發(fā)凯砍,負責過的幾個產(chǎn)品成績好壞參半箱硕,有的被騰訊代理的,也有打包出售的悟衩,也有的走一些小渠道賺了一筆快錢剧罩。這些年,我一直從事的游戲服務(wù)器開發(fā)座泳,不管是底層的網(wǎng)絡(luò)庫編寫惠昔,還是頂層的業(yè)務(wù)邏輯,都參與過挑势,略有一些心得镇防。打算花一些時間來整理下,就當是對自己的游戲生涯做個總結(jié)吧薛耻。
本來是打算一篇小結(jié)营罢,但想著想著,感覺內(nèi)容越來越多饼齿,我又很沖動的想它寫成一個系列饲漾,希望不要太監(jiān)掉。
開篇第一章節(jié)缕溉,如何選擇適合自己的服務(wù)器架構(gòu)考传。首先明確自己做的是什么規(guī)模的游戲,比如按照運行的終端证鸥,我們可以分為端游僚楞,頁游勤晚,手游,當然也有多端互通的泉褐,這里如果是同一家公司運營的同一款游戲赐写,我們通常認為復雜度的關(guān)系是: 端游>頁游>手游。比如夢幻西游的端游框架膜赃,通常會比手游更復雜挺邀,因為它的模塊會更多更全,手游上會做適當?shù)牟眉襞c閹割跳座。從另一個維度來劃分端铛,也就是游戲的類型是什么,是MMORPG疲眷,還是ARPG禾蚕,還是MOBA等,這里可能最復雜的就是MMORPG了狂丝,因為它包含的模塊非常多换淆,而且他還會有大地圖,對服務(wù)器的性能考驗會更加嚴格美侦。由于本人涉及到的主要是MMORPG和ARPG产舞,以及房間對戰(zhàn)類,我會針對這兩幾類型的游戲做重點的講解菠剩。
首先來看一下這些類型游戲之間的差別和側(cè)重點易猫。
- MMORPG:多人同時在線,有能承載多人的大地圖具壮,C/S狀態(tài)同步准颓,服務(wù)器計算要求高,客戶端能接受一定程度的延遲棺妓。
- ARPG:主要玩法是游戲的打擊感和節(jié)奏攘已,傷害計算由客戶端完成,無需狀態(tài)同步怜跑,但需要隨機的防作弊校驗样勃。
- 房間對戰(zhàn)類:低頻互動,可以C/S狀態(tài)同步性芬,如卡牌類峡眶;高頻互動,可以UDP的幀同步植锉,如MOBA類辫樱,F(xiàn)PS類游戲。
以上從輪廓上描述了這幾種類型的游戲俊庇,由于業(yè)務(wù)場景的不同會導致整體的游戲的架構(gòu)略有不同狮暑,但是他們之間還是有很多的共同點的鸡挠。相信做過游戲的朋友經(jīng)常聽說這樣的幾個名詞,比如:網(wǎng)關(guān)服務(wù)器搬男,游戲服務(wù)器拣展,地圖服務(wù)器,中心服務(wù)器缔逛,帳號服務(wù)器等等瞎惫,這樣類似的名詞。是的译株,幾乎所有的游戲服務(wù)器框架都或多或少出現(xiàn)這幾個通用的模塊,具體每個模塊承載著什么樣的功能挺益,以及該如何設(shè)計歉糜,在接下來的幾個章節(jié),我會一一陳述望众。
這里我用processon畫一下大家最熟悉的登錄和游戲流程部分匪补,當然內(nèi)部的細節(jié)遠不止這些:
最后想說下,我現(xiàn)在已經(jīng)離開游戲這個行業(yè)了烂翰,當初做這個決定的時候也是掙扎了很久夯缺,人生就要不斷的試錯,不是嗎甘耿?離開不代表分別踊兜,故有了做這個知識梳理的沖動,由于本人水平有限佳恬,難免有錯誤或是不嚴謹?shù)牡胤侥缶常€請大家多多指教,另毁葱,如果有侵權(quán)的地方垫言,請及時通知。下個小節(jié)見倾剿!