Skip to main content
このトピックでは、実績を作成するためのいくつかの一般的なシナリオを説明します。
このトピックは、現在イベント ベースの実績 (Achievements 2013) を使用しており、クロス プログレッションの利用を継続する場合に適用されます。それ以外の場合は、タイトル マネージド実績 の使用を推奨します。

複数の条件に対する AND/OR ロジック

実績に対する AND シナリオには、同期 AND と非同期 AND の 2 つの一般的なものがあります。

非同期 AND

非同期 AND ロジックは、すべての実績ルールが満たされたときに解除される実績を定義します。ユーザーは各ルールを個別の時点で、それぞれ独立して満たすことができます。 このタイプの実績の例としては、「ゾンビを 10 体、ゴーストを 20 体倒す」があります。この実績を定義するには、次の表に示すように複数の実績ルールを構成します。

同期 AND

同期 AND ロジックは、すべての実績ルールが同時に満たされたときに解除される実績を定義します。この例としては、「Johnny としてプレイし、バットでゾンビを 10 体倒す」があります。 同期 AND ルールは、各基準を個別にキャプチャする複数の実績ルールを定義するだけでは実装できません。各実績ルールは独立して満たすことができるため、期待どおりに動作しません。次のような場合、例の実績が誤って解除されてしまいます。
  • 月曜日: Johnny としてプレイし、キル数はゼロ。
  • 火曜日: Sam としてプレイし、ゾンビを 10 体倒す。
  • 金曜日: Tim としてプレイし、バットでスケルトンを 5 体倒す。
このような実績を定義するには、各条件を包含するステータス ルールを定義する必要があります。イベントは特定の瞬間にゲームで正確に起こったことを表現するため、ユーザーのアクティビティの完全なコンテキストを含むのはイベントのみです。ステータスはイベントから継承し、実績はステータスから継承します。実績に関連するコンテキストを保持するには、実績の基準をステータスとして定義する必要があります。実績は、必要とする正確な値を含む特定のステータス インスタンスによって閾値が満たされた場合にのみ解除されます。次の構成では、例の実績を定義します。

実績の OR ロジック

実績の最も一般的な OR シナリオは、特定のゴールを、明示的に列挙された複数の可能な手段のセットとして表現するものです。この実績はこの方法または別の方法で解除できます。 このシナリオは、各ゴールごとに 1 つずつ、複数の実績ルールを定義することでは実装できません。実績の複数のルールは論理 AND として動作するため、実績が解除されるにはすべてのルールが満たされる必要があります。「レース トラック A で 3 分未満でレースを完走する」に対する 1 つの実績ルールと、「レース トラック B で 1000 マイルを走行する」に対する 2 つ目の実績ルールを使用すると、ユーザーがそれら 2 つのゴールをともに満たしたときにのみ解除される実績になります。 代わりに、OR ロジックを持つ実績を定義するには、複数のステータス インスタンスに基づいて 1 つの実績ルールを構成する必要があります。各ステータス インスタンスは、許容される手段の 1 つを追跡します。

MIN または MAX ルールを使用する

このケースの例は、「レース トラック A、レース トラック B、またはレース トラック F で 3 分未満でレースを完走する」です。この実績構成を次の表に示します。 FinishTimeInSeconds.TrackId.B FinishTimeInSeconds.TrackId.F Action | MIN Threshold | 180 この実績ルールは MIN ルール アクションを使用するため、列挙されたステータス インスタンスのいずれかが閾値を満たすと実績が解除されます。たとえば、FinishTimeInSeconds.TrackId.A is 220FinishTimeInSeconds.TrackId.B is 163FinishTimeInSeconds.TrackId.F が 199 の場合、ユーザーはレース トラック B で閾値を上回るゴール タイムを記録したため、実績が解除されます。

SUM ルールを使用する

このケースの例は、「レース トラック A、レース トラック B、またはレース トラック F で累計 1000 マイル走行する」です。この実績構成を次の表に示します。 MilesDriven.TrackId.B MilesDriven.TrackId.F Action | SUM Threshold | 1000 この実績ルールは SUM ルール アクションを使用するため、列挙されたステータス インスタンスの集計値が閾値を満たすと実績が解除されます。たとえば、MilesDriven.TrackId.A is 900MilesDriven.TrackId.B is 115MilesDriven.TrackId.F is 0 の場合、3 つのステータス全体でのユーザーの集計合計が閾値を上回るため、実績が解除されます。

このゴール OR あのゴール

サポートされていない実績シナリオとして、ユーザーがいくつか異なるゴールのうちの 1 つを達成することを要求するものがあります。たとえば、「レース トラック A で 3 分未満でレースを完走する OR レース トラック B で 1000 マイル走行する」です。 この実績シナリオは、現在、実績ロジックではサポートされていません。各ゴールごとに 1 つずつ、複数の実績ルールを定義することでは達成できません。実績の複数のルールは論理 AND として動作するため、実績が解除されるにはすべてのルールが満たされる必要があります。「レース トラック A で 3 分未満でレースを完走する」に対する 1 つの実績ルールと、「レース トラック B で 1000 マイルを走行する」に対する 2 つ目の実績ルールを使用すると、ユーザーがそれら 2 つのルールをともに満たしたときにのみ解除される実績になります。

繰り返しアクション

このパターンは、ユーザーがアクションを複数回繰り返す必要のある実績を定義するために使用します。

例 1: マルチプレイヤー マッチで 50 勝する

例 2: 動画を 10 本アップロードし、動画を 100 本評価する

ユーザー統計の設計方法の詳細については、累積値のためのカウンターの使用 を参照してください。

アクションのコレクション

目標: Y 個のうち X 個のアイテムを見つける

このパターンは、特定のセット内のすべて (またはサブセット) のメンバーに対してユーザーがアクションを実行する必要のある実績を定義するために使用します。

例 1: すべてのレベルをハードコア難易度でクリアする

例 2: いずれかのヨーロッパのトラックを 3 分未満で走破する

この実績は、個々のトラックのゴール タイムの最小値として、またはトラックのセットに対するベスト ゴール タイムを使用して定義できます。次のいずれかの方法を使用し、両方は使用しないでください。

方法 1

LastFinishTimeInSeconds.TrackId.22 LastFinishTimeInSeconds.TrackId.23 LastFinishTimeInSeconds.TrackId.24 LastFinishTimeInSeconds.TrackId.25 LastFinishTimeInSeconds.TrackId.26 Action | MIN Threshold | 180

方法 2

関連するユーザー統計を設計するには、最新の値の追跡パーソナル ベストの追跡 を参照してください。

パーソナル ベスト

このパターンは、ユーザーが単一のセッションまたはプレイスルーで目標値を上回る必要のある実績を定義するために使用します。この実績は、複数回の実行など、集計された取り組みでは達成できません。

例 1: 死亡回数 5 回以下でゲームをクリアする

例 2: Lebron James として 50 点以上を獲得してマッチで勝利する

条件が満たされたことを示すバイナリ値

このパターンは、XBOX services のステータスを介して簡単に追跡できない、または他の XBOX services の実績構成オプションでサポートされていない複雑なアクティビティをユーザーが行う必要のある実績を定義するために使用します。

例: ショットガンで 90 キル、またはスナイパーで 10 キルを取得する

この実績構成は、ショットガンによるキル数もスナイパーによるキル数も追跡しません。これら 2 つの条件のうち 1 つが満たされたという事実だけを記録します。このシナリオはデータ プラットフォームでサポートされていないため、実績はタイトル側で設定する必要があります。
最終更新日 2026年8月25日