我正在开发一个统一手机游戏。这就像一个多人游戏版本的寺庙跑步。因为这个游戏是为了移动而设计的,所以通常会有200毫秒到500毫秒的波动延迟。 由于路径是预先确定的并且用户可以执行的操作受到限制(跳转,滑动,使用加电等),所以远程播放器继续在路径上运行,直到它从本地播放器接收到更新状态。 这个策略一般工作得很好,因为我只需要通过网络发送有限的数据量,但是我遇到了一些特殊的情况。 在游戏中,玩家死于特定的位置(障碍物)。 我希望远程玩家死于与本地玩家相同的障碍物/位置,但由于发送消息的延迟,远程玩家在收到死亡消息时越过障碍物。 有没有办法让玩家同步死亡。 我尝试过的一件事是将远程播放器移回本地播放器的死亡位置,但不仅视觉上看起来很尴尬,而且还会引发其他同步问题。 有没有其他更好的方法来做到这一点?Unity多人游戏播放器同步
1
A
回答
0
我可能会推荐的一种方法是让一个玩家像服务器一样行事(不是真正的服务器)。服务器播放器将执行所有计算,如移动,跳转,创建场景等。然后,服务器播放器将发送所有数据以与客户端播放器同步。客户端播放器获取数据并处理游戏状态。客户端播放器也可以将他的动作(左右跳片)发送给服务器播放器。这样,两个玩家将拥有相同的状态,比如位置,死亡。您还需要通过添加一些预测来处理延迟。
0
所以我实现的解决方案是我把所有的远程播放器都放在后面,这样他们就可以有足够的时间接收本地播放器在特定障碍上死亡的信息。最后还有一条直线路径,我只是再次同步球员。所以结果显示正确。
相关问题
- 1. 多人游戏 - 同步球
- 2. iPad多人游戏同步
- 3. 多人游戏同步
- 4. 如何同步播放服务实时多人游戏
- 5. 多人联网游戏中的同步?
- 6. 在多人游戏中同步AI NPCs
- 7. 多人游戏中的运动同步
- 8. 更改光强度Unity多人游戏
- 9. HTML5多人游戏浏览器游戏
- 10. 播放SWF游戏
- 11. 多人游戏玩家2人游戏
- 12. 多人游戏服务器
- 13. RTS HTML5游戏多人游戏 - 开始node.js服务器游戏
- 14. iPhone/iOS异步多人游戏框架?
- 15. 多人游戏:如何同步不同PC的FPS?
- 16. 如何在多人游戏中同步数据(游戏中心ios)
- 17. 谷歌播放实时多人游戏问题
- 18. 实时多人游戏谷歌播放服务
- 19. iOS游戏中心游戏不同步
- 20. 关闭记录播放器或游戏
- 21. 更改播放器在javascript游戏
- 22. 多个同步媒体播放器
- 23. UDK多人游戏?
- 24. MulticastSocket多人游戏
- 25. 多人Flash游戏
- 26. 多个AVPlayer同步播放
- 27. Unity - Google Play游戏服务关闭WaitingRoomUI()方法实时多人游戏?
- 28. 为RTS游戏实现多人游戏
- 29. 测试多人游戏中心游戏
- 30. Unity 2D - 如何在跑步游戏中放置障碍物?
有趣的问题 - 你能否澄清一下这句话:“我希望远程玩家死于与本地玩家相同的障碍/位置”? –