2012-05-08 86 views
2

我一直在思考最近進入網絡實時,快節奏的遊戲。看起來,如果你插值正確,那麼命中計算是在player2(p2)的點數爲(p1.interp + p2.interp + p1.ping/2 + p2.ping/2)查看射手是否爲player1(p1)。實時網絡遊戲,插值問題

數據包首先進入p1.ping/2的服務器,然後服務器根據發生p1.interp + p1.ping/2之前的遊戲狀態計算它。計算結果發送給player2,稍後只能看到p2.interp。由於三方都需要時間來處理事情,因此它進一步增加了。

player1   server    player2 
     |     |     | 
.------|_1.............actual.....|.....game state......| 
|  |     |^    | 
|intrp |_2    | |     | 
|  |     | |     | 
`----->|_3----ping/2  | |     | 
        `------|_4----ping/2  | 
            `------5_|-------. 
              |  | 
              6_| intrp| 
              |  | 
              7_|<------‘ 

對不起,我可憐的ASCII藝術技能,但我無法抗拒。
(我回到家,我安裝了Windows,我看到狗屎,它看起來在這裏,但希望你們的想法)

假設50毫秒平,100毫秒內插它爲我們提供了超過250毫秒總結。這意味着player2在過去被player1看到的時間大約爲250ms,但假設客戶預測的是他實時看到自己。我的邏輯是否有缺陷,或者這不是什麼大不了的事情?

+2

嗯,我試圖修復該ASCII。 :) –

回答

0

我發現this作爲related問題的答案。不知道這是否合適作爲答案,但我不能評論。

+0

那麼我的問題有點基於那篇文章。 – redka