我正在为服务器使用 node.js 和为客户端嵌入 HTML5 画布中的 .js 文件制作一个小游戏。每个玩家都拥有和对象,他们可以用箭头键移动。
现在我做了两种不同的更新游戏的方式,一种是在玩家每次改变时发送新的位置。它有效,但我的服务器必须每秒处理大约 60 个 x/y 对(客户端的更新速率为 30/秒,并且有 2 个玩家不停地移动)。第二种方法是只在玩家对象改变方向速度时发送新的位置和速度/方向,所以基本上在其他客户端上,玩家的移动是使用上次更新的方向/速度插值的。我的服务器只需要处理很少的 x/y7speed/direction 数据包,但是当数据包到达时,我的客户经历了一点延迟,因为插值位置通常与数据包中写入的实际位置有一点距离。
现在我的问题是:你会推荐哪种方法?我应该如何对这两种方法进行延迟补偿?