ゲーム状態管理
Model full game state on a backend server to enforce rules and validation, and prevent cheating.
読み終わるまでの所要時間 1 分最終更新 22日前
サーバー認証を実装するには、バックエンドサーバー上で完全なゲーム状態をモデル化します。これは、各プレイヤークライアントがビューポートとして機能し、サーバーがルール、検証、チート防止 を適用することを意味します。ゲーム状態データを Cloud Save に保存して、ゲームがクライアント間で永続化され、任意の時点から再開できるように設定できます。 サーバーゲームの状態管理は、クライアントがプレゼンテーションを処理する間、クラウドサーバーを正しい情報源として活用するので、非同期マルチプレイヤーゲームをビルドするための堅牢な方法です。クライアントは滑らかな UI と可視化に集中でき、サーバーはゲームプレイ、整合性、同期を管理します。
チェスの例
チェスのようなゲームの場合、サーバーは Cloud Code と Cloud Save で正式なボードと駒の位置を維持できます。プレイヤーが動かすと、クライアントは以下のようなパラメーターを使用して Cloud Code 関数にリクエストを送信します。- ゲーム ID
- 駒の移動
- 開始位置
- 終了位置
- ゲーム ID を使用して、Cloud Save から現在のゲーム状態をロードします。
- 正しいプレイヤーのターンであることを確認します。
- 開始位置にある駒がリクエストと一致していることを確認します。
- 駒が終了位置に正しく移動できることを確認します。
- 駒を動かしてボードの状態を更新します。
- その駒が相手の駒を取ったかどうかを計算します。
- チェックメイトを確認し、true の場合はゲームを終了します。
- 更新されたボードの状態を Cloud Save に保存します。
- プッシュメッセージ でリアルタイム更新を発信し、相手に動きを通知します。
- Cloud Code が移動を処理したというレスポンスをプレイヤーのクライアントに返します。