如何防止网络游戏中的位置跳跃?

时间:2011-04-26 14:04:37

标签: networking udp lag

我正在使用基于.net的游戏引擎和一个中间程序(使用可靠的udp)来处理位置和旋转传输。数据似乎正确传输但转移位置之间有跳跃(可能来自网络延迟)。我已经尝试放松这个位置,但是由于下一个位置来得相当晚,所以不起作用。我该怎么做才能防止或减少这种影响?

我也很欣赏在主题上使用.net(最好是c#)的一些实现。

2 个答案:

答案 0 :(得分:2)

插值和外推是你应该看的东西。 看一眼; http://en.wikipedia.org/wiki/Extrapolation

http://en.wikipedia.org/wiki/Interpolation

答案 1 :(得分:1)

我记得读过一篇关于the networking architecture in the Unreal Engine的精彩文章。我首先要尝试的一件简单事情是在网络帧之间模拟世界,以便世界时钟独立于网络时序。我想最大的收获就是做出一个很大的变化,比如杀死一个玩家 - 模拟玩家被击中只是为了接收一个网络更新,说玩家设法躲避子弹是一件令人失望的事。自从我阅读链接文章以来已经有一段时间了,但我相信你会在那里找到详细信息。