游戏状态管理

要实现服务器权威,您可以在后端服务器上对完整的游戏状态进行建模。这意味着每个玩家客户端充当视窗,而服务器强制执行规则、验证和 作弊预防。您可以将游戏状态数据存储在云保存中,以确保游戏在客户端之间是持久性的,并且可以从任何点恢复。

服务器游戏状态管理是构建异步多人游戏的可靠方法,因为您利用云服务器作为真相来源,而客户端处理演示。客户端可以专注于流畅的 UI 和可视化,而服务器管理游戏玩法、完整性和同步。

象棋示例

对于像象棋这样的游戏,服务器可以在云代码和云保存中维护权威棋盘和棋子位置。当玩家进行移动时,他们的客户端会向云代码函数发送请求,参数包括

  • 游戏 ID
  • 移动的棋子
  • 起始位置
  • 结束位置

象棋游戏的云代码函数可以在每一回合执行以下操作

  1. 使用游戏 ID 从云保存中加载当前游戏状态。
  2. 验证是否是正确玩家的回合。
  3. 检查起始位置的棋子是否与请求匹配。
  4. 验证棋子是否可以合法地移动到结束位置。
  5. 移动棋子以更新棋盘状态。
  6. 计算棋子是否捕获对手的棋子。
  7. 检查将死,如果为真,则结束游戏。
  8. 将更新的棋盘状态保存到云保存中。
  9. 使用 推送消息 发出实时更新,以通知对手移动。
  10. 向玩家的客户端返回一个响应,表明云代码已处理移动。