Skip to main content
このチュートリアルでは、リーダーボード上でグループ エンティティを使用する方法を学びます。この概念を理解するために、惑星のテラフォーミングに焦点を当てた「RPG」ゲームの例から始めます。プレイヤーとして、各惑星に構造物を建設・発展させ、リソースを集め、独自の艦船を作り、他のプレイヤーがあなたの物を盗みに来るかもしれないため防御も設定する必要があります。このゲームの重要な要素は、プレイヤーがアライアンスを結成し、チームを作って他のプレイヤーをグループとして攻撃できることです。 このコンテキストを踏まえて、宇宙全体でどのアライアンスが最強かを知ることができるように、アライアンス用のリーダーボードを作成します。 グループ リーダーボードの仕組みを深く掘り下げる前に、押さえておくべき重要なポイントがいくつかあります:

リーダーボードを作成する

ゲームとシナリオの種類にもよりますが、複数のリーダーボードを作成することが多いでしょう。今回の状況では、このゲームで想定される 2 種類のシナリオと、それぞれに対処するためにサービスをどのように使うかを示します。

プレイヤー リーダーボード

この例では、プレイヤーは惑星をテラフォーミングしており、ゲーム内で特定のアクションを行うことで経験値を獲得します。したがって、プレイヤー レベルでその経験値を追跡するためのリーダーボードを用意します。このプロセスは、基本的なリーダーボードを作成するなどの他のチュートリアルで紹介された動作と同じです。ここで重要な点は、プレイヤーのみを対象とするため、EntityType パラメーターを "title_player_account" にする必要があるということです。

グループ リーダーボード

次に、例で紹介したゲームの側面、アライアンスに入っていきます。PlayFab では、"group" エンティティを使用してアライアンスを作成できます。このグループ エンティティにより、プレイヤーが参加できる構造を持つことができ、ゲームでこの種のシナリオを支えるロールやその他の興味深い機能も備えます。リーダーボードを作成する際には、2 つの点を明確にしておく必要があります。
  • EntityType パラメーターは "group" である必要があります。
  • このリーダーボードは独立しています。したがって、アライアンスにスコアを追加するのは、プレイヤーのリーダーボードとは切り離された手動プロセスです。この動作により、スコアがプレイヤーとどのように関連付けられるかにさまざまな方法があり、あるいはグループにのみ適用される新しい指標にすることも可能になります。

リーダーボードにデータを追加する

両方のリーダーボードを作成した後、それらにデータを追加する方法を確認する必要があります。前の例で述べたとおり、これらのリーダーボードは互いに独立しているため、アライアンス (グループ) のスコアの仕組みに関するカスタム ロジックを開発者が制御できます。
このシナリオでは、プレイヤーのリーダーボードにエントリを追加するコードとグループのリーダーボードにエントリを追加するコードは同じです。しかし、この動作は常に当てはまるわけではありません。プレイヤー用に 5 列のリーダーボードを持ち、グループ用には 1 列のみの別のリーダーボードを持つこともできるためです。複数列のリーダーボードについては、こちらのチュートリアルで詳しく説明しています: リーダーボードでさらにできること 常に念頭に置いておくべき点として、サービスに正しい EntityId を提供する必要があります。プレイヤーのリーダーボードの場合、エンティティは "title_player_account" です。リーダーボードがグループで構成されている場合は、"group" であるエンティティを提供する必要があります。

リーダーボードからデータを取得する

リーダーボードのデータを取得するには、GetFriendLeaderboard API を除いて、リーダーボードでさらにできることで説明されているすべてのオプションが利用できます。

グループ リーダーボードの表示名

最後に、グループ リーダーボードでできるもう 1 つの詳細として、表示名をエンティティのグループ名に設定することができます。たとえば「Raiders」というアライアンスがある場合、このグループ名は DisplayName プロパティでエンティティにマッピングされます。
この例では、CreateGroupAsync メソッドを呼び出してグループを作成します。この実行の最初のステップでは、Group オブジェクトを返します。これを使って表示名を設定します。SetDisplayNameRequest オブジェクトを使ってグループ名をエンティティにマッピングし、その後に PlayFabProfilesAPI.SetDisplayNameAsync メソッドを実行することで、このプロセスを行います。

まとめ

このチュートリアルでは、次の操作の方法を学びました:
  • グループ リーダーボードの作成。
  • そのリーダーボードにデータを流し込む方法。
  • リーダーボードの取得。
  • グループ名を表示できるように displayName を変更する。

関連項目

最終更新日 2026年8月13日