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