我正在开发一种Pong-Game,用于Unity和AllJoyn for Android的双人游戏。该游戏使用Unity的内置物理功能。我是Unity网络编程的新手。作为切入点,我使用了AllJoyn的聊天示例。
我永久发送球拍位置(x-Position为双倍值)。球的位置和速度在开始时被发送,并且每个击球都被击中以保持游戏同步。
不幸的是,发送需要几秒钟(滞后)。通过这种方式,球会在更新位置和速度时跳跃。
如何与AllJoyn实现最佳同步?如何加快信号的发送和接收?聊天示例代码是否是多人游戏的切入点不是最佳的?我目前正在调查更新功能,如果已发送位置。是否有其他解决方案可以知道何时从其他玩家发送包裹(球和球拍位置)? AllJoyn有一些技巧可以实现良好的多人游戏同步吗?
我还尝试过完全由每个本地游戏实例控制的球的移动,并且只依赖于跨设备更新的球拍位置。这就是问题所在,因为桨叶位置的传输速度不够快。
你有一些提示,如何解决这个问题?谢谢!
答案 0 :(得分:1)
您应该尝试以30 FPS(每秒30个数据包)的速率发送非常少量的数据。如果你的游戏以60 FPS运行,你应该每2帧发送一次。
由于网络速度(甚至是WiFi),许多设备都会滞后,并且数据将被底层系统缓冲或挂起。
我希望这对你有所帮助。