首页 > 解决方案 > Node.js 客户端-服务器游戏,服务器应该运行循环吗?

问题描述

我得到了我的第一个 node.js 演示,它允许多个人在同一个 html 画布上控制一个角色。左上角出现一个角色,您可以使用箭头键四处走动。

由于我只是将输入发送到服务器,然后将其转发给所有客户端而不做任何其他事情,我最终意识到客户端很容易不同步。

我做了很多关于同步网络游戏的阅读,但有些东西让我有点困惑。据我了解,游戏应该在服务器上运行,并且应该向游戏状态的客户端发送“快照”。

我在这里感到困惑的是服务器方面。就在画布上绘制所有内容而言,服务器是否应该运行实际游戏?还是只做除了绘图之外的所有事情,只运行更新,然后每 X 毫秒发出游戏状态?

在我的客户端,我使用 requestAnimationFrame 进行循环。如果情况是服务器只是运行一个带有游戏逻辑的循环,我是否只是尝试将 requestAnimationFrame 与服务器上的 setInterval 匹配?这是真正让我失望的部分。我应该如何在服务器上创建游戏循环?

感谢您花时间看这个

标签: node.jssynchronizationgame-engine

解决方案


推荐阅读