メインコンテンツまでスキップ

Introduction to Cloud Save

Last updated on September 20, 2023

概要

AccelByte クラウドセーブは、任意のゲームデータ向けのストレージを JSON 形式で提供するサービスです。ゲームデータは、ゲームクライアント、ゲームサーバー、または管理者ポータルから、更新、置換、取得、削除できます。

クラウドセーブを活用することで次のものを保存できます。

  • ゲームのテーマ設定
  • イベント設定
  • ゲーム情報やニュース
  • プレイヤーのセーブデータ
  • プレイヤーキャラクターの属性
  • プレイヤーのゲーム設定

クラウドセーブサービスはさまざまなストレージシナリオをサポートしており、ゲームのストレージのニーズに合わせた複数のオプションを提供しています。

このセクションでは、クラウドセーブサービスのキーコンセプト、サポートされている機能、サービスを活用するためのベストプラクティスについて説明します。

キーコンセプト

できるかぎりシームレスな統合にするには、このサービスの設計に使用されているいくつかのキーコンセプトを理解することが重要です。

レコードのタイプ

ゲームデータは 2 種類のレコードの一方に保存されます。

  1. ゲームレコード:グローバルタイトル向けのゲームデータを保存するために使用します (ゲームの名前空間レベル)。たとえば、テーマ設定、イベント設定、ゲーム情報やニュース、同様のグローバルデータなどを保存します。
  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)

ゲームレコードプレイヤー管理者
サーバーなし変更
クライアント変更変更
プレイヤーレコード管理者レコード所有プレイヤーその他のプレイヤー
公開変更なしなし
非公開変更変更なし

ベストプラクティス

クラウドセーブサービスを使用する最適なシナリオは、ゲームクライアントやゲームサーバーから取得したり更新したりできるゲームの追加情報を保存する必要がある場合です。

特定のプレイヤー情報を保存する必要があるユースケースであれば、クラウドセーブで公開プレイヤーレコードを活用できます。

数値しか保存する必要ない場合、クラウドセーブを使う必要はなく、もしかするとさらなる統合が必要でした。これは、統計データ の値を利用でき、また、これらの値を他のサービスと、中でもリーダーボード、実績、マッチメイキングと統合できるためです。