我想用权威服务器构建一个 2 人回合制游戏来管理游戏状态/逻辑。我想到的流程是这样的:
- 玩家订阅了一个独特的游戏频道(通过 pubnub/pusher/类似的东西)
- 玩家通过 HTTP 直接向游戏服务器提交他们的回合
- 服务器运行游戏逻辑并将结果发布到游戏的频道(两个玩家都订阅)
- 客户端处理响应并呈现结果
- 对接会有点让我困惑。有什么建议么?
这是在这种情况下使用发布/订阅服务的“正确”方式吗?有没有更好的方法(除了不断地轮询服务器)?
我想用权威服务器构建一个 2 人回合制游戏来管理游戏状态/逻辑。我想到的流程是这样的:
这是在这种情况下使用发布/订阅服务的“正确”方式吗?有没有更好的方法(除了不断地轮询服务器)?
这是我们办公室的热门话题!我一直使用 PubNub 作为权威的游戏服务器,使用创造性的频道名称选择。它是这样工作的:
你的提议听起来不错,是“正确”的方式。您面临的挑战是从计算机时代开始就共享的,在这个时代,同步数据是多个设备(例如移动智能手机)之间的要求。轮询缓慢且昂贵(对大量玩家来说没有意义)。多人游戏是一个很好的例子,需要配对玩家并提供游戏室。您的解决方案是:
您可以使用 Socket.IO 等产品和其他一些开源选项来解决这一技术挑战。但是,您只想构建您的游戏,而不是专注于部署 Node.JS 服务器并将其连接到 Express。
而是使用PubNub、PusherApp 或 Beacon Push 等云服务。利用 Pub/Sub API 在多人游戏环境中轻松同步用户。