実績は、ゲームにおいてユーザー エンゲージメントを高めるための非常に有効な手段です。ゲームに実績を実装することで、普段は使用しないような機能を試したり、まったく異なるプレイスタイルでゲームに取り組んだりするようプレーヤーに促すことができます。実績は、プレーヤーがお互いの進行状況を比ベ合い、気軽に競争に参加して楽しむための手段にもなります。
プラットフォームに実績を実装する方法については、クライアントの実装をご覧ください。
属性
実績の仕組みを理解するには、実績に関連付けられているいくつかの属性について知っておく必要があります。
すべての実績に、以下の基本要素が関連付けられます。
- Id: Google Play Console によって生成される一意の文字列。この一意の ID を使用して、ゲーム クライアント内の実績を参照します。
- Name: 実績の短い名前(「パイマン」など)。値は 100 文字以内で指定できます。
- Description: 実績についての簡単な説明。通常は実績の獲得方法(「日没までにレモン メレンゲ パイを焼く」など)を説明します。500 文字まで設定できます。
- Icon: 実績に関連付ける正方形のアイコン。実績アイコンを作成する際のおすすめの方法については、アイコンのガイドラインのセクションをご覧ください。
- List order: ゲームに関連付けられている実績を表示するときに、ロックされた実績が表示される順序。任意の順序を指定できます。ロック解除された実績はリストの一番上に、達成された順に表示されます。
状態
実績は、次の 3 種類の状態のいずれかになります。
- 非公開の実績とは、詳細がまだプレーヤーに明らかにされていない実績です。Play ゲームサービスには、非公開の状態の実績用に、汎用プレースホルダの説明とアイコンが用意されています。ユーザーに知らせるのはまだ早い情報(「実は最初から幽霊だった」など)が含まれている場合は、実績を非公開にすることをおすすめします。
- 周知の実績とは、プレーヤーはすでに知っているが、まだ獲得していない実績です。ほとんどの実績は、最初から周知状態にします。
- 達成済みの実績とは、プレーヤーがすでに獲得した実績です。実績はオフラインでも達成できます。ゲームがオンラインになると、Play ゲームサービスと同期され、実績の達成済み状態が更新されます。
増分実績
実績には標準実績と増分実績があり、どちらにするかを指定できます。増分実績では一般に、プレーヤーは実績の獲得に向け、長い時間をかけて徐々に成果を上げていきます。プレーヤーが増分実績の獲得に向けて成果を上げたら、その進捗状況を Play ゲームサービスに報告します。
Google Play 開発者サービスは進捗情報を記録し、プレーヤーが実績の達成に必要な条件を満たすとゲームに通知して、目標に到達するまであとどの程度残っているのかについてプレーヤーに知らせます。
増分実績は、複数のゲーム セッションを通じて累積されます。進捗状況をゲーム内で削除またはリセットすることはできません。増分実績の条件として適切なのは、たとえば「50 ゲーム勝つ」といった条件です。「3 ゲーム連続で勝つ」という条件は、ゲームに負けたときに進捗状況がリセットされるため、適切ではありません。「ポーカーチップを 5,000 貯める」という条件も、勝敗によってチップが増減するため不適切です。後者 2 つの実績については、連勝回数やチップの合計を記録し、条件を満たしたときに標準実績を達成できることにするとよいでしょう。
増分実績を作成するときは、達成に必要な総ステップ数を 2~10,000 の間で定義する必要があります。ユーザーが実績の達成に向けて成果を上げたら、新たにクリアしたステップ数を Play ゲームサービスに報告する必要があります。総ステップ数が達成値に到達すると、その実績は(非公開の実績であっても)達成されます。ユーザーの進捗状況の累積値を保持する必要はありません。
ポイント
実績には、ポイント値が関連付けられています。プレーヤーのスコアは 5 の倍数にし、ゲームのすべての実績で合計 1,000 ポイントを超えないようにする必要があります。また、1 つの実績で 200 ポイントを超えないようにする必要もあります。
経験値(XP)の記録
プレーヤーは、Play ゲーム対応ゲームで実績を獲得すると、ゲーム プロフィールのレベルが上がります。また、実績に関連付けられているポイントごとに経験値(XP)を 100 ポイント獲得します。つまり:
XP for an achievement = 100 * (point value for the achievement)
Play Games サービスは各プレーヤーが獲得した XP を記録し、プレーヤーが「レベルアップ」できるだけのポイントを獲得すると、Google Play Games アプリに通知を送信します。プレーヤーは、Google Play Games アプリのプロフィール ページでレベルと XP の履歴を確認できます。
最小限の実績
実績を統合するゲームでは、公開する前に実績を少なくとも 5 つ用意する必要があります。実績が 5 つ未満でもテストは行えますが、ゲームを公開する前に実績を少なくとも 5 つ作成することをおすすめします。
最大限の実績
実績の数は、ポイントの上限と配分によって制限されます。最大ポイント数が 1,000 で、各実績に 5 ポイントを割り当てる場合、実績の最大数は 200 です。しかし、実績に割り当てるポイントを多くすると、そのぶん実績の数が減ります。
アイコンのガイドライン
アイコンは、512 x 512 の PNG ファイルまたは JPG ファイルとして作成する必要があります。提供する必要があるアイコンは、達成した実績のアイコンのみです。周知のアイコンについてはグレースケール バージョンが自動的に生成されます。そのため、周知の実績と達成した実績を簡単に区別できるよう、実績アイコンをカラフルにすることをおすすめします。
Android トーストで実績アイコンを表示すると、アイコンは円で囲まれ、外側の角は表示されなくなります。このような状態でも、アイコンがきれいに表示されることを確認してください。
すべての言語 / 地域で同じアイコンが使用されるため、アイコンにテキストやローカライズされたコンテンツを含めることはおすすめしません。
実績を作成する
このセクションでは、新しいゲームと公開中のゲームの実績を作成する方法について説明します。
新しいゲーム
新しい未公開のゲームの実績を作成するには、[ゲームサービスを使用したゲーム] タブにあるゲームの Google Play Console エントリに移動します。
左側にある [実績] タブを選択し、[実績を追加] ボタンをクリックします。
次に、この実績に必要な情報を入力します。
[保存] をクリックすると、実績が「公開準備完了」モードになります。ゲームを公開すると、一緒にゲームの実績がすべて公開されます。
公開中のゲーム
すでに公開されているゲームに追加する実績を作成する場合も、手順は同様です。ただし、[保存] ボタンが [未公開として保存] になり、実績が「テスト準備完了」モードになる点が異なっています。ゲームの更新版のテストについては、ゲームの変更の公開に関するページをご覧ください。
実績をテストして問題がなければ、新しい実績とともにゲームを再公開し、世界中に配信できます。
実績を編集する
作成済みの実績を編集するには、Google Play Console の [実績] タブで、実績を選択します。このとき、最初に実績を作成したときと同じフォームが表示され、任意のフィールドを編集できます。
実績の編集が完了したら、[未公開として保存] ボタンをクリックします。新たに編集した実績が「テスト準備完了」モードになり、テストできるようになります。正常に動作したら、プルダウン リストから [再公開] を選択します。これにより、編集したすべての実績とともにゲームが再公開されます。
編集を元に戻す
現在の実績に問題があり、以前の状態に戻す場合は、Google Play Console のプルダウン リストから [元に戻す] を選択すると、すべての実績が以前公開していたバージョンに戻ります。
実績を削除する
いったん公開した実績は削除できません。
公開前の状態であれば、実績のフォームの下部にある [削除] ボタンをクリックすることで削除できます。
実績をリセットする
未公開の実績であれば、プレーヤーの進行状況のデータをリセットできます。
- Google Play Console で実績をリセットするには、イベントのフォームの下部にある [実績の進行状況をリセット] ボタンをクリックします。
- 実績データをプログラムでリセットするには、Management API の
Achievements
メソッドを呼び出します。
実績の翻訳を追加する
ゲームに関連付けられている実績に、独自の翻訳を指定できます。その場合はまず、ゲームの翻訳の追加に記載されている手順を完了してください。また、ゲームの実績を 1 つ以上作成しておく必要があります。
実績の独自の翻訳を追加するには、Google Play Console でゲームの [実績] タブを開き、既存の実績を選択します。実績の詳細ページで、以前に [ゲームの詳細] タブで追加した言語のタブを選択します。その言語の実績の詳細ページにあるフォームで、実績の翻訳を編集します。[保存] をクリックして、翻訳済みの実績の詳細を保存します。
クライアントの実装
プラットフォームの実績を実装する方法については、以下のリソースをご覧ください。