游戏网络物理与目标C和Box2d同步

问题描述:

我有一个iphone的桌上曲棍球游戏,现在我正在做它的多人游戏部分。我决定启动比赛的iphone是服务器。游戏网络物理与目标C和Box2d同步

物理运行在服务器和客户端上,所以客户端看起来保持平稳,因为它是一个非常快的游戏,所以不会“跳动”。

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

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

谢谢。

+0

在[gamedev.se]上可能找到了很好的信息。 –

+0

@JoshCaswell,不是真的,大部分答案都*真*浅。 –

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

客户端预测最复杂的部分是处理来自服务器的 更正。这很难,因为来自服务器的更正 由于客户端/服务器通信 延迟而在过去到达。我们需要在过去应用此更正,然后计算 由此产生的当前客户端的更正位置。

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