多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php框架 > 框架設(shè)計 > 快速多人游戲(4) - 爆頭!(AKA延遲補(bǔ)償)

快速多人游戲(4) - 爆頭!(AKA延遲補(bǔ)償)

來源:程序員人生   發(fā)布時間:2016-06-25 08:45:27 閱讀次數(shù):3297次

原文鏈接:Fast-Paced Multiplayer (Part IV): Headshot! (AKA Lag Compensation)

介紹

從上1篇文章到現(xiàn)在已過了很久很久了(整整兩年!哦耶!),不過讓我開心的是收到了很多email來問我下1篇甚么時候更新,所以,這里就是更新了!這篇文章的主題可以稱作對延遲敏感事件的時間1致性,但是叫做爆頭好像更加炫酷 : )


回顧

總結(jié)1下前面3篇關(guān)于C-S模式文章:

1.服務(wù)器從客戶端收到帶有時間戳的輸入信息;

2.服務(wù)器處理輸入并且更新世界狀態(tài);

3.服務(wù)器以1定的頻率發(fā)送世界信息給所有客戶端;

4.客戶端發(fā)送輸入并且摹擬游戲的結(jié)果;

5.客戶端獲得世界的更新并且

1)將本身預(yù)測的狀態(tài)和服務(wù)器發(fā)送來的狀態(tài)進(jìn)行同步;

2)對所有的Entity進(jìn)行插值

從1個玩家的角度,有兩個重要的影響

1.玩家看到自己是當(dāng)前的;

2.玩家看到他人是過去的;

這其實(shí)并沒有甚么大不了的問題,但是對時間和空間非常敏感的事件就會造成很大的問題;比如在射擊游戲中爆掉敵人的頭!


延遲補(bǔ)償

假定你現(xiàn)在正用你的狙擊步槍完善地瞄準(zhǔn)目標(biāo)的頭部,然后你射擊 - 你覺得這1發(fā)你絕對不可能有失誤,但是你并沒有打中。

到底產(chǎn)生了甚么?

緣由就在于我們之前說的權(quán)威服務(wù)器架構(gòu)中,你瞄準(zhǔn)的敵人的頭部實(shí)際上是100ms之前的位置 - 其實(shí)不是你射擊的那個時刻!

就像在1個速度非常非常慢的世界,你瞄準(zhǔn)的是敵人過去的某個位置,當(dāng)你扣動扳機(jī)的時候,它已跑得非常遠(yuǎn)了。

比較榮幸的是有1個相對簡單的解決方案,對幾近所有的玩家都是友好的,下面來解釋1下它的工作流程:

1.當(dāng)你射擊的時候,客戶端將事件發(fā)送給服務(wù)器:里面還包括了時間戳還有你瞄準(zhǔn)時用的武器。

2.這是最關(guān)鍵的1步。由于服務(wù)器有所有包括時間戳的輸入,它能夠重建出任何過去某個世界的場景,特別的,它能夠重建出某個時間點(diǎn)所有玩家的場景。

3.這意味著服務(wù)器知道你武器的準(zhǔn)心里面某個片刻瞄準(zhǔn)的是甚么,它是敵人的過去某個時候頭部的位置,但是服務(wù)器知道在你當(dāng)前的時刻,那個位置也是你瞄準(zhǔn)的位置。

4.服務(wù)器即時處理掉這個時間點(diǎn),然后更新所有客戶端。


所有人都很開心!

服務(wù)器由于它是服務(wù)器而開心。它總是開心的。

你瞄準(zhǔn)了敵人的頭,設(shè)計,然后取得了1發(fā)爆頭,你也很開心。

敵人多是唯逐一個不那末開心的,如果他1直站在那被你打中了,那是他的錯,不是嗎?但是如果他是1直運(yùn)動的...哇!你真的是1個超級狙擊手!

但是如果在1個開放的地方,然后躲在1堵墻的后面,當(dāng)他以為他安全的時候還是再幾分之1秒以后被殺了,這咋辦呢?

好吧,這確切會產(chǎn)生,這是你要做出的妥協(xié)。由于你射擊的是過去的他,它可能在幾萬分之1秒前還沒躲到墻后呢。

這或許有點(diǎn)不公平,但是這是所有人最可接受的解決方案了,這可比沒法爆頭好多了!


結(jié)論

這是我的“快速多人游戲系列“文章的最后1篇了。多人游戲這類東西都是比較tricky的,但是如果你對所有事都了如指掌的話,它其實(shí)不是超級難。

雖然這些文章是寫給游戲開發(fā)者看的,但是還有1群人感興趣的讀者:玩家!從游戲玩家的角度,去了解事情是怎樣產(chǎn)生的也是蠻有趣的。


延伸瀏覽

這些技術(shù)都非常利害,我并沒甚么大不了的,這些文章只是我對學(xué)來的知識的1些簡單的理解,包括1些論文和源碼,還有1些實(shí)驗(yàn)。

和這個主題最有關(guān)的1些文章是

What Every Programmer Needs to Know About Game Networking 

Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization.

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 日韩爱爱网站 | 欧美激情一级欧美精品 | 亚洲男人的天堂久久精品 | wwwww在线观看| 亚洲自拍成人 | 中文字幕亚洲专区 | 国产精品第4页 | 国产日韩一区在线精品欧美玲 | 理论亚洲区美一区二区三区 | 欧美猛交xxxx免费看 | 亚洲国产欧美在线成人aaaa | 亚洲视频自拍偷拍 | 尤物yw午夜国产精品视频 | 综合久久久久 | 日本欧美强乱视频在线 | 一级毛片a免费播放王色 | 永久免费看片 | 日韩福利在线 | 娇小老少配xxxxx性视频 | 日韩欧美国产中文 | 性加拿大高清xxxxx | 中文字幕在亚洲第一在线 | 亚州毛色毛片免费观看 | 国产成人精品视频在放 | 国产成人精品一区二区 | 91亚洲精品一区二区福利 | 日韩一区国产二区欧美三区 | 呦视频在线一区二区三区 | 精品国内视频 | 免费欧美一级 | 在线影院福利 | 亚洲小说区图片区 | 五月天视频在线 | 欧美一级毛片日韩一级 | 性色va| 亚洲精品中文字幕乱码无线 | 男女上下爽无遮挡午夜免费视频 | 欧美激情二区 | 久久一区不卡中文字幕 | 68久久久久欧美精品观看 | 国产成人女人视频在线观看 |