PlayFab を使用したマルチプレーヤー

マルチプレーヤーは多くのタイトルに追加されています。また、PlayFab にはマルチプレーヤーシナリオに焦点を絞ったいくつかのサービスが用意されています。

サービス 説明
ランキング 統計とスコアボードを使ってプレーヤーのアクティビティを追跡して対応する
エンティティグループ プレーヤーの永続的または一時的なグループを作成し、アクティビティを通知します。
マッチメイキング ユーザー設定のマッチメイキングルールを展開して、プレーヤーをすばやくグループ化する
Party ネットワークに接続して、ゲーム内でアクセス可能なチャットでプレーヤーを接続する
Servers Azure でカスタムマルチプレイヤーサーバーを動的に拡大縮小する

タイトルでは、これらのすべてのサービスを組み合わせて使用できますが、個別に使うこともできます。これは非常に一般的です。 たとえば、タイトルでは、PlayFab マッチメイキングを使用しますが、別のマルチプレーヤーサーバーホスティングソリューションからサーバーを割り当てることができます。 また、ゲームでは、ホスティング用に PlayFab マルチプレイヤーサーバーを使用することもありますが、独自のマッチメイキングシステムを使ってプレイヤーをまとめることができます。

より多くのゲームでは、さまざまな id ドメイン (たとえば、ユーザー設定の id システムを使った蒸気選手と対話する Xbox Live player など) で相互ネットワークエクスペリエンスを構築しています。 PlayFab のサービスは、クロス進行とクロスネットワークプレイをサポートするように設計されています。

マルチプレイヤーシナリオの例

PlayFab は、さまざまなマルチプレイヤーモードをサポートするように設計されています。 次に示すのは、1つの非常に洗練されたタイトルで統合される可能性があるモードの一覧です。 このセクションでは、PlayFab サービスを使用してこれらのエクスペリエンスを実装する方法について簡単に説明します。

ゲーム モード プレイヤーの最大数 Leaderboard マッチメイキング バックフィル フレンドを招待 未承諾の結合の進行中 チャット サーバーモデル
シングルプレイヤーキャンペーン 1 はい いいえ いいえ いいえ いいえ いいえ いいえ
協力キャンペーン 4 はい いいえ × はい P2P
ゲーム内パーティ 8 いいえ いいえ × はい P2P
カジュアルな小規模セッション 8 P2P
カジュアルな大きなセッション 32 クラウドサーバー
競争力の小さいセッション 8 × はい × はい クラウドサーバー
競争力の大きなセッション 32 × はい × はい クラウドサーバー

スコアボードとプレイヤーデータ

ゲーム内スコアボードは、次の用途に使用できます。

  1. ゲーム内の報奨とその他のゲームプレイ動作をトリガーするためにプレーヤーの結果を保存する
  2. マッチメイキング入力としてプレーヤーの結果を保存してランク付けする
  3. ユーザーがスコアボードを参照して業績を理解できるように、ゲーム内のランク付けエクスペリエンスを作成する

スコアボードは、シングルプレーヤーモードとマルチプレイヤーモードの両方を拡張できます。 たとえば、キャンペーンのスコアボードは、プレイヤーが収集した特殊アイテムの数を追跡していますが、マルチプレイヤーのスコアボードではプレイヤーとプレーヤーの競合を追跡できます。 PlayFab スコアボードは、このようなエクスペリエンスを実現するように設計されています。プレイヤーの統計情報を追跡し、その統計情報を使ってプレイヤーのランキングを調整

プレーヤーの結果が他のプレーヤーと広く共有されている必要がない場合、プレーヤーに関連付けられた PlayFab エンティティデータは、このデータを格納するのに適している場合があります。 PlayFab のエンティティシステムの利点は、複数のアカウントでプレイヤーのアクティビティやその他のデータのクロスネットワークの進行状況を追跡できることです。 PlayFab スコアボードとデータの変更はどちらも、カスタムの CloudScript をトリガーできる Playfab イベントを発生させることになります。 これにより、プレーヤーのアクティビティに対するリアルタイムでの高度なカスタマイズが可能になります。

該当するサービス:

ゲーム内パーティと未承諾の参加の進行状況

プレーヤーは、プレイ中のゲームプレイ以外のところ、またはゲーム内の guild またはパーティの経験によってサポートされている場合があります。 PlayFab エンティティグループと PlayFab パーティーは、これらのシナリオを念頭に置いて設計されています。

PlayFab エンティティグループを作成するには、次の操作を行います。

  1. 自分のフォロワーで状態を共有しているプレイヤー
  2. 長期間 (月数または日数) の guilds を作成しているプレイヤー
  3. 有効期間が短くなったパーティを作成しているプレイヤー (時間以内)

PlayFab エンティティグループには、グループのリーダーからのグループアクセスを要求するアクセスとプレーヤーを制御するための、ビルトインフローが用意されています。 グループは、任意のファイルデータに関連付けることができるので、プレイヤーがメッセージを共有したり、他の固定コンテンツを共有スペースに投稿したりすることができます。

通知などの低速データ共有にはエンティティグループを使用できますが、Playfab パーティーはリアルタイムのデータ転送とチャットに最適です。 PlayFab エンティティグループの一般的な使用法では、PlayFab パーティーのネットワーク記述子または PlayFab マルチプレーヤーサーバーセッションの詳細がグループのデータストレージに保存されています。 このセッション情報を共有することで、プレイヤーがお友達のセッションに一方的に参加することができます。 リアルタイム通信またはゲームホスティングに対して PlayFab 以外のサービスを使用している場合、これらのシステムには通常、エンティティグループを使って、同じようにプレイヤー間の信号を送ることができる識別情報が含まれています。

PlayFab エンティティグループには、エンティティオブジェクトの変更を通知するためのプッシュ通知システムがなく、更新された状態を維持するためにサービスのポーリングが必要になります。 プラットフォームによっては、トーストを起動し、その他の便利なエクスペリエンス (player プロファイルカードからの参加進行状況) がある場合は、統合を検討することをお勧めします。

マッチメイキングとバックフィル

プレイヤーは、知られていない新しい人と一緒にプレイしたい場合があります。また、バランスの高い匿名マッチメイキングエクスペリエンスは、多くのマルチプレイヤーゲームの中核となります。 PlayFab マッチメイキングは、カスタマイズしたルールを使用して、プレイヤー同士ですばやくアクセスできるように設計されています。

プレイヤーまたはプレイヤーが一緒にプレイしようとしている場合、1人のプレーヤーが自分またはグループ全体のマッチメイキングチケットを作成します。 PlayFab マッチメイキングを使用すると、ユーザーを対戦相手にチームとして一緒に送信することができます。これにより、グループ内のすべてのプレイヤーが一致していることが保証されます。 このサービスは、バックフィルチケットを許可することもできます。これを使うと、ゲームの途中から離れているプレイヤーを置き換えることができます。 参加の進行状況とバックフィル機能は、カジュアルなゲームセッションをできるだけ完全な状態に維持するためのメカニズムです。

PlayFab のマッチメイキングは、PlayFab マルチプレーヤーサーバーに統合されているため、完成したチケットに対するサーバーの割り当てが簡素化され、一致セキュリティが向上します。 また、PlayFab マッチメイキングチケットでは、CloudScript をトリガーできる Playfab イベントも発生します。これにより、マッチメイキングと独自のマルチプレイヤーシステムの統合が容易になります。

チャット

PlayFab パーティーは、最大32プレイヤー向けのソーシャルまたはゲームプレイエクスペリエンスにリアルタイムの音声とテキストチャットを追加するために使用されます。 PlayFab パーティーでは、各ネットワークについてカスタマイズされたミュートルールを使用して、複数のネットワークでのプレーヤーのプレゼンスを同時に有効にすることができます。 これにより、チャネルや複雑なチャットの関係を柔軟に実装できます。

Party では、Azure Cognitive Services を利用してプレイヤーのボイス チャットのトランスクリプションが作成されたり、テキストの音声が合成されたりします。 この機能にはいくつかの用途がありますが、主にアクセシビリティの補助として設計されました。 パーティは、プレーヤーチャットを transcribes だけでなく、リアルタイムでチャットも翻訳しています。 匿名のマッチメイキングおよび国際競争力を備えたゲームでは、このような議事録と翻訳機能を活用して、より魅力的なマルチプレイヤーエクスペリエンスを実現します。

ゲームホスティング

リアルタイムのマルチプレーヤーゲームでは、通常、ゲームの状態をホストする特定のプレーヤーデバイス ("ピアツーピア") を選択するか、専用のマルチプレイヤーサーバーを使用します。 プレーヤーデバイスでゲームをホストしている場合、PlayFab パーティーは、このゲームの状態をセッションの参加者間で同期するのに最適な低遅延デバイスのネットワークシステムです。

デバイス数が増加したときに、ピア同士でピアをスケーリングすることは困難です。 PlayFab パーティーではネットワーク暗号化が提供されますが、プレイヤーの IP アドレスを保護するためにリレーを使用しますが、デバイスをホストとして実行すると、不正行為のための手段が開かれます。

PlayFab マルチプレイヤーサーバーは、Azure のグローバルクラウドでのマルチプレイヤーのシンプルかつ効率的なスケーリングを実現します。 小規模のサーバーを使用している場合 (たとえば、F2v2 の Linux 仮想マシンでそれぞれ10個のプレーヤーのセッションを10個読み込む場合)、マルチプレイヤーの設計を効率的かつ劇的に簡素化し、P2P の実装と比較して信頼性を向上させることができます。 高度なマルチプレイヤー計算を実現するには、サーバーのビルド構成を設定して、200プレーヤーのエクスペリエンスのために8つ以上のコアを使用して、多くの Azure リソースをセッションに割り当てることができます。