游戏状态管理
要实现服务器权威,您可以在后端服务器上对完整的游戏状态进行建模。这意味着每个玩家客户端充当视窗,而服务器强制执行规则、验证和 作弊预防。您可以将游戏状态数据存储在云保存中,以确保游戏在客户端之间是持久性的,并且可以从任何点恢复。
服务器游戏状态管理是构建异步多人游戏的可靠方法,因为您利用云服务器作为真相来源,而客户端处理演示。客户端可以专注于流畅的 UI 和可视化,而服务器管理游戏玩法、完整性和同步。
象棋示例
对于像象棋这样的游戏,服务器可以在云代码和云保存中维护权威棋盘和棋子位置。当玩家进行移动时,他们的客户端会向云代码函数发送请求,参数包括
- 游戏 ID
- 移动的棋子
- 起始位置
- 结束位置
象棋游戏的云代码函数可以在每一回合执行以下操作
- 使用游戏 ID 从云保存中加载当前游戏状态。
- 验证是否是正确玩家的回合。
- 检查起始位置的棋子是否与请求匹配。
- 验证棋子是否可以合法地移动到结束位置。
- 移动棋子以更新棋盘状态。
- 计算棋子是否捕获对手的棋子。
- 检查将死,如果为真,则结束游戏。
- 将更新的棋盘状态保存到云保存中。
- 使用 推送消息 发出实时更新,以通知对手移动。
- 向玩家的客户端返回一个响应,表明云代码已处理移动。