




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、游戲同步策略時間作者說明2013-01-24張乃盛創(chuàng)建文檔一、 概述DashFire是一個射擊類形的游戲,游戲中需要用到大量的彈幕和碰撞檢測,并且游戲主要模式是PVP模式,類似Dota和LOL的競技游戲,對游戲的實時性和準(zhǔn)確性有很高的要求。二、 同步方案選擇1. C/S結(jié)構(gòu)根據(jù)同事的調(diào)研,對實時性要求較高的游戲有大多數(shù)是用的P2P結(jié)構(gòu),如DNF使用的是P2P,公司內(nèi)1018使用的也是P2P的結(jié)構(gòu)。和我們的游戲模式比較類似的游戲如LOL沒有用P2P模式同樣達(dá)到了較好的效果??紤]到P2P技術(shù)我們沒有太多的積累,可能有較多的未知因素,同時我們項目的時間較緊等以上這些現(xiàn)狀和因素,我們準(zhǔn)備使用C/S結(jié)構(gòu)
2、。2. 幾種同步方案a) 本地客戶端先行如下圖。這種模式有以下步驟:1. C1客戶端移動時在本地先做移動的位移或動作,并將消息發(fā)送到服務(wù)器2. 服務(wù)器接收到消息模擬移動,并將消息發(fā)送給其它客戶端3. 遠(yuǎn)程客戶端收到消息做移動或動作這種模式是最粗糙的同步,本地客戶端,服務(wù)器和遠(yuǎn)程客戶端位置不同。b) 動作確認(rèn)模式如下圖。這種模式有以下步驟:1. C1客戶端移動前先將消息發(fā)送到服務(wù)器,不作移動或動作2. 服務(wù)器接收到消息模擬移動,并將消息發(fā)送給其它客戶端3. 本地客戶端和遠(yuǎn)程客戶端收到消息做移動或動作這種模式的好處是C1和C2的動作是同步的。不足是客戶端和服務(wù)器端并不是完全同步的,服務(wù)器端的動作或
3、移動先于客戶端,第二是延遲較大情況下本地客戶端體驗不好。c) 服務(wù)器和遠(yuǎn)程客戶端預(yù)測如下圖。這種模式有以下步驟:1. 客戶端和服務(wù)器同步時間2. C1客戶端移動時先將帶時間戳的消息發(fā)送到服務(wù)器,同時做移動或動作3. 服務(wù)器接收到消息做預(yù)測模擬移動,并將消息發(fā)送給其它客戶端4. 遠(yuǎn)程客戶端收到消息做預(yù)測模擬移動這種模式的好處是本地客戶端體驗較好,C1和C2和服務(wù)器是同步的。不足是消息發(fā)送到服務(wù)器和遠(yuǎn)程客戶端之前,服務(wù)器和遠(yuǎn)程客戶端的位置或動作和地本不一致。由于步驟1同步時間會有一定的不準(zhǔn)確,這種方式到客戶端C2后會放大這種不準(zhǔn)確性。d) 服務(wù)器加時間戳先行如下圖。這種模式有以下步驟:1. 客戶端
4、和服務(wù)器同步時間2. C1客戶端移動時先將消息發(fā)送到服務(wù)器3. 服務(wù)器接收到消息做模擬移動,并將消息加上服務(wù)器時間戳發(fā)送給其它客戶端4. 本地客戶端和遠(yuǎn)程客戶端收到消息做預(yù)測模擬移動這種模式的好處是C1和C2和服務(wù)器是同步的并且因為時間的不準(zhǔn)確性的影響較小, 服務(wù)器不需要做模擬,本地客戶端和遠(yuǎn)程客戶端動作時間差很小并且取決于各自的延遲。延遲高時本地客戶端體驗較差。3. 同步方案考慮到我們游戲是類DOTA游戲,本身對玩家的網(wǎng)絡(luò)延遲較高,同時因為是競技游戲,對游戲的準(zhǔn)確性更高,針對以上四種基本的同步方式,第4種方式較適合當(dāng)前游戲和結(jié)構(gòu)。三、 移動同步當(dāng)前游戲是采用W、A、S、D控制移動,鼠標(biāo)移動和
5、點擊控制方向的模式。移動時同步主要是同步按鍵消息,方向的控制由于是鼠標(biāo)移動的方式,鼠標(biāo)位置時刻改變并使用玩家的朝向時刻改變,不適合改變即同步的方案,現(xiàn)采用一定頻率的方式進(jìn)行同步。1. 時間同步下圖為時間同步的時序圖:其中步驟2和步驟4為網(wǎng)絡(luò)傳輸時間,這兩個時間的不確定性導(dǎo)致計算出的服務(wù)器時間是不準(zhǔn)確的??梢钥紤]參考NTP(Network Time Protocal)協(xié)議的算法。同步的效果很多程序上依賴于此。時間校對有待進(jìn)一步優(yōu)化。2. 按鍵同步下圖為按鍵同步:客戶端按鍵發(fā)生改變時會將消息發(fā)送到服務(wù)器,服務(wù)器開始模擬移動并加上服務(wù)器端的時間戳并發(fā)送到客戶端,本地客戶端和遠(yuǎn)程客戶端接收到消息后開始移動。因為客戶端移動會落后于服務(wù)器,所以客戶端要作一定的預(yù)測,這里客戶端的預(yù)測關(guān)系到用戶的體驗,需要進(jìn)一步的測試
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人自助循環(huán)貸款合同范本
- 東莞抵押合同范本
- 申報課題書怎么寫
- 畜牧課題申報書范文
- 原材料海外采購合同范本
- 課題申報書樣板
- 光伏承建合同范本
- 公程合同范本
- 申報書課題設(shè)計論證
- 全面提升國際化水平的實施方案
- 英語板書設(shè)計(課件)
- 三年級勞動課1ppt
- 大數(shù)據(jù)在金融領(lǐng)域的應(yīng)用方案
- 建筑裝飾設(shè)計收費標(biāo)準(zhǔn)
- 智能中臺數(shù)據(jù)底座解決方案
- 《財政與金融》課程教學(xué)大綱
- 《國際稅收》教案
- 傳統(tǒng)體育養(yǎng)生概論
- 電力建設(shè)工程預(yù)算定額2006版
- 公益性崗位保潔員保證書
- 行政許可執(zhí)法案卷自評表
評論
0/150
提交評論