Azure PlayFab Party
このトピックでは、Microsoft Game Development Kit (GDK) で PlayFab Party を使用する方法について説明します。PlayFab Party を使用すると、柔軟で、インクルーシブで、安全な方法で、低遅延のチャットとデータ通信をゲームに簡単に追加できます。Party は、クラウドでホストされる専用サーバーを使用しないマルチプレイヤー実装 (ピアツーピア ゲームまたは P2P ゲームと呼ばれることもあります) に最適です。ゲーム ホストとしてクラウド サーバーを使用している場合でも、Party はアプリ内のソーシャル エクスペリエンス (たとえば、ゲーム内のチームやゲーム後のロビー) の音声通信とテキスト通信を実現します。Party は、XBOX One ERA Secure Sockets API の Microsoft Game Development Kit (GDK) における後継です。 Party は Azure Cognitive Services を使用してユーザーの音声チャットを文字起こしし、テキストを音声として合成します。この機能は主にアクセシビリティ支援として設計されています。PlayFab Party の音声チャットの一般的な使用は、分単位で課金されます。その音声時間 (分) の最大 10% は、文字起こしと合成を無料で使用できます。この機能の有効化は、簡単操作のユーザー設定に関連付けることをお勧めします。[!NOTE] Party はチャットをリアルタイムで翻訳することもできます。匿名のマッチメイキングや国際的な対戦ゲームでは、これらの文字起こし機能と翻訳機能により、より魅力的なマルチプレイヤー エクスペリエンスが実現します。PlayFab Party (および他のマルチプレイヤー サービス) の主な目標は、相互運用可能なマルチプレイヤー インフラストラクチャとクロスネットワーク ゲームプレイをサポートすることです。マルチプレイヤー エクスペリエンスが、マルチプレイヤーおよびクロスネットワークのユーザー アクティビティに関する該当するプラットフォーム ポリシーに準拠していることを確認してください。
PlayFab Party の機能
- 暗号化と認証: Party は、PlayFab のユーザー ID を使用してユーザー デバイスを認証し、DTLS に似たプロトコルでデータを暗号化します。
- デバイス間のデータグラム ネットワーク: Party の中核となるのは、Azure クラウド全体でグローバルにホストされているリレーです。ユーザー デバイスはこれらのリレーを使用して Party ネットワークを作成し、ゲーム データを相互に送信します。Party ネットワーク システムには、パケット損失が発生したときの自動再試行など、構成可能なトランスポート機能が含まれています。
- 音声チャットとテキスト チャット: ユーザー デバイスは、オーディオ デバイスを Party ネットワークにバインドして、リアルタイムの音声チャットを行うことができます。Party は、ユーザー間のテキスト チャット メッセージもサポートしています。
- 音声テキスト変換と音声合成: Party は、ユーザーの音声チャットを文字起こしし、テキスト メッセージの発話を合成できます。この機能にはさまざまな用途がありますが、主にアクセシビリティ支援として設計されています。
- リアルタイム翻訳: Party は、ユーザーの音声チャットとテキスト チャットのリアルタイム翻訳を理解し、合成できます。
Microsoft Game Development Kit (GDK) に関する考慮事項
XBOX services の要件
XBOX services タイトルのユーザー通信は、ユーザーの安全性に関するいくつかの要件を満たす必要があります。PlayFab Party を PlayFab Party XBOX services プラグインと共に使用すると、タイトルが XBOX services のすべての通信要件とセキュリティ要件を満たすことが保証されます。[!NOTE] XBOX Requirement (XR) は、ゲームを XBOX プラットフォームで公開する前に満たす必要がある要件です。
- XR-015: プレイヤーのコミュニケーションの管理。
- XR-045: XBOX services とアカウントの特権。XBOX services プラグインは、XPRIVILEGE_COMMUNICATIONS の部分のみを適用します。タイトルが他の XBOX services 機能を使用する場合は、必要な特権チェックを実行する必要があります。
- XR-072: 音声のサポート。
- クロスネットワーク プレイ: PlayFab Party は、サーバーを必要とするクロスネットワーク ゲームプレイの部分のみを適用します。必要な特権チェックと XBOX services とのやり取りは、タイトルの責任で行う必要があります。
- XR-064: 参加可能なゲーム セッションとオンライン プレイ
- XR-067: 最近一緒にプレイしたユーザーとのやり取りの維持
ネットワークの初期化
PlayFab Party は、Microsoft Game Development Kit (GDK) タイトルのネットワークの初期化を自動的には処理しません。PlayFab Party を呼び出す前に、ネットワークが初期化されるまで待機してください。ネットワークが初期化されるまで、Party API は失敗します。中断と再開
RegisterAppStateChangeNotification を使用して、中断イベントと再開イベントを登録する必要があります。中断時には、PartyManager::Cleanup() を使用して Party をクリーンアップします。再開時には、PartyManager::Initialize() を呼び出す前に、再度ネットワークの初期化を待機する必要があります。中断/再開サイクルをまたいで Party API を使用しようとすると、Party API は失敗します。
PartyManager::Cleanup() が完了するまでに数百ミリ秒かかる場合があります。中断のタイムアウトを回避するために、他の中断操作と並行して Party をクリーンアップすることをお勧めします。Partymanager::Cleanup() を非同期に呼び出す場合は、Party のクリーンアップが戻るまで中断通知をブロックするようにしてください。
価格情報
XBOX services の ID を使用することで、Microsoft Game Development Kit (GDK) では PlayFab Party を無料で使用できます。価格と課金の詳細については、「XBOX services Free Program FAQ」を参照してください。PlayFab ポータルでのタイトルの構成
- https://developer.playfab.com/ にアクセスし、アカウントを作成します。
- 新しいアカウントを使用して、PlayFab スタジオとタイトル ID を作成します。
- 新しく作成したタイトルに移動し、Multiplayer セクションを選択してから、Party (Preview) タブを選択します。
- Enable を選択し、アクセス コード XBOX Live を入力します。しばらくすると Party が有効になります。
- API Features タブで、PlayFab タイトル ID とエンティティ ICD をコピーします。
- タイトル ID とエンティティ ICD を、クライアントの PlayFab Party API 初期化関数に追加します。これで、Microsoft Game Development Kit (GDK) タイトルで PlayFab Party を使用できるようになります。
Visual Studio を使用して Microsoft Game Development Kit (GDK) プロジェクトに PlayFab Party ライブラリを追加する
- Visual Studio のソリューション エクスプローラーでプロジェクトを右クリックし、プロパティ を選択します。
- 構成プロパティ で、XBOX One セクションに移動します。
- Gaming Extension Libraries ドロップダウン リストを選択し、PlayFab Party と XBOX Live Helper への参照を追加します。
[!NOTE] ライブラリは、既定の場所である Program Files (x86)\Microsoft GDK[Version]\GRDK\ExtensionLibraries\PlayFab.Party.Cpp\Redist\x64 (October 2024 以降) または Program Files (x86)\Microsoft GDK[Version]\GRDK\ExtensionLibraries\PlayFab.Party.Cpp\Redist\CommonConfiguration\neutral (June 2024 以前) にインストールされます。
