共有グループ データは、ほとんどのケースでサーバー権限型で運用されることを想定して設計されており、以前のガイダンスでは、プレイヤーに読み取り/書き込み権限を与えることになる (不正行為の余地が生まれる) ため、プレイヤーを直接共有グループ データに追加しないことが推奨されていました。しかし、新しい API アクセス ポリシー により、元の設計と比べて機能とセキュリティに大幅な柔軟性が生まれています。詳細については、このドキュメントの詳細セクションを参照してください。
例: ターン制マルチプレイヤーの非同期ゲーム
共有グループ データの元来の、そして今でも最良の使用例は、オンライン ボード ゲームの状態を保存するものとして最もよく表現できます。プレイヤーは明確なターン順序で、CloudScript 経由でデータを変更する形で交代しながらプレイします。 プレイヤーはログオフして後でプレイを再開でき、ゲーム状態はクラウドに保存されます。 以下の CloudScript 例は、一般的なボード ゲーム向けのターン制構造です。ボード ゲーム自体は疑似コードとしてスタブ化されています。前提
このゲームを表す共有グループ データはすでに開始されており、そのメンバーシップもすでに定義されているものとします。重要な制限
- 共有グループ データ:
- 単純なキー/値ペア データ (文字列) のみを含みます。他のデータ型 (インベントリ アイテム、統計、仮想通貨など) として使用する場合、必要な変換はすべてタイトル側で行う必要があります。
- シャーディングもキャッシュもされないため、複数のプレイヤーから同時にアクセスされた場合、応答性は良くありません。共有グループ データを使う機能は、小規模なプレイヤー グループを想定して設計し、同時書き込みが発生しないようにする必要があります。
