关于更新my node.js游戏的问题

关于更新my node.js游戏的问题,node.js,multiplayer,lag,Node.js,Multiplayer,Lag,我正在制作一个小游戏,服务器使用node.js,客户端使用嵌入在HTML5画布中的.js文件。每个玩家都有一个可以用箭头键移动的物体 现在我有两种不同的方式来更新游戏,一种是每次游戏改变时都发送玩家的新位置。它工作正常,但我的服务器每秒必须处理大约60对x/y(客户端的更新速度为30/秒,有2名玩家不停地移动)。 第二种方法是,当玩家改变方向速度时,只发送玩家对象的新位置和速度/方向,因此基本上在其他客户端上,使用上次更新的方向/速度对玩家的移动进行插值。我的服务器只需处理很少的x/y7spee

我正在制作一个小游戏,服务器使用node.js,客户端使用嵌入在HTML5画布中的.js文件。每个玩家都有一个可以用箭头键移动的物体

现在我有两种不同的方式来更新游戏,一种是每次游戏改变时都发送玩家的新位置。它工作正常,但我的服务器每秒必须处理大约60对x/y(客户端的更新速度为30/秒,有2名玩家不停地移动)。 第二种方法是,当玩家改变方向速度时,只发送玩家对象的新位置和速度/方向,因此基本上在其他客户端上,使用上次更新的方向/速度对玩家的移动进行插值。我的服务器只需处理很少的x/y7speed/direction数据包,但是当数据包到达时,我的客户端会有一点延迟,因为插入的位置通常与数据包中写入的实际位置有一点距离


现在我的问题是:你会推荐哪种方法?对于这两种方法,我应该如何进行滞后补偿?

如果延迟较低,请从绘制对象的位置插入新位置。在低延迟情况下,它并没有表现出太大的差异

如果你有很高的延迟,你可以实现一种EPIC。

您还可以在Browser Quest中检查它是如何完成的。


祝你好运

这篇文章似乎是解决问题的好起点,但我仍然不理解解决方案的一点:))米哈伊,如果你理解C++,史诗库的来源是清楚的。只有两个带有注释的文件(Expabal.h和ExpalPoto.CPP)如果你不流畅C++,我可以努力解释它或实现它。我没有看源代码,只是读了你指出的那篇文章。算法的描述很短,我理解它有困难,但我相信它是有意义的。谢谢你的建议,我现在正在研究这个史诗般的东西,它可能会非常有用。