実績

実績は、ゲームにおいてユーザー エンゲージメントを高めるための非常に有効な手段です。ゲームに実績を実装することで、普段は使用しないような機能を試したり、まったく異なるプレイスタイルでゲームに取り組んだりするようプレーヤーに促すことができます。実績は、プレーヤーがお互いの進行状況を比ベ合い、気軽に競争に参加して楽しむための手段にもなります。

プラットフォームに実績を実装する方法については、クライアントの実装をご覧ください。

属性

実績の仕組みを理解するには、実績に関連付けられているいくつかの属性について知っておく必要があります。

すべての実績に、以下の基本要素が関連付けられます。

  • Id: Google Play Console によって生成される一意の文字列。この一意の ID を使用して、ゲーム クライアント内の実績を参照します。
  • Name: 実績の短い名前(「パイマン」など)。値は 100 文字以内です。
  • Description: 実績についての簡単な説明。通常は実績の獲得方法(「日没までにレモン メレンゲ パイを焼く」など)を説明します。500 文字まで設定できます。
  • Icon: 実績に関連付ける正方形のアイコン。実績アイコンを作成する際のおすすめの方法については、アイコンのガイドラインのセクションをご覧ください。
  • List order: ゲームに関連付けられている実績を表示するときに、ロックされた実績が表示される順序。任意の順序を指定できます。ロック解除された実績はリストの一番上に、達成された順に表示されます。

状態

実績は、次の 3 種類の状態のいずれかになります。

  • 非公開の実績とは、詳細がまだプレーヤーに明らかにされていない実績です。Play ゲームサービスには、非公開の状態の実績用に、汎用プレースホルダの説明とアイコンが用意されています。ユーザーに知らせるのはまだ早い情報(「実は最初から幽霊だった」など)が含まれている場合は、実績を非公開にすることをおすすめします。
  • 周知の実績とは、プレーヤーはすでに知っているが、まだ獲得していない実績です。ほとんどの実績は、最初から周知状態にします。
  • 達成済みの実績とは、プレーヤーがすでに獲得した実績です。実績はオフラインでも達成できます。ゲームがオンラインになると、Play ゲームサービスと同期され、実績の達成済み状態が更新されます。

増分実績

実績には標準実績と増分実績があり、どちらにするかを指定できます。増分実績では一般に、プレーヤーは実績の獲得に向け、長い時間をかけて徐々に成果を上げていきます。プレーヤーが増分実績の獲得に向けて成果を上げたら、その進捗状況を Play ゲームサービスに報告します。

Google Play 開発者サービスは進捗情報を記録し、プレーヤーが実績の達成に必要な条件を満たすとゲームに通知して、目標に到達するまであとどの程度残っているのかについてプレーヤーに知らせます。

プレーヤーの進捗状況(23%)を示す増分実績の例
プレーヤーの進捗状況(23%)を示す増分実績。

増分実績は、複数のゲーム セッションを通じて累積されます。進捗状況をゲーム内で削除またはリセットすることはできません。増分実績の条件として適切なのは、たとえば「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 です。しかし、実績に割り当てるポイントを多くすると、そのぶん実績の数が減ります。

実績を追加

Google Play Console で初めて実績を作成する方法は 2 つあります。

実績を作成する

未公開の新しいゲームのアチーブメントを作成する手順は次のとおりです。

  1. Google Play Console でゲームを選択します。
  2. [Play ゲームサービス - 実績] ページ([成長] > [Play ゲームサービス] > [設定と管理] > [実績])で、[実績を作成] を選択します。
  3. [実績を追加] ページで、フォームに入力します。
  4. [下書きとして保存] をクリックします。
  5. 実績を作成したら、ゲームを公開する必要があります。

実績を追加する

すでに実績があり、さらに追加する場合:

  1. Google Play Console でゲームを選択します。
  2. [Play ゲームサービス - 実績] ページ([成長] > [Play ゲームサービス] > [設定と管理] > [実績])で、[実績を追加] を選択します。

実績のインポート

複数のアチーブメントをゲームに一度に追加する手順は次のとおりです。

  1. 実績を含む ZIP ファイルを作成します。
  2. ファイルをアップロードします。

ZIP ファイルの詳細については、ZIP ファイルのガイドラインをご覧ください。

実績をインポートするには:

  1. Google Play Console でゲームを選択します。
  2. [Play ゲームサービス - 実績] ページ([成長] > [Play ゲームサービス] > [設定と管理] > [実績])で、[実績をインポート] を選択します。
  3. [実績をインポート] ページで、[アップロード] をクリックします。
  4. アップロードする zip ファイルを選択します。
  5. [下書きとして保存] をクリックします。
  6. 実績をインポートしたら、ゲームを公開する必要があります。

ゲームを公開

ゲームをテストして公開すると、ゲームの実績がすべて公開されます。

実績を編集する

作成済みの実績を編集するには、Google Play Console の [実績] タブで、実績を選択します。このとき、最初に実績を作成したときと同じフォームが表示され、任意のフィールドを編集できます。

実績の編集が完了したら、[未公開として保存] ボタンをクリックします。新たに編集した実績が「テスト準備完了」モードになり、テストできるようになります。正常に動作したら、プルダウン リストから [再公開] を選択します。これにより、編集したすべての実績とともにゲームが再公開されます。

編集を元に戻す

現在の実績に問題があり、以前の状態に戻す場合は、Google Play Console のプルダウン リストから [元に戻す] を選択すると、すべての実績が以前公開していたバージョンに戻ります。

実績を削除する

いったん公開した実績は削除できません

公開前の状態であれば、実績のフォームの下部にある [削除] ボタンをクリックすることで削除できます。

実績をリセットする

未公開の実績であれば、プレーヤーの進行状況のデータをリセットできます。

  • Google Play Console で実績をリセットするには、イベントのフォームの下部にある [実績の進行状況をリセット] ボタンをクリックします。
  • 実績データをプログラムでリセットするには、Management API の Achievements メソッドを呼び出します。

アイコンのガイドライン

アイコンは、512 x 512 の PNG、JPEG、または JPG ファイルとして作成する必要があります。提供する必要があるアイコンは、達成した実績のアイコンのみです。周知のアイコンについてはグレースケール バージョンが自動的に生成されます。そのため、周知の実績と達成した実績を簡単に区別できるよう、実績アイコンをカラフルにすることをおすすめします。

Android トーストで実績アイコンを表示すると、アイコンは円で囲まれ、外側の角は表示されなくなります。このような状態でも、アイコンがきれいに表示されることを確認してください。

実績アイコンの例。
実績アイコンのサンプル。

すべての言語 / 地域で同じアイコンが使用されるため、アイコンにテキストやローカライズされたコンテンツを含めることはおすすめしません。

ZIP ファイルのガイドライン

ZIP ファイルを使用して、複数の成果を一度にインポートできます。ZIP ファイルで使用する正確なファイル名については、次の表を参照してください。

ファイル名 必須または省略可 指定可能な値
AchievementsMetadata.csv 必須 各実績のメタデータ。属性をご覧ください。
AchievementsLocalizations.csv 省略可 実績の名前と説明の翻訳を提供します。
AchievementsIconMappings.csv 省略可 実績をアイコン ファイルにマッピングします。
アイコン ファイル 省略可 PNG、JPEG、JPG 形式のアイコン。

ZIP ファイルの要件:

  • サブディレクトリなし。
  • 一意のファイル名。
  • CSV、PNG、JPEG、JPG ファイルのみ。
  • CSV ファイルにヘッダー行を含めることはできません。
  • 各ファイルのサイズは 1 MB 未満にする必要があります。
  • ZIP ファイル内のファイル数は 203 個以下にしてください。
  • ZIP ファイルの合計サイズは 200 MB 未満にする必要があります。

AchievementsMetadata.csv 形式

AchievementsMetadata.csv ファイルには、各実績のメタデータが含まれています。情報はカンマ区切りで次の順序で指定する必要があります。

    Name,Description,Incremental value,Steps Needed,Initial State,Points,List Order

これらのフィールドについては、次の表で説明します。

CSV の列ヘッダー 必須または省略可 指定可能な値
名前 必須 最大 100 文字
説明 省略可 最大 500 文字
増分値 省略可 TrueFalse
必要な手順 Incremental ValueTrue. の場合は必須です。 数値(分数や小数は使用不可)
初期状態 必須 HiddenRevealed
ポイント 必須 5 の倍数で、値は 5 ~ 200 の範囲で指定する必要があります
リストの表示順 省略可 数値(小数や分数は使用不可、0 より大きい値)

AchievementsMetadata.csv ファイルの要件:

  • 各行には 7 つの値が必要です。値を省略する場合は、空白のままにします。
  • Name フィールドと Description フィールドがデフォルトの言語 / 地域として使用されます。
  • Name フィールドは、すべての実績で一意である必要があります。
  • Name フィールドと Description フィールドにはカンマを含めないでください。

AchievementsMetadata.csv ファイルのサンプル:

  Achievement1,Achievement One,True,100,Hidden,5,20
  Achievement2,Achievement Two,False,,Revealed,10,30

AchievementsLocalizations.csv 形式

AchievementsLocalizations.csv ファイルは任意のファイルで、さまざまな言語 / 地域のユーザーに各実績を説明するために必要なすべてのデータを設定します。実績は、ゲームに指定された言語 / 地域に合わせて翻訳されます。

情報はカンマ区切りで次の順序で指定する必要があります。

   Name, Localized name, Localized description, locale

これらのフィールドについては、次の表で説明します。

CSV の列ヘッダー 必須または省略可 説明 指定可能な値
名前 必須 AchievementsMetadata.csvName 列と一致している必要があります。 最大 100 文字
ローカライズされた名前 必須 実績のローカライズされた名前。 最大 100 文字
ローカライズされた説明 省略可 指定した言語 / 地域での、実績のローカライズされた説明。 最大 500 文字
言語 / 地域 必須 ロケール コード(en-US など)。 言語 / 地域を指定する前に、ゲームの 翻訳を追加します。デフォルトのロケールを指定することはできません。

サポートされている言語 / 地域コードについては、 サポートされている言語のリストをご覧ください。

AchievementsLocalizations.csv ファイルの要件:

  • ゲーム内の実績名は、言語 / 地域ごとに一意である必要があります。たとえば、ゲームが en-US と fr-FR の両方のロケールをサポートしている場合、en-US で「Achievement1」という名前の実績は、fr-FR でも「Achievement1」という名前にできます。
  • 各行には 4 つの値が必要です。ローカライズされた説明の値を省略する場合は、空白のままにします。

AchievementsLocalizations.csv ファイルのサンプル:

Achievement1,Achievement One,This is the description of achievement one in English.,en-US
Achievement1,Achievement Un,Voici la description de l'achievement un en français.,fr-FR
Achievement2,Achievement Two,Description of achievement two.,en-US
Achievement2,Logro Dos,Descripción del logro dos.,es-ES
Achievement3,Achievement Three,,en-US
Achievement3,Erfolg Drei,,de-DE

AchievementsIconMappings.csv 形式

AchievementsIconMappings.csv ファイルは、実績を指定されたアイコンにマッピングするために使用されるオプション ファイルです。次の順序でカンマ区切りの値として情報を含める必要があります。

Name, icon filename

これらのフィールドについては、次の表で説明します。

CSV の列ヘッダー 必須または省略可 説明
名前 必須 AchievementsMetadata.csvName 列と一致している必要があります。
アイコンのファイル名 必須 アイコン ファイルの名前。

AchievementsIconMappings.csv ファイルの要件:

  • 各行に 2 つの値が必要です。
  • アイコン ファイルの形式は PNG または JPEG のみです。

AchievementsIconMappings.csv ファイルのサンプル:

Valid Achievement,valid-achievement-icon.png
Incremental Achievement,incremental-achievement-icon.jpeg
No Description,no-description-icon.png
Hidden Initial State,hidden-initial-state-icon.png
Large Point Value,large-point-value-icon.jpeg

アイコン ファイル

AchievementsIconMappings.csv ファイルで参照するアイコンは、インポートする現在の ZIP アーカイブに存在する必要があります。詳しくは、アイコンのガイドラインをご覧ください。

実績の翻訳を追加する

ゲームに関連付けられている実績に、独自の翻訳を指定できます。その場合はまず、ゲームの翻訳の追加に記載されている手順を完了してください。

ゲームの翻訳を追加する方法は 2 つあります。

  • [実績をインポート] オプションを使用すると、多くの新しい実績の翻訳を一度にアップロードできます。このオプションを使用して、すでに存在する実績の翻訳をアップロードすることはできません。

  • ゲーム内の各実績に翻訳を追加できます。各実績に独自の翻訳を追加するには:

    1. Google Play Console でゲームの [実績] タブを開き、既存の実績を選択します。
    2. 実績の詳細ページで、以前に [ゲームの詳細] タブで追加した言語のタブを選択します。
    3. その言語の実績の詳細ページにあるフォームで、実績の翻訳を編集します。
    4. [保存] をクリックして、翻訳済みの実績の詳細を保存します。

クライアントの実装

プラットフォームの実績を実装する方法については、以下のリソースをご覧ください。