1

我正在使用 Unity 和 Android 的 AllJoyn 为两人开发一种 Pong-Game。该游戏使用 Unity 的内置物理功能。我是 Unity 网络编程的新手。作为切入点,我使用了 AllJoyn 的聊天示例。

我永久发送桨位置(x-Position 作为双值)。球的位置和速度在开始时发送,每次击球以保持比赛同步。

不幸的是,发送需要几秒钟(滞后)。以这种方式,球在更新位置和速度时跳跃。

如何获得与 AllJoyn 的最佳同步?如何加快信号的发送和接收?聊天示例代码作为多人游戏的入口点不是最优的吗?如果位置已发送,我目前正在研究更新功能。是否有其他解决方案可以知道其他球员何时发送包裹(球和桨位置)?AllJoyn 有什么技巧可以实现良好的多人同步?

我还尝试了完全由每个本地游戏实例控制的球的运动,并且仅依赖于跨设备更新的球拍位置。这里遇到了问题,因为桨位置的传输速度不够快。

你有一些提示给我,如何解决这个问题?谢谢!

4

1 回答 1

1

您应该尝试以 30 FPS(每秒 30 个数据包)的速率发送非常少量的数据。如果您的游戏以 60 FPS 运行,您应该每 2 帧发送一次。

许多设备会因为网络速度(甚至是 WiFi)而滞后,并且数据将被底层系统缓冲或挂起。

我希望这对你有帮助。

于 2013-07-29T20:57:10.563 回答