【问题标题】:Game Network physics Sync with Objective C and Box2d与 Objective C 和 Box2d 的游戏网络物理同步
【发布时间】:2011-10-23 02:39:16
【问题描述】:

我有一个适用于 iphone 的桌上曲棍球游戏,现在我正在做它的多人游戏部分。我决定开始比赛的 iphone 是服务器。

物理在服务器和客户端上运行,因此客户端看起来很流畅而不是“跳跃”,因为它是一款非常快的游戏。

服务器向客户端发送恒定消息,因此客户端可以调整其位置和速度。问题是有时客户端会因为延迟而跳回原位。

我已经在客户端和服务器上完成了时钟同步,所以我可以通过时钟差和服务器发送的速度来补偿 X 和 Y 位置。问题是它看起来有点跳动。我怎样才能同步这个东西?我一直在尝试各种东西,但似乎都不起作用。

谢谢。

【问题讨论】:

  • Game Development 上可能有很好的信息。
  • @JoshCaswell,不是真的,那里的大多数答案都是真的肤浅的。

标签: objective-c networking synchronization box2d


【解决方案1】:

您正在描述客户端/服务器游戏状态同步的一个众所周知的问题。引用this article:

客户端预测中最复杂的部分是处理 来自服务器的更正。这很困难,因为更正 由于客户端/服务器通信,从服务器到达过去 潜伏。我们需要在过去应用这个修正,然后计算 当前在客户端上生成的更正位置。

看看那篇文章,尤其是标题为“客户端预测”的部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-10
    • 1970-01-01
    • 1970-01-01
    • 2013-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多