我正在開發使用Libgdx的流行遊戲Pong的在線版本。我已經開始使用Google的Realtime Multiplayer服務在玩家之間發送遊戲數據,但我無法弄清楚如何解決我面臨的同步問題。如何同步播放服務實時多人遊戲
此時發送的信息是玩家的槳,所以當我移動時,我將新的位置發送給對手。當對手收到它時,時間已經過去並且同步丟失。
我知道在使用最慢連接的移動之間應該有一些等待時間,但是如何讓它看起來平滑呢?
我正在開發使用Libgdx的流行遊戲Pong的在線版本。我已經開始使用Google的Realtime Multiplayer服務在玩家之間發送遊戲數據,但我無法弄清楚如何解決我面臨的同步問題。如何同步播放服務實時多人遊戲
此時發送的信息是玩家的槳,所以當我移動時,我將新的位置發送給對手。當對手收到它時,時間已經過去並且同步丟失。
我知道在使用最慢連接的移動之間應該有一些等待時間,但是如何讓它看起來平滑呢?
這個問題並沒有明確的答案,但有很多策略讓人們適應解決這種情況。
從使用UDP協議開始(如果你使用基於套接字的通信,我會推薦你,因爲每個ms都在實時遊戲中很重要,我認爲google api有UDP,這是不可靠的消息傳遞。 -api)用於消息交換到插值,航位推測,客戶端預測等等。
這是一個非常大的話題在這裏回答。當我製作我的多人坦克遊戲時,我做了一些事情讓事情看起來更平滑。
我提到的觀點描述了我在我的遊戲中所做的事情,但可以在任何情況下使用。雖然我會建議你閱讀本網站上的文章,名字叫做Gaffer on Games
這個領域又很大,沒有答案可以幫助你。我在這個話題上做了論文,但仍不能給你一個明確的答案。您將不得不閱讀大量文章,並根據您的需求建模您的學習內容。
您需要使用某種類型的Animation Interpolation
這將意味着槳不「瞬移」到新的位置,但慢慢地開始移動有,在接收到新的位置後。