游戏状态管理
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
- 移动的棋子
- 起始位置
- 结束位置
- 使用游戏 ID 从 Cloud Save 加载当前游戏状态。
- 确认这是否是正确玩家的回合。
- 确认起始位置上的棋子与玩家请求的棋子类型相符。
- 验证棋子可以合法移动到结束位置。
- 移动棋子以更新棋盘状态。
- 计算该棋子是否吃掉对手的棋子。
- 检查是否将死,若是则结束游戏。
- 将更新后的棋盘状态保存至 Cloud Save。
- 通过推送消息发出实时更新以通知对手此棋步。
- 向玩家的客户端返回 Cloud Code 已处理此棋步的响应。