【问题标题】:Unity3D with AllJoyn: Multiplayer-Game SynchronizationUnity3D with AllJoyn:多人游戏同步
【发布时间】:2012-12-29 09:47:18
【问题描述】:

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

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

不幸的是,发送需要几秒钟(滞后)。这样小球就会在更新位置和速度时跳跃。

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

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

你有什么建议给我,如何解决这个问题?谢谢!

【问题讨论】:

标签: android network-programming unity3d multiplayer alljoyn


【解决方案1】:

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

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

希望对你有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多