グローバル リーダーボードとソーシャル リーダーボードの比較
グローバル リーダーボード
- グローバル リーダーボードは、XBOX の全ユーザー ベースをランク付けし、構成する必要があります。
- グローバル リーダーボードは、取り込み時 (タイトルのリリース前またはリリース後の任意の時点) にサービスで構成する事前定義されたビューです。
ソーシャル リーダーボード
- ソーシャル リーダーボードは動的に生成され、プレイヤーのフレンドをランク付けします。
- ソーシャル リーダーボードには、プレイヤーのソーシャル グラフに含まれるプレイヤーのみが含まれます。
- ソーシャル リーダーボードは、サービスが既存のユーザー統計に基づいて実行時に動的に生成するため、取り込み時に事前定義する必要はありません。
リーダーボードについて
リーダーボードには 2 つの主要な要素があります。- ランク付けの対象となる値 (XBOX services では、これは常にプレイヤーの統計インスタンスです)。
- 並べ替え順序 (値が高い方が良いか、低い方が良いか)。
ランキング値としての統計
リーダーボードはプレイヤーの統計から派生します。必要なものに合わせて適切な統計ルールを定義することが重要です。ゲームを設計する際は、プレイヤーをどのリーダーボードでランク付けするかを念頭に置いてください。グローバル リーダーボード
グローバル リーダーボードは、XBOX コミュニティ全体のプレイヤーが記録した最高スコアを追跡します。グローバル リーダーボードの主な特徴は、取り込み時にリーダーボード識別名、ランク付け対象の統計、並べ替え順序 (昇順または降順) を指定することで事前定義される点です。 タイトルは無制限の数のグローバル リーダーボードを定義でき、サービス構成を介していつでもリーダーボードを追加できます。1 つのグローバル リーダーボードあたりのレコードの最大数は、現在 10,000 エントリに制限されています。つまり、“最高” スコアが上位 10,000 位以内にランクインしていないプレイヤーのスコアは、リーダーボードに表示されません。 一度に最大 100 件のリーダーボード エントリ (プレイヤーの XUID、ゲーマータグ、グローバル ランク、スコア) の “ページ” を読み取り、ページの開始ランクを指定するか、指定したゲーマータグを中心としたリーダーボード エントリを取得できます。結果は常に全期間を対象としており、日、週、月ごとのビューはまだサポートされていません。 グローバル リーダーボードには、XBOX Services API (XSAPI) または REST API を使用してGET (/scids/{scid}/leaderboards/{leaderboardname}) でアクセスできます。
以下は、レーシング ゲーム用のリーダーボードの構成例のスクリーンショットです。
ソーシャル リーダーボード
ソーシャル リーダーボードは、カジュアル プレイヤーがフレンドと自分を比較し、ランク付けするための優れたインセンティブになります。コミュニティで最上位にランクインしていなくても、知り合いのプレイヤーに勝つという意欲を維持できます。ソーシャル リーダーボードは、既存の任意のユーザー統計に基づいて動的に作成されます。そのため、取り込み時に事前定義する必要はなく、特定のプレイヤーのソーシャル グラフに含まれるプレイヤーのみが含まれます。 ソーシャル リーダーボードの主な利点は、事前定義されていないことです。ゲームの任意の統計に対してソーシャル リーダーボードを作成できます。呼び出し元は、ソーシャル リーダーボードを要求するときに 2 つの項目 (統計インスタンスと並べ替え順序 (既定は評価による降順)) を指定できます。結果は常に全期間を対象としており、日、週、月ごとのビューはサポートされていません。 グローバル リーダーボードと同様に、呼び出し元は一度に最大 100 件のリーダーボード エントリ (プレイヤーの XUID、ゲーマータグ、グローバル ランク、スコア) の “ページ” を読み取り、ページの開始ランクを指定できます。 ソーシャル リーダーボードには、XSAPI または REST API を使用してGET (/users/xuid({xuid})/scids/{scid}/stats/{statname)/people/{all|favorite}) でアクセスします。
ソーシャル ビューを持つグローバル リーダーボード
ソーシャル リーダーボードは動的に作成されるため、グローバル リーダーボードよりも取得に時間がかかります。共通の条件セットに基づいてタイトルが頻繁にソーシャル リーダーボードを取得するシナリオでは、グローバル リーダーボードを作成し、そのリーダーボードのうちプレイヤーのソーシャル グラフに関連するエントリのみを取得できます。 これにより、リーダーボードは既に XBOX services サーバー上に存在しているため、ソーシャル リーダーボードよりも取得時間が短縮されます。また、結果がユーザーのソーシャル グラフに限定されるため、ペイロードも小さくなります。この種類のリーダーボードはグローバル リーダーボードです。したがって、タイトルのサービス構成で定義する必要があります。 ソーシャル ビューを持つグローバル リーダーボードには、通常のグローバル リーダーボード要求GET (/scids/{scid}/leaderboards/{leaderboardname}) を使用し、URL に次のクエリ &viewTarget=people&view=people を追加してアクセスします。
複数列のリーダーボード ビューをサポートするために、統計メタデータを使用できます。タイトルは、リーダーボードの統計に対してメタデータ フィールドを定義でき、これらはリーダーボード ランクをクエリするときに返すことができます。プライバシー設定によって統計へのアクセスが妨げられる可能性があるため、タイトルは同じ動作を実現するためにバッチ ユーザー統計 URI を使用すべきではありません。
複数列のリーダーボード
統計により多くの情報を提供するために、リーダーボードに追加の列が必要になる場合があります。たとえば、最も倒した敵の数を示すリーダーボードでは、プレイヤーが使用した武器、発生したマップ、最も倒した敵の種類、キル/デス比率を追加したい場合があります。 XBOX リーダーボードには、複数列のサポートが組み込まれています。これらの種類のランキングは簡単に取得できます。唯一の前提条件は、リーダーボードで使用される統計に統計コンテキストが定義されていることです。これが追加のメタデータとして使用されます。たとえば、FastestLap 統計の場合、これらの追加プロパティを統計コンテキストとして構成できます。以下は、それらがどのように見えるかのスクリーンショットです。 これで、統計はコンテキストとともに永続化されるようになるため、複数列のリーダーボードを取得すると、次の表のようになります。
複数列のリーダーボードは、現在、グローバル リーダーボードおよびソーシャル ビューを持つグローバル リーダーボードでサポートされています。ただし、複数列の ソーシャル リーダーボードを作成したい場合は、バッチ ユーザー統計呼び出しを使用してすべての統計をコンテキストと共に取得し、手動でリーダーボードを作成できます。
複数列のリーダーボードは、REST API を使用してのみアクセスできます。通常のグローバル リーダーボード要求
GET (/scids/{scid}/leaderboards/{leaderboardname}) を使用し、URL に次のクエリ &include=valuemetadata を追加します。
特集統計を含むリーダーボードが表示される場所
リーダーボードは、ゲームの選択された統計を表示することで、プレイヤーを比較します。 リーダーボードは、プレイヤー間の競争を促進する優れた方法です。リーダーボードにより、プレイヤーは以前の自己ベスト スコアやフレンドのスコアを更新しようと引き付けられ続けます。- 特集統計のリーダーボードは、常にタイトルの公式クラブに表示されます。
- 特集統計のリーダーボードは、プレイヤーのプロフィール内の実績ビューなど、その他の XBOX エクスペリエンスに表示される場合があります。
- 構成済みの特集統計を使用して、タイトル内でリーダーボードを作成することもできます。
