網(wǎng)絡(luò)游戲的最常見的基本架構(gòu)是Peer-to-Peer 對(duì)等通信結(jié)構(gòu),如圖11-1所示,即在多個(gè)玩家參與的游戲中,各玩家之間采用Peer-to-Peer的直接通信方式。在網(wǎng)絡(luò)通信服務(wù)的形式上,一般采用浮動(dòng)服務(wù)器的形式,即其中一個(gè)玩家的機(jī)器既是客戶端,又扮演服務(wù)器的角色,一般由創(chuàng)建游戲局的玩家擔(dān)任服務(wù)器(主機(jī))。很多對(duì)戰(zhàn)型的RTS網(wǎng)絡(luò)游戲都采用這種結(jié)構(gòu)。
網(wǎng)絡(luò)游戲的另一種架構(gòu)是基于游戲大廳代理的結(jié)構(gòu),通過會(huì)話大廳(lobby)結(jié)構(gòu),為不同玩家牽線搭橋,既直接管理客戶端,也管理游戲局,是回合制網(wǎng)絡(luò)游戲的常見類型,如圖11-2所示。
網(wǎng)絡(luò)游戲的最典型的結(jié)構(gòu)是C/S結(jié)構(gòu),如圖11-3所示,特別適合于多人在線游戲,如RPG,成千上萬(wàn)人進(jìn)行同一場(chǎng)游戲。服務(wù)器上有完整的游戲世界模型,玩家在客戶端去觀察這個(gè)世界,并與之互動(dòng)。
圖11-1 網(wǎng)絡(luò)游戲的Peer-to-Peer對(duì)等通信結(jié)構(gòu)
圖11-2 基于游戲大廳代理的網(wǎng)絡(luò)游戲結(jié)構(gòu)
圖11-3 基于C/S的網(wǎng)絡(luò)游戲結(jié)構(gòu)
C/S結(jié)構(gòu)的優(yōu)點(diǎn)是能夠充分發(fā)揮客戶端計(jì)算機(jī)的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器,使得客戶端響應(yīng)速度快。對(duì)于網(wǎng)絡(luò)游戲來(lái)講,這是十分關(guān)鍵的。其缺點(diǎn)就是網(wǎng)絡(luò)游戲的升級(jí)比較麻煩,每次升級(jí)需要客戶端下載體積龐大的更新軟件,然后進(jìn)行安裝,對(duì)于一些帶寬并不是十分充足的用戶而言,升級(jí)就成了游戲的夢(mèng)魘。不過,良好的客戶端程序框架設(shè)計(jì)完全可以避免升級(jí)時(shí)下載龐大的更新軟件。比如,客戶端軟件可以把場(chǎng)景定義文件獨(dú)立出來(lái),客戶端程序在運(yùn)行時(shí)動(dòng)態(tài)加載場(chǎng)景定義文件。這樣,當(dāng)網(wǎng)絡(luò)游戲的設(shè)計(jì)者發(fā)現(xiàn)需要增加游戲場(chǎng)景時(shí),他只需要更新一個(gè)場(chǎng)景定義文件就可以了,當(dāng)然還需要一些必需的場(chǎng)景資源文件,如新增加的圖像、背景音效等。
一個(gè)典型的基于C/S架構(gòu)的回合制游戲的運(yùn)行流程如圖11-4所示。
圖11-4 基于C/S架構(gòu)的會(huì)合制游戲流程
聯(lián)系客服