文档

支持

Cloud Code

游戏状态管理

Model full game state on a backend server to enforce rules and validation, and prevent cheating.
阅读时间2 分钟最后更新于 1 个月前

为了实现服务器权威,您可以在后端服务器上建模完整的游戏状态。这意味着每个玩家客户端都充当视口,而服务器则强制执行规则、验证和预防作弊。您可以将游戏状态数据存储在 Cloud Save 中,以确保游戏在客户端之间具有持久性并可以从任何点恢复。 服务器游戏状态管理是构建异步多人游戏的一种强大方法,因为您可以利用云服务器作为可信来源,而客户端处理演示。客户端可以专注于流畅的 UI 和可视化效果,而服务器则管理游戏玩法、完整性和同步。

国际象棋示例

对于像国际象棋这样的游戏,服务器可以在 Cloud Code 和 Cloud Save 中保存权威的棋盘和棋子位置。当玩家移动棋子时,他们的客户端会向 Cloud Code 函数发送请求,包括如下参数:
  • 游戏 ID
  • 移动的棋子
  • 起始位置
  • 结束位置
国际象棋游戏的 Cloud Code 函数可以在每个回合执行以下操作:
  1. 使用游戏 ID 从 Cloud Save 加载当前游戏状态。
  2. 确认这是否是正确玩家的回合。
  3. 确认起始位置上的棋子与玩家请求的棋子类型相符。
  4. 验证棋子可以合法移动到结束位置。
  5. 移动棋子以更新棋盘状态。
  6. 计算该棋子是否吃掉对手的棋子。
  7. 检查是否将死,若是则结束游戏。
  8. 将更新后的棋盘状态保存至 Cloud Save。
  9. 通过推送消息发出实时更新以通知对手此棋步。
  10. 向玩家的客户端返回 Cloud Code 已处理此棋步的响应。