- この記事は、Google Playゲームサービスに関する記事を和訳したものです。
- 原文: Saved Games
- 元記事のライセンスは CC-BYで、この和訳記事のライセンスは CC-BYです。
- 自己責任でご利用ください。
- 和訳した時期は 2019年7月ころです。
セーブドゲームサービスは、あなたのプレイヤーのゲームの進行を Googleのサーバーに保存するための便利な方法を提供します。 あなたのゲームは、戻ってきたプレイヤーが任意の端末からの彼らの最後のセーブポイントでゲームを継続できるように、セーブドゲームのデータを取得することができます。
セーブドゲームサービスは、複数の端末間でのプレイヤーのゲームデータを同期させることができます。 例えば、もし Android上で動作するゲームがあるならば、プレイヤーが彼らの Android携帯電話上でゲームを開始し、そしてそれから、彼らの進行状況を何も失うことなくタブレット上でプレイを続けることをできるようにするために、セーブドゲームサービスを使用することができます。 さらには、このサービスは、プレイヤーの端末が紛失し、破壊され、あるいは新しいモデルのために下取りされても、プレイヤーのゲームプレイを中断したところから継続することを保証するために使用することができます。
あなたのプラットフォーム用のセーブドゲームを実装する方法については、クライアントの実装を参照してください。
セーブドゲームの基本
セーブドゲームは 2つの部分で構成されています:
- 非構造化されたバイナリのブロブ - このデータはあなたが選択したものは何でも表すことができ、あなたのゲームは、それを解析し、書き込むことに対して責任があります。
- 構造化されたメタデータ - バイナリデータに関連付けられた追加のプロパティで、それは、Google Playゲームサービスが視覚的にデフォルトのセーブドゲームのリストユーザインターフェイス(UI)にて掲示できるようにし、Google Play Games appにて有用な情報(例えば、最終更新のタイムスタンプ)を提示できるようにします。
ゲームは、ユーザクォータを条件として、単一のプレイヤーのために任意の数のセーブドゲームを書き込むことができるので、プレイヤーを単一のセーブファイルに制限するハード要件はありません。
カバー画像
セーブドゲームサービスは永続化機能に加えて視覚的なユーザエクスペリエンスを提供します。 セーブファイルに対応した代表的な画像を関連づけることが強く奨励されています。 もし、あなたのゲームで Playゲーム SDKによって提供されたデフォルトのセーブドゲームのリストのユーザインタフェース(UI)を使用しているならば、UIはこれらのカバー画像を表示するでしょう。 さらには、カバー画像が Google Play Games appにて表示されるかもしれません。
説明
特定のセーブドゲームのコンテンツの短いテキスト記述を提供することができます。 この記述は直接プレイヤーに表示されます、また、セーブドゲームが表す状態を要約する必要があります; 例えば、“Fighting the Goblins in the Dark Woods” です。
クォータ
開発者はクラウドに格納されたいかなるセーブドゲームのデータに課金されません。 代わりに、このデータはプレイヤーの Google Driveのクォータに対してカウントされます - あなたはそれを心配する必要はありません。 ゲーム開発者が気にする必要がある唯一のクォータは、彼らの Google Drive APIのクォータです。
読み込み/書き込みの隔離
すべてのセーブドゲームは、あなたのプレイヤーの Google Driveアプリケーションのデータフォルダに格納されます。 このフォルダはあなたのゲームでのみ読み込みされ、また書き込みされることができます - 他の開発者のゲームによって表示され、あるいは修正されることはできないので、データの破損に対して追加の保護があります。 さらに、プレイヤーは個別のセーブドゲームを修正することができないので、セーブドゲームはプレイヤーによる直接のタンパーから隔離されています。
オフラインサポート
あなたのゲームは、プレイヤーの端末がオフラインのときに、まだ、セーブドゲームを読み込み、書き込むことができます、しかし、ネットワーク接続が確立されるまでは、Google Playゲームサービスと同期することができないでしょう。 ひとたび再接続されたならば、Google Playゲームサービスは Googleのサーバ上のセーブドゲームのデータを非同期的に更新します。
競合の解決
セーブドゲームサービスを使用しているとき、あなたのゲームはデータを保存しようとするときに競合に遭遇するかもしれません。 これらの競合は、ユーザが別の端末やコンピュータ上であなたのアプリケーションの複数のインスタンスを実行しているときに発生する可能性があります。 あなたのアプリケーションはこれらの競合を最高のユーザエクスペリエンスを提供する方法で解決できなければなりません。
一般的に、データの競合は、あなたのアプリケーションのインスタンスがデータを読み込み、あるいは、保存しようとしている間に、セーブドゲームサービスに到達できなかったときに発生します。 一般に、競合を避けるための最善の方法は、あなたのアプリケーションがスタートアップあるいは再開したとき、常にサービスから最新のデータを読み込み、適切な頻度とともにサービスにデータを保存することです。 しかしながら、データの競合を回避することは常に可能ではありません。 あなたのアプリケーションは、あなたのユーザのデータが保存され、彼らが良いエクスペリエンスを持つように、競合を処理するためにあらゆる努力をする必要があります。
制限
Google Playゲームサービスは、現在、バイナリデータとカバー画像のサイズについてそれぞれ 3MBと 800KBのサイズの制限を適用しています。
セーブドゲームのメタデータ
セーブドゲーム用の構造化されたメタデータはこれらのプロパティを含みます:
プロパティ | 説明 |
---|---|
ID | このセーブドゲーム用に Google Playゲームサービスによって生成された一意の文字列。 あなたのゲームのクライアントにてセーブドゲームゲームを参照するためにこの IDを使用します。 |
Name | セーブドゲーム用に開発者が与えた短い名前、例えば、 "Save slot 1" あるいは "PlayerName_Save1" です。 これはプレイヤーには示されません。 |
Description | 開発者によって提供されたセーブドゲームの説明。 |
Last modified | セーブドゲームが最後に更新されたときに、Google Playゲームサービスによって生成されたミリ秒単位のタイムスタンプ。 |
Played time | セーブドゲーム上に表示される開発者が与えた時間(ミリ秒単位)。 この値はプレイヤーが対応したセーブドゲームをどれくらいプレイしているかを表している必要があります。 例えば、3600000というプレイ時間の値は、"1 hr" として Google Playゲームサービスによって表示されるでしょう。 |
Cover image | これはオプションです、それは、カバー画像についての情報を含んだ、開発者によって提供されたプロパティです。 |
クライアントの実装
あなたのプラットフォーム用のセーブドゲームを実装する方法については、次のリソースを参照してください: