クラウドセーブ入門
概要
AccelByte クラウドセーブは、任意のゲームデータ向けのストレージを JSON 形式で提供するサービスです。ゲームデータは、ゲームクライアント、ゲームサーバー、または管理者ポータルから、更新、置換、取得、削除できます。
クラウドセーブを活用することで次のものを保存できます。
- ゲームのテーマ設定
- イベント設定
- ゲーム情報やニュース
- プレイヤーのセーブデータ
- プレイヤーキャラクターの属性
- プレイヤーのゲーム設定
クラウドセーブサービスはさまざまなストレージシナリオをサポートしており、ゲームのストレージのニーズに合わせた複数のオプションを提供しています。
このセクションでは、クラウドセーブサービスのキーコンセプト、サポートされている機能、サービスを活用するためのベストプラクティスについて説明します。
キーコンセプト
できるかぎりシームレスな統合にするには、このサービスの設計に使用されているいくつかのキーコンセプトを理解することが重要です。
レコードのタイプ
ゲームデータは 2 種類のレコードの一方に保存されます。
- ゲームレコード:グローバルタイトル向けのゲームデータを保存するために使用します (ゲームの名前空間レベル)。たとえば、テーマ設定、イベント設定、ゲーム情報やニュース、同様のグローバルデータなどを保存します。
- プレイヤーレコード:特定のプレイヤー向けのゲームデータを保存するために使用します (ユーザーレベル)。たとえば、プレイヤーのセーブデータ、プレイヤーキャラクターのカスタマイズ、およびプレイヤーのゲーム設定などを保存します。
レコードキー
レコードの識別子またはタイトルとしてレコードキーを使用できます。ゲームとプレイヤーレコードのキーは一意である必要があります。
メタデータ
メタデータによって、ゲームクライアントまたはゲームサーバーは、クラウドセーブのレコードの動作を定義できます。レコードのメタデータは、リクエスト本文においてフィールド名__META
で定義されます。メタデータには、別途定義されていない場合、デフォルト値が割り当てられます。ゲームクライアントがサポートするのはクラウドセーブのレコードの一部ですが、ゲームサーバーは__META
で利用可能なすべてのことを定義できます。
レコードの書き込み権限 (set_by)
このメタデータはレコードを変更できるパーティを示します。このメタデータは、管理者エンドポイントでのみ使用できます。取りうる値は次のとおりです。
- Server:レコードはサーバーでのみ変更できる。
- Client:レコードはクライアントまたはサーバーのいずれかで変更できる。これがデフォルト値である。
レコードの読み取り権限 (is_public)
このメタデータはレコードが公開かどうか、また管理者エンドポイントと公開エンドポイントの両方で利用可能かどうかを示します。取りうる値は次のとおりです。
- Public:レコードは他のプレイヤーからアクセスできる。
is_public
フィールドに表示される値はTrue
になる。 - Private:レコードは他のプレイヤーからアクセスできない。
is_public
フィールドに表示される値はFalse
になる。
クラウドセーブサービスの追加検証
このセクションでは、クラウドセーブサービスのレコードは、ゲームクライアントとゲームサーバーからどのように作成、更新、削除されるのかを説明します。前のセクションで説明したset_by
フィールドとis_public
フィールドを使用して、別途検証を追加できます。以下の追加検証を理解すると、クラウドセーブサービスの動作とこれを最大限に活用する方法を理解しやすくなります。
読み取り権限に基づく (is_public)
管理者 | レコード所有プレイヤー | その他のプレイヤー | |
---|---|---|---|
公開 | 読み取り | 読み取り | 読み取り |
非公開 | 読み取り | 読み取り | なし |
書き込み権限に基づく(set_by)
ゲームレコード | プレイヤー | 管理者 |
---|---|---|
サーバー | なし | 変更 |
クライアント | 変更 | 変更 |
プレイヤーレコード | 管理者 | レコード所有プレイヤー | その他のプレイヤー |
---|---|---|---|
公開 | 変更 | なし | なし |
非公開 | 変更 | 変更 | なし |
ベストプラクティス
クラウドセーブサービスを使用する最適なシナリオは、ゲームクライアントやゲームサーバーから取得したり更新したりできるゲームの追加情報を保存する必要がある場合です。
特定のプレイヤー情報を保存する必要があるユースケースであれば、クラウドセーブで公開プレイヤーレコードを活用できます。
数値しか保存する必要ない場合、クラウドセーブを使う必要はなく、もしかするとさらなる統合が必要でした。これは、統計データ の値を利用でき、また、これらの値を他のサービスと、中でもリーダーボード、実績、マッチメイキングと統合できるためです。