我正在制作一个双人3D游戏,需要同步远程玩家的位置。只有一个对象,代表玩家的化身,需要在两个游戏之间同步。
我认为这很简单,但事实证明,即使在本地网络中,远程玩家在两台不同的机器上玩游戏时也会卡顿地移动(同一机器上的两个游戏实例看起来很好)。
在当前的方法中,一个游戏是服务器,而另一个则充当客户端,通过专用端口以文本字符串的形式发送坐标。它们基本上是相互传输化身坐标,每次化身实际移动的时候。
你知道如何在发送/接收坐标时解决与滞后相关的问题吗?只需在本地网络上工作。
发布于 2011-04-25 12:31:18
Glenn "Gaffer“Fiedler关于Networking for Game Programmers的系列文章几乎是基本游戏网络编程的首选指南。他还有一篇关于Networked Physics的文章。
该系列文章中描述的许多技术(例如:可靠性)已经在Lidgren等库中为您实现。
基本上,你想要使用的技术是插值,外推和预测。在前面提到的系列中,this article中有对它们的很好的解释,另外还有网络物理。基本上,您可以获取不可靠的、滞后的位置数据流,并使用它来对对象的实际路径进行视觉上合理的估计。
https://stackoverflow.com/questions/5771951
复制相似问题