> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Multiplayer with PlayFab

> Lobby、マッチメイキング、Party ネットワーキングとボイス チャット、ホストされるゲーム ビルド用の Multiplayer Servers を含む PlayFab マルチプレイヤー サービスの概要。

マルチプレイヤーは多くのタイトルに素晴らしい追加要素であり、PlayFab はマルチプレイヤー シナリオに焦点を当てたいくつかのサービスを提供しています。

| サービス                                                     | 説明                                          |
| -------------------------------------------------------- | ------------------------------------------- |
| [Lobby](/services/playfab/multiplayer/lobby)             | ゲーム前またはマッチメイキング後にグループ間でゲームプレイを調整するためのロビーを作成 |
| [Matchmaking](/services/playfab/multiplayer/matchmaking) | カスタム マッチメイキング ルールをデプロイしてプレイヤーを素早くグループ化      |
| [Party](/services/playfab/multiplayer/networking)        | ネットワーキングとアクセシブルなゲーム内チャットでプレイヤーを接続           |
| [Servers](/services/playfab/multiplayer/servers)         | Azure でカスタム マルチプレイヤー サーバーを動的にスケーリング         |

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

ますます多くのゲームが、異なるアイデンティティ ドメイン (例: XBOX Live プレイヤーが Steam プレイヤーとカスタム アイデンティティ システムのプレイヤーと相互作用する) からプレイヤーが互いに関わる *クロス ネットワーク* 体験を構築しています。PlayFab のサービスは、クロス プログレッションとクロス ネットワーク プレイをサポートするように設計されています。

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

PlayFab は、さまざまなマルチプレイヤー モードをサポートするように設計されています。以下は、1 つのかなり洗練されたタイトルに統合される可能性のあるモードのリストです。このセクションでは、PlayFab サービスを使用してこれらの体験を実装する方法を簡単に提案します。

|ゲーム モード | 最大プレイヤー数 | マッチメイキング | バックフィル | フレンドの招待 | 求められない途中参加 | チャット | サーバー モデル|
\|--|--|--|--|--|--|--|--|--|
|**シングル プレイヤー キャンペーン** | 1 | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
|**協力キャンペーン** | 4 | いいえ | いいえ | **はい** | **はい** | **はい** | P2P |
|**ゲーム内パーティ**  | 8 | いいえ | いいえ | **はい** | **はい** | **はい** | P2P |
|**カジュアルな小規模セッション**  | 8 | **はい** | **はい** | **はい** | **はい** | **はい** | P2P |
|**カジュアルな大規模セッション**  | 32 | **はい** | **はい** | **はい** | **はい** | **はい** | クラウド サーバー |
|**競技的な小規模セッション** | 8 | **はい** | いいえ | **はい** | いいえ | **はい** | クラウド サーバー |
|**競技的な大規模セッション** | 32 | **はい** | いいえ | **はい** | いいえ | **はい** | クラウド サーバー |

### ゲーム内パーティと求められない途中参加

プレイヤーは、フレンドや志向の合うプレイヤーを優先的に選ぶなど、誰とプレイするかを制御したいと思うことがよくあります。PlayFab Lobby は、発見性と参加可能性のアクセス コントロールが組み込まれた、プレイヤーの実行時グルーピングを促進するように設計されています。プレイヤーは、フレンドに参加したい場合でも特定のゲーム モードをプレイしたい場合でも、自分のニーズを満たす任意のオープン ロビーを検索して参加できます。

プレイヤーは、同時に複数の Lobby のメンバーになることもできます。これにより、3 人のフレンドが複数のマッチにわたって他のプレイヤーとマッチメイキングしながらグループのままでいることを許可するなど、柔軟なプレイヤー グルーピングを作成できます。

組み込みの [リアルタイム メッセージ](/services/playfab/multiplayer/lobby/lobby-and-matchmaking-real-time-messages) により、Lobby のメンバーは、メンバーの参加または退出、Lobby へのデータ書き込みなどの変更が発生したときにリアルタイム メッセージを受け取ることができます。同じリアルタイム メッセージ メカニズムをクロスプラットフォームの招待に使用でき、プレイヤーは Lobby のメンバーであるかどうかに関係なく招待をリッスンできます。プラットフォームは、必要に応じて統合を検討すべきトースト起動やその他の有益な体験 (プレイヤー プロファイル カードからの途中参加) を提供する組み込みの招待およびプレゼンス システムを提供する場合があります。

Lobby はシグナリングやその他の限定的なデータ共有に使用できますが、PlayFab Party はリアルタイムのデータ転送とチャットに最適です。PlayFab Lobby を使用して、PlayFab Party のネットワーク記述子や PlayFab マルチプレイヤー サーバー セッション詳細をグループのデータ ストレージに共有できます。このセッション情報の共有により、プレイヤーが求められることなくフレンドのセッションに参加できるようになります。リアルタイム ネットワーキングまたはゲーム ホスティングに PlayFab 以外のサービスを使用している場合、それらのシステムは通常、Lobby を使用してプレイヤー間で同様にシグナリングできる識別情報を持っています。

* [Lobby の詳細](/services/playfab/multiplayer/lobby)
* [Party の詳細](/services/playfab/multiplayer/networking)

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

プレイヤーは、知らない新しい人とプレイしたい場合があり、バランスの取れた匿名マッチメイキング体験は、多くのマルチプレイヤー ゲームの核となっています。PlayFab マッチメイキングは、カスタマイズしたルールを使用してプレイヤーを素早くまとめるように設計されています。

プレイヤーまたはプレイヤーのグループが一緒にプレイしたいとき、1 人のプレイヤーが自分自身またはグループ全員のマッチメイキング チケットを作成します。PlayFab マッチメイキングは、ユーザーがチームとして一緒にマッチメイキングに送信されることを可能にし、参加フローによりグループ内のすべてのプレイヤーが一緒にマッチすることに同意していることが保証されます。このサービスは、ゲームの途中で退出したプレイヤーを置き換えるために使用できるバックフィル チケットもサポートしています。途中参加とバックフィル機能は、カジュアル ゲーム セッションを可能な限り満員に保つのに役立つメカニズムです。

マッチしたプレイヤー間の実行時のグルーピングとシグナリングのために [Lobby と Matchmaking を組み合わせて使用](/services/playfab/multiplayer/lobby/lobby-and-matchmaking) します。PlayFab マッチメイキングは PlayFab Multiplayer Servers と統合されており、完了したチケットのサーバー割り当てを簡素化し、マッチのセキュリティを向上します。また、PlayFab マッチメイキングのチケットは PlayStream イベントを発生させ、CloudScript をトリガーできます。これにより、マッチメイキングを独自のマルチプレイヤー システムと統合するのに役立ちます。

* [マッチメイキングの詳細](/services/playfab/multiplayer/matchmaking)

### チャット

ゲーム データのネットワーク トランスポートに加えて、PlayFab Party にはリアルタイムのボイスおよびテキスト チャット機能が含まれており、任意のセッション ベースのゲームにプレイヤー コミュニケーションを迅速に追加できます。PlayFab Party により、プレイヤーは複数のネットワーク内で同時にプレゼンスを持ち、ネットワークごとにカスタマイズされたミュート ルールを設定できます。これにより、チャネルや複雑なチャット関係を実装する柔軟性が提供されます。

Party は Azure Cognitive Services を使用して、プレイヤーのボイス チャットを文字起こしし、テキストを音声として合成します。この機能はいくつかの用途がありますが、主にアクセシビリティのための補助として設計されました。Party はプレイヤーのチャットを文字起こしするだけでなく、リアルタイムでチャットを翻訳します。匿名マッチメイキングや国際的な競技ゲームでは、これらの文字起こしと翻訳の機能により、より魅力的なマルチプレイヤー体験が実現します。

* [Party の詳細](/services/playfab/multiplayer/networking)

### ゲーム ホスティング

リアルタイム マルチプレイヤー ゲームでは通常、ゲーム状態をホストする特定のプレイヤー デバイスを選択する (「ピアツーピア」とも呼ばれる) か、専用マルチプレイヤー サーバーを使用します。プレイヤー デバイス上でゲームをホストする場合、PlayFab Party は、セッションの参加者間でこのゲーム状態を同期するための、理想的な低レイテンシのデバイス間ネットワーキング システムです。

デバイス数が増えると、ピアツーピア ゲームをスケーリングするのは困難です。PlayFab Party はネットワーク暗号化を提供し、リレーを使用してプレイヤーの IP アドレスを保護しますが、デバイスがホストとして動作することは依然としてチートへの道を開きます。

PlayFab Multiplayer Servers は、Azure のグローバル クラウド全体でマルチプレイヤーのシンプルで効率的なスケーリングを提供します。たとえば、F2v2 Linux 仮想マシンで 10 プレイヤーのセッションを 10 個ロードする小さなサーバーを使用することで、P2P 実装と比較して、マルチプレイヤー設計を効率的かつ劇的に簡素化し、その信頼性を向上させることができます。より複雑なマルチプレイヤー計算は、サーバーのビルド構成を、たとえば 200 プレイヤーの体験に 8 コア以上を使用するなど、より多くの Azure リソースをセッションに割り当てるように設定することで実現できます。

* [Party の詳細](/services/playfab/multiplayer/networking)
* [Multiplayer Servers の詳細](/services/playfab/multiplayer/servers)

## 関連項目

* プレイヤー ランキングを追跡して共有する [リーダーボード](/services/playfab/community/leaderboards)
* 長期間にわたってプレイヤー グループを追跡するには、[グループ](/services/playfab/community/associations/groups) を使用します。
* [CloudScript](/services/playfab/live-service-management/service-gateway/automation/cloudscript) を使用して、柔軟なクラウド ベースのコードでプレイヤー活動にリアルタイムで対応します。


## Related topics

- [PlayFabMultiplayer](/ja-jp/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference/PlayFab.Multiplayer/PlayFabMultiplayer/PlayFabMultiplayer.md)
- [PlayFabMultiplayer.PlayFabMultiplayerServer](/ja-jp/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference/PlayFab.Multiplayer/PlayFabMultiplayer.PlayFabMultiplayerServer/PlayFabMultiplayerServer.md)
- [PlayFabMultiplayer.Initialize](/ja-jp/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference/PlayFab.Multiplayer/PlayFabMultiplayer/Initialize.md)
- [PlayFabMultiplayer.Uninitialize](/ja-jp/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference/PlayFab.Multiplayer/PlayFabMultiplayer/Uninitialize.md)
- [PlayFab Multiplayer Unity SDK](/ja-jp/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference/index.md)
