网络2D游戏的滞后补偿

时间:2010-12-18 16:04:32

标签: c++ networking

我想制作一款基本上是物理驱动的沙盒/活动游戏的2D游戏。虽然有些事情我真的不明白。从研究来看,似乎服务器的更新应该只有大约每100毫秒。我可以看到它对于一个玩家是如何工作的,因为它们可以同时模拟物理并通过插值进行滞后补偿。

我不明白这是如何适用于其他玩家的更新。如果客户每100毫秒只收到玩家位置的通知,我不知道它是如何工作的,因为很多事情可能在100毫秒内发生。玩家可以在那段时间内改变方向两次左右。我想知道是否有人会对这个问题有所了解。

基本上这对拍摄有什么作用呢?

由于

3 个答案:

答案 0 :(得分:2)

通常,会发生的事情是玩家将以100码的速度观看游戏。那,你必须接受一些游戏设计只需要更快的服务器更新。通常,需要更快服务器更新的游戏使用客户端/服务器模型,其中服务器计算所有物理,而不是客户端。您已经看到了传统的RTS模型 - peer2peer,缓慢更新。但是FPS游戏的传统模式是客户端/服务器,快速更新,出于这个原因。

答案 1 :(得分:1)

GameDev上有一个forum entry和一个multiplayer/network FAQ关于这个主题可能是一个很好的第一次阅读。

答案 2 :(得分:-1)

你必须设计你的游戏以考虑他的。例如,如果你正在拍摄一个可以突然移开目标的目标,只需要使用接近保险丝的炮弹,并在一段时间内制造大量噪音和漂亮的颜色,隐藏你的或你的玩家实际上都不知道他们是否击中的事实目标。

事实上,这与真实的物理学非常接近:需要时间来观察行动的后果。