PlayFab Party の概要

PlayFab Party は、柔軟、包括的、安全な方法で、待機時間の短いチャットとデータ通信をゲームに簡単に追加します。 Party は、クラウドでホストされている専用サーバーを必要としないマルチプレイヤーの実装に最適です ("ピアツーピアまたは P2P ゲーム" とも呼ばれます)。 また、Party は、アプリに用意されているソーシャル エクスペリエンスに音声およびテキスト コミュニケーションを追加する場合にも適しています (ゲーム内スクワッドやゲーム後のロビーなど)。クラウド サーバーをゲーム ホストとして使用している場合でも同様です。

パーティーは、Azure 認知サービスを使用して、プレイヤーのボイスチャットの議事録を行って、テキストを音声で合成します。 この機能にはいくつかの用途がありますが、主にアクセシビリティ鍵として設計されています。 パーティーボイスチャットの一般的な使用状況は1分単位で課金され、そのうちの最大10% が、議事録とシンセサイザーを無料で利用できます。 簡単操作のプレイヤー設定に対してこの機能を有効化することをお勧めします。 Xbox Live エコシステムに関連付けられているパーティの使用状況は、割引されています。 この割引の詳細とパーティーの価格については、「パーティーの請求書」ページを参照してください

Party は、プレイヤー チャットのトランスクリプションを作成するだけでなく、チャットのリアルタイム翻訳も行います。 匿名マッチメイキングと国際競技ゲームでは、これらのトランスクリプションおよび翻訳機能がより魅力的なマルチプレイヤー エクスペリエンスの実現に大いに役立ちます。

PlayFab Party (およびその他のマルチプレイヤー サービス) の重要な目標は、相互運用可能なマルチプレイヤー インフラストラクチャとクロスネットワーク ゲームプレイを実現することです。 お客様は、ご自身のマルチプレイヤー エクスペリエンスがマルチプレイヤーとクロスネットワーク プレイヤーのアクティビティの関連するプラットフォーム ポリシーに準拠していることを確認することをお勧めします。

機能

  • 暗号化と認証。 Party では、その PlayFab プレイヤー ID を使ってプレイヤーのデバイスが認証され、DTLS と似たプロトコルを使ってデータが暗号化されます。
  • デバイス間データグラム ネットワーキング。 Party の核となるのは、Azure クラウドの間でグローバルにホストされるリレーです。 プレイヤーのデバイスでは、これらのリレーを使ってパーティー ネットワークが作成され、ゲーム データが相互に送信されます。 パーティーのネットワーク システムには、パケット損失の発生時の自動再試行など、構成可能なトランスポート機能が含まれています。
  • ボイス チャットとテキスト チャット。 プレイヤーのデバイスは、オーディオ デバイスをパーティ ネットワークにバインドして、リアルタイムのボイス チャットを実現できます。 プレイヤー間でのテキスト チャット メッセージもサポートされます。
  • 音声テキスト変換と音声合成。 Party は、プレイヤーのボイス チャットのトランスクリプトを作成し、テキスト メッセージの言葉を合成することができます。 この機能にはいくつかの用途がありますが、主にアクセシビリティ鍵として設計されています。
  • リアルタイム翻訳。 Party は、プレイヤーのボイス チャットとテキスト チャットのリアルタイム翻訳を理解して合成することができます。

主要なトピック

ライブラリを呼び出すときのパラメーター、戻り値、および動作の詳細については、「 Playfab パーティー API リファレンスドキュメント」を参照してください。

ユーザーエクスペリエンスのベストプラクティスと、チャットとデータ通信のユーザーインターフェイスに関する Microsoft の推奨事項については、「 Playfab パーティー UX ガイドライン」を参照してください。

Resources

プラットフォーム SDK サンプル
Windows 10、Windows 8.1 C++ SDKXbox Live ヘルパーライブラリ BumbleRumble
Xbox One (XDK) C++ SDKXbox Live ヘルパーライブラリ BumbleRumble
Windows 7 C++ SDKXbox Live ヘルパーライブラリ Pending
iOS C++ SDK チャットアプリ
Android C++ SDK チャットアプリ

Nintendo スイッチ、Sony PlayStation 4、および Google Stadia の Sdk にアクセスするには、特別な承認とプラットフォームポリシーへの準拠が必要です。詳細については、「メールまたはゲームマネージャーでお問い合わせください。

プラットフォーム SDK サンプル
Nintendo Switch C++ SDK チャットアプリ
Sony PlayStation 4 C++ SDK チャットアプリ
Google Stadia C++ SDK チャットアプリ

ゲームとその他のコンポーネントとの関係

情報表示

PlayFab パーティーはデータトランスポートを提供します。ゲームでは通常、初期接続情報を共有するために外部検出メカニズムやシグナリングメカニズムが必要です。 たとえば、多くのソーシャルプラットフォームでは、接続情報を含めることができ、シグナリングに使用できる招待システムが用意されています。 また、他のPlayfab マルチプレーヤー機能を利用することもできます。これには、合う仲間のようなプレーヤーのマッチメイキングなどがあります。 または、独自のカスタムテクノロジを使ってプレイヤーをランデブーすることもできます。

ポリシー

このゲームでは、プライバシーと権限の実装に基づいて、特定のプレイヤー間のリアルタイムのチャットまたはデータ通信が許可されているかどうかを判断する責任を負います (たとえば、特定のソーシャルプラットフォームを使用しているプレイヤーまたは禁止されているプレイヤーとのチャットのみが可能な制限付きアカウント)。

PlayFab パーティーでは、説明されたポリシーを、接続、ボイスチャット、テキストチャットを一緒に、または個別に適用するために効率的に適用します。 ヘルパーモジュールは、 Microsoft Xbox Liveなどの一部のソーシャルプラットフォームで利用できます。これらの機能は、Ecosystems の office と連携するために必要な一般的なタスクを処理します。

パーティーを含むすべてのPlayfab マルチプレイヤー機能は、デバイスとプラットフォーム間で相互運用可能なマルチプレイヤーエクスペリエンスを構築できるように設計されています。 クロスプレイを実装する場合は、業界のベストプラクティスを活用して、ゲームのマルチプレイヤーエクスペリエンスで他のデバイスのフォームファクターが誤って他のユーザーとの互換性がないようにする必要があります。また、これらの要素は、クロスプラットフォームのマルチプレイヤーアクティビティに適用されるすべてのプラットフォームポリシーに準拠する必要があります。

ゲームの状態

特定のゲームの状態を同期するために、ゲームでは、PlayFab パーティーにデータメッセージを送信するタイミング (または if) とペイロードの意味を決定する責任を負います。

PlayFab パーティートランスポートを使用すると、送信されたメッセージは、インターネットパケット損失が発生した場合でも、必要に応じて配信を保証する機能を利用して安全かつ効率的に配信され、環境でサポートされているメッセージより大きいメッセージを自動的に reassembling できます。 PlayFab パーティーでは、観測された待機時間など、継続的な接続品質のフィードバックも提供します。 ゲームでは、自分の設計と許容範囲に最も適した方法で、フィードバックを解釈し、調整、予測、または回復する方法を選ぶことができます。

PlayFab パーティーでのデータ伝送は、完全にオプションです。一部のゲームでは、チャット機能のみを使用します。

通信トポロジ

PlayFab パーティーは、さまざまな通信トポロジーをサポートしています。 すべてのチャットまたはデータメッセージは、1つのピアデバイスまたはユーザーから直接他のユーザーに対しては、概念的には透過的なクラウドリレーサービスを利用して、実際にピアツーピア接続を確立するときに、一般的な環境とセキュリティの問題を回避します。

このゲームでは、特定の方法でデバイスのコレクション内でその論理ピアツーピア通信を使用する必要はありません。 1つのデバイスを所有者 ("host") として扱うことも、すべてのピアを equals として扱うこともできます。

以下のいずれかのパターンを使用して、いつでもチャットを有効にしたり、データメッセージを送信したりできます。

  • 全員のユーザー
  • 1対多の uni
  • "teams" またはゲーム定義の "チャネル" に制限されている
  • 任意の対称または非対称サブセット、または上記の組み合わせ

1つのデバイスに複数のローカルユーザーを追加するだけでなく、同時に複数の異なるプレイヤーグループに接続することもできます。

PlayFab パーティーは、相互接続されたデバイス間でデータを交換するためのトポロジについては柔軟ですが、概念的なピアツーピアの向きは、権限のあるゲームの状態が1つ以上のユーザーのデバイスで管理されることを意味します。

一部のマルチプレイヤーゲームでは、この要件を満たすことができないデザインまたはモードが用意されています。たとえば、リソースが不足しているデバイスのフォームファクター、または競合している不正行為の問題が原因である可能性があります。 このことがゲームに当てはまる場合は、playfab パーティーをチャットに使用することに加えて、動的にスケーリングされたクラウド環境でカスタム専用ゲームロジックをホストするためにplayfab マルチプレイヤーサーバーを使用することを検討してください。