【发布时间】:2012-12-29 09:47:18
【问题描述】:
我正在使用 Unity 和适用于 Android 的 AllJoyn 为两人开发一种 Pong-Game。该游戏使用 Unity 的内置物理功能。我是 Unity 网络编程的新手。作为切入点,我使用了 AllJoyn 的聊天示例。
我永久发送桨位置(x-Position 作为双值)。球的位置和速度在开始时发送,每次击球以保持游戏同步。
不幸的是,发送需要几秒钟(滞后)。这样小球就会在更新位置和速度时跳跃。
如何获得与 AllJoyn 的最佳同步?如何加快信号的发送和接收?聊天示例代码作为多人游戏的入口点不是最优的吗?如果位置已发送,我目前正在研究更新功能。是否有其他解决方案可以知道其他球员何时发送包裹(球和桨位置)? AllJoyn 有什么技巧可以实现良好的多人同步?
我还尝试了完全由每个本地游戏实例控制的球运动,并且仅依赖于跨设备更新的球拍位置。这里就出现了问题,因为桨位的传输速度不够快。
你有什么建议给我,如何解决这个问题?谢谢!
【问题讨论】:
-
我们需要看一些示例代码。乍一看,当您提到发送 pos 时。和 vel.,听起来你正在将网络与帧率联系起来。我建议阅读Unity's networking docs 和Valve's post on network prediction
标签: android network-programming unity3d multiplayer alljoyn