オープンゲームワールド
タイトルは、プレイヤー間のインタラクションを可能にするオープンゲームワールドをサポートしています。プレイヤーは、Player vs. Environment (PvE) 体験のためにオープンゲームワールドで緩やかにグループ化できます。Player vs. Player (PvP) 体験は 1:1 で、選択されたエリアでのみ許可されます。インスタンス化されたゲームセクション用のカスタムマッチメイキング
タイトルは、インスタンス化された PvP または PvE ゲームプレイセクションに入るプレイヤー用のカスタムマッチメイキングサービスを実装しています。このサービスは、プレイヤーとプレイヤーのチームをマッチングします。専用サーバー
タイトルのすべてのゲームプレイは専用サーバー上で実行されます。すべてのトラフィックはこれらのサーバーを経由します。チャット
タイトルはプレイヤー間の音声およびテキストチャットをサポートしています。すべてのトラフィックはサーバー経由でルーティングされます。消費アイテム
タイトルは、購入可能な (プレミアム) ゲーム内通貨のあるゲーム内ストアを提供します。プレイヤーはこの通貨を使用して、装飾アイテムを購入できます。ダウンロード可能コンテンツ (DLC)
購入可能なダウンロード可能コンテンツ (DLC) には、新しいプレイヤーキャラクタークラスをアンロックする新しいゲーム地域が含まれます。タイトルサービス
この例で、プレイヤーがゲーム起動後に最初に操作するタイトルサービスは、タイトルサインインサービスです。ゲームをプレイするには、プレイヤーはタイトルアカウントを作成し、それを XBOX Live アカウントとリンクする必要があります。アカウントは、タイトル内からまたはタイトルのウェブページから作成できます。 アカウントリンクでは、プレイヤーの XUID がタイトル固有のアカウントとリンクされます。アカウントリンクを実行するには、プレイヤーはタイトルアカウントのユーザー名とパスワードを使用してタイトル内で 1 回サインインします。XUID アクセスは使用前に承認される必要があり、開発者アカウントマネージャー (DAM) と協議する必要があります。タイトルのウェブページで、タイトルアカウントでサインインしたプレイヤーは、アカウントリンクのために Microsoft アカウントにもサインインする必要があります。タイトルアカウントには一意の ID (GUID) があり、これによりすべてのタイトルサービスがネットワーク元にかかわらずプレイヤーを処理できます。タイトルアカウントには、プレイヤーキャラクター、進行状況、インベントリ、およびすべてのプレイヤーメタデータなど、すべてのプレイヤー状態情報も保存されます。タイトルフロー
MMO ゲームの場合、クロスネットワーク機能の準拠フローは、プレイヤーがオープンゲームワールドにいるか、インスタンス化されたゲームプレイにいるかによって異なります。以下の手順はすべての場合に適用されます。- 権限の検証 プレイヤーサインイン後、タイトルはアクティブプレイヤーのマルチプレイヤー権限 (254 および 189) およびクロスネットワーク権限 (185) を検証します。いずれかの権限が拒否された場合、プレイヤーはタイトルに入ることができず、エラーダイアログが表示されます。この時点で、タイトルは音声およびテキストチャットのコミュニケーション権限 (252) をチェックし、機能を適切に制限する必要があります。
- クロスネットワーク通知 初回起動時、ゲームはクロスネットワーク機能がゲームプレイに含まれていることをプレイヤーに通知します。 以下の手順はオープンゲームワールドに適用されます。
- オープンゲームワールドに入ります。 プレイヤーはゲームにサインインすると常にオープンゲームワールドに入り、タイトルサーバーに接続します。
- オープンゲームワールドの Multiplayer Session Directory (MPSD) セッションに参加します。 オープンワールドゲームプレイ用のタイトルサーバーは、オープンゲームワールドのゲーム地域を反映する MPSD セッションを作成します。これらの MPSD セッションのうち 1 つ以上でゲームプレイ機能が有効化されています。すべての XBOX Live プレイヤーは、自分のゲーム地域のオープンゲームワールドセッションに参加します。サーバーは XBOX Live プレイヤーと XBOX Live を使用していないプレイヤーの両方に関する情報を保持します。オープンゲームワールドセッションは、XBOX Live プレイヤー向けの参加継続 (join-in-progress) と招待を許可し、サーバーがクライアントからの新しい接続を受け付けない場合にのみ closed に設定されます。
- オープンゲームワールドのゲームプレイを有効化します。 プレイヤー権限に応じて、他のプレイヤーとのゲームプレイ機能が利用可能になります。グローバルテキストチャットは、コミュニケーション権限が設定されているプレイヤーに対して常に有効になります。すべてのテキストチャットメッセージは、文字列検証サービスとブロックリストを使用して不適切な言語や用語をフィルタリングします。プレイヤー名にも同じ検証が使用されます。
インスタンス化された PvE または PvP ゲームプレイ
以下の手順は、インスタンス化された PvE または PvP ゲームプレイに適用されます。- グループ MPSD セッション。 XBOX Live プレイヤーの場合、タイトルは XBOX Live プレイヤーを追跡する MPSD セッションを作成します。XBOX Live を使用しないプレイヤーは、タイトルサービスを通じて追跡されます。
- グループ招待と参加継続。 この例では、ゲームデザインが参加または招待をプレイヤーグループに制限しています。グループ MPSD セッションは、XBOX Live プレイヤー向けの参加継続と招待をサポートするために使用されます。ゲーム内のクロスネットワーク招待は、タイトルサービスによってサポートされます。
- グループマッチメイキング。 タイトルは、グループ PvP または PvE マッチメイキングフロー向けのクロスネットワークマルチプレイヤーをサポートしています。この例では、プレイヤーはマッチメイキング UI を使用して PvP または PvE 体験を選択し、他のプレイヤーとインスタンス化されたプレイ体験にグループ化されます。
- ゲーム MPSD セッションを作成して参加します。 グループマッチメイキングの結果は、マッチサービスから XBOX Live へのサービス間呼び出しによって作成された MPSD ロビーセッションです。すべての XBOX Live プレイヤーがこのゲームセッションに参加し、インスタンス化されたゲームプレイ中はこのセッションにとどまります。サービスはカスタムプロパティを使用して、XBOX Live を使用しないセッション内のプレイヤーに関するヒントを追加提供します。これらのヒントは、フローの残りの間セッション状態を設定するためにクライアントロジックで使用できます。
- インスタンス化されたゲームプレイ。 すべてのプレイヤーが準備できたら、インスタンス化されたゲームプレイが開始されます。この例では、専用サーバーを通じて XBOX Live プレイヤー間でチャットも有効化されます。インスタンス化されたゲームプレイ中、ゲーム UI にプレイヤーのリストが表示されます。このリストは、プレイヤーのゲーマータグまたは他のネットワーク識別子を表示するオプション付きのタイトルキャラクター名リストです。XBOX Live プレイヤーは独自にハイライトされます。次のスクリーンショットはこのグループ UI の例を示しています。
- ゲームプレイの完了。 インスタンス化されたゲームプレイが完了すると、チームプレイヤーはオープンゲームワールドに戻ります。プレイヤーは MPSD ゲームセッションを離れ、オープンゲームワールドの MPSD セッションをアクティビティセッションとして設定します。
セッション管理
すべての XBOX 要件に準拠するために、タイトルは XBOX Live プレイヤー用に 2 つの MPSD セッションを作成します。オープンゲームワールド地域ゲームセッション
大規模な MPSD セッションが起動時にタイトルサービスによって作成されます。各タイトルサーバーインスタンスに対して XBOX Live へのサービス間呼び出しを通じて作成されます。タイトルサーバーインスタンスのすべてのプレイヤーは、対応する MPSD セッションに参加します。これらのセッションでは、サーバーは、お互いに交流する XBOX Live プレイヤーに対して遭遇 ID を設定し、最近のプレイヤーリストで正しく表現されるようにします。インスタンス化されたゲームセッション
このセッションは、マッチメイキングサービスから XBOX Live へのサービス間呼び出しによって作成されます。ゲームセッション内のすべての XBOX Live プレイヤー (チームを越えて) の予約が含まれます。XBOX Live プレイヤーの最近のプレイヤーリストを正しく設定するために使用されます。グループセッション
このセッションは、プレイヤーがグループを作成する (1 人のグループ) とすぐに作成されます。参加継続と招待をサポートするためのアクティビティセッションとして使用されます。ゲームデザインにより、特定のゲームモード中はプレイヤーが参加できません。これらのモードでは、closed プロパティを使用して参加継続と招待を無効化します。
XBOX Live を使用しないプレイヤーは、MPSD セッションでセッションメンバーとして直接表現されません。追跡目的で、タイトルは次のコード例のようにカスタムセッションプロパティで存在を反映します。
