メインコンテンツへスキップ
このトピックでは、マルチプレイヤー API の直接使用について説明します。Microsoft Game Development Kit (GDK) を使用してタイトルを開発する際のマルチプレイヤー機能の概要については、以下のトピックを参照してください。

Multiplayer システムについて

2015 Multiplayer は、Multiplayer Session Directory (MPSD) およびゲーム セッションの直接使用を最適化します。これは、単一のタイトルまたはプレイヤーの複数の同時セッションに対するより優れたサポートを提供し、XBOX Services API (XSAPI) を更新して、タイトルが次のことを行えるようにします。
  • プレイヤーの現在のアクティビティおよび参加可否をアドバタイズする。
  • プレイヤーに見える (タイトルが指定する) コンテキスト文字列とともに、セッションへの招待を送信する。
  • タイトル コードを介してセッションを検出および参加する。
  • MPSD への Web ソケット接続を維持し、セッションの変更に関する簡単な通知 (ショルダー タップ) を受信できるようにする。たとえば、変更イベントへのサブスクリプションおよび接続状態変更を反映する更新など。MPSD は Web ソケット接続を使用して、クライアントの切断を迅速に検出して対処します。
  • SmartMatch マッチメイキングを使用する。

Multiplayer のコンポーネント、インターフェイス、アーキテクチャ

2015 Multiplayer のコンポーネント

Multiplayer は、複数のコンポーネントで構成されるシステムです。2015 Multiplayer は、専用サーバーや外部マッチメイキング システムなど、他のコンポーネントとも連携できる十分な柔軟性を備えています。

Multiplayer Session Directory

MPSD は、セッションのコレクションを保持するサービスです。セッション は、クラウドに存在し、ゲームをプレイしている人々のグループを表す安全なドキュメントとして定義されます。 詳細については、Multiplayer Session Directory (MPSD) を参照してください。

Multiplayer クライアント API

REST 機能はタイトルからの直接呼び出しに使用できますが、XSAPI を介して MPSD にアクセスすることを推奨します。詳細については、MPSD の呼び出し を参照してください。

XBOX パーティ システム

2015 Multiplayer では、XBOX パーティ システムは外部エンティティとしてチャット パーティのみをサポートしています。タイトルは、パーティ システムと対話してチャット パーティのメンバーシップを検出できます。詳細については、このトピックの後半にある 2015 Multiplayer でサポートされているパーティ を参照してください。 パーティ システムは、ゲーム パーティを使用する代わりに、MPSD セッションを介したゲーミングを直接サポートするようになりました。セッションを使用して、メンバー間のやり取り、空きができたときのゲームへのプレイヤーの引き入れ、待機期間中のプレイヤー エンゲージメントなどの操作を有効にするのはタイトル次第です。

2015 Multiplayer インターフェイス

2015 Multiplayer は、他の XBOX コンポーネントに対して複数のインターフェイスを使用します。

XBOX セキュア ソケット

2015 Multiplayer は、XBOX セキュア ソケットと Winsock を使用して、デバイス間の低レベルのネットワーク通信をサポートします。ネットワーク機能では、Internet Protocol Security (IPSec) を使用しており、タイトルが安全なデバイス関連付けを提供できるようにします。

XBOX services Real-Time Activity サービス

2015 Multiplayer は Real-Time Activity (RTA) サービスを使用して、タイトルが MPSD セッションの変更をサブスクライブし、クライアントの切断を自動的に検出できるようにします。詳細については、Real-Time Activity (RTA) サービス を参照してください。

XBOX services SmartMatch マッチメイキング サービス

SmartMatch マッチメイキング サービスは、マッチメイキング中に提供されるプレイヤーの好みやデータ、情報に基づいてプレイヤーのグループを形成します。詳細については、マッチメイキングの概要 を参照してください。

XBOX services Reputation サービス

Reputation サービスは、評判に関するプレイヤー統計を管理し、評判でフィルタリングされたマッチメイキングを可能にします。2015 Multiplayer は、SmartMatch マッチメイキングを介して Reputation サービスを使用します。詳細については、Reputation を参照してください。

一般的な 2015 Multiplayer アーキテクチャ

このセクションでは、最も一般的な 2015 Multiplayer アーキテクチャを紹介します。

ピアツーピア アーキテクチャ

ピアツーピア アーキテクチャでは、タイトルは MPSD と SmartMatch マッチメイキングを使用してピア アドレスを検出します。次に、タイトルは、以下の図に示すように、XBOX セキュア ソケットを使用してピアを接続するためにこれらのアドレスを使用します。詳細については、Windows ソケットの概要 を参照してください。 ピアツーピア アーキテクチャを示す図

クライアント/サーバー アーキテクチャ

クライアント/サーバー アーキテクチャでは、タイトルは MPSD と SmartMatch マッチメイキングを使用して専用サーバー アドレスを検出します。次に、タイトルは、以下の図に示すように、XBOX セキュア ソケットを使用して専用サーバーに接続するためにこれらのアドレスを使用します。詳細については、Windows ソケットの概要 を参照してください。 クライアント/サーバー アーキテクチャを示す図
Azure PlayFab サーバーのインスタンスは、クライアント/サーバー アーキテクチャのサーバーになることができます。詳細については、Multiplayer Servers を参照してください。

2015 Multiplayer でサポートされているパーティ

XBOX One (以降) 向けの 2015 Multiplayer では、システム レベルの構成として「ゲーム パーティ」は公開されていません。ただし、2014 Multiplayer と同様に、システム レベルで「チャット パーティ」はサポートしています。また、MPSD セッションを使用することで、タイトルはゲーム パーティを使用したときと同様のプレイヤー エクスペリエンスを引き続き提供できます。

チャット パーティ

チャット パーティ は、プレイヤーが XBOX One Party アプリを介して管理する、互いにチャットしている人々のグループです。プレイヤーはゲーム セッションでプレイ中や、別のコンソール アクティビティを実行中も、チャット パーティに参加できます。ただし、チャット パーティのプレイヤーとそれらのプレイヤーの他のアクティビティとの間には関連付けはありません。 チャット パーティは PartyChat クラスによって公開されており、タイトルはチャット パーティの状態を調べることができます。たとえば、タイトルは PartyChat.GetPartyChatViewAsync メソッドを使用して、チャット パーティのメンバーを列挙できます。

ゲーム パーティに類似した機能の実装

2014 Multiplayer では、ゲーム パーティはいくつかの目的で使用されていました。タイトルは以下のことを行えました。
  • プレイヤーの現在のアクティビティおよび参加可否をアドバタイズする。
  • セッションへの招待 (インバイト) を送信する。
  • セッションを検出および参加する。
  • パーティに登録されたセッションの特定の変更に関する通知を受信する。
  • SmartMatch マッチメイキングを使用する。
  • 複数のゲーム セッションを通じて人々のグループを一緒に保つ。
2015 Multiplayer は、MPSD セッションを通じてこれらすべての機能を直接サポートしています。

Multiplayer の用語

2015 Multiplayer の新機能

タイトルが 2015 Multiplayer を使用する場合、2014 Multiplayer のパーティ関連クラスは使用しないでください。2015 Multiplayer 機能とパーティ関連クラスを混在させると、一貫性のない動作を引き起こすため、絶対に避けてください。

2015 Multiplayer の新しい概念

MPSD への Web ソケット接続

MPSD は、タイトルが Web ソケット接続を維持できるようになりました。これらの接続により、クライアントはセッションが変更されたときに通知を受信できます。 詳細については、トピック「Multiplayer Session Directory の概要」の MPSD 変更通知処理と切断検出 セクションを参照してください。

MPSD セッション ハンドル

2015 Multiplayer では MPSD セッション ハンドルのサポートが追加されました。これは、型指定されたデータを含むことができるセッションへの参照です。詳細については、以下を参照してください。

XBOX 360 と XBOX One の MPSD セッション関数の違い

セッション

XBOX 360 では、セッションはゲームプレイのインスタンスを表していました。プレイヤーはマッチメイキング サービスでセッションを検索し、セッションの終了時に統計を報告しました。 XBOX 360 以降のすべてのターゲット プラットフォーム (Windows PC を含む) では、セッションはより一般的で、プレイヤーのグループを表します。 XBOX クライアント間のネットワーク接続にはセッションが必要であり、セッション内のすべてのプレイヤー間で共有される情報を保持します。この情報の例には、セッションで許可されるプレイヤー数、セッション内の各コンソールのセキュア アドレス、カスタム ゲーム データなどが含まれます。

XBOX マッチメイキング

XBOX 360 では、タイトルは属性のスキーマとそれらの属性を検索するクエリのセットを指定することでマッチメイキングを実行しました。実行時に、タイトルはセッションをホストするか、セッションを検索するかを選択しました。 XBOX One (以降) や Windows PC など、より新しいすべての XBOX クライアントでは、マッチメイキングはサーバー ベースです。プレイヤーとタイトルは、ホストするか検索するかを決定する必要はなくなりました。代わりに、事前に形成されたプレイヤーの各グループが「チケット」セッションを作成し、そのセッションをマッチメイキング サービスに送信します。 サービスは次に、他のセッションを見つけ、グループを組み合わせて新しい「ターゲット」セッションを形成します。クライアントは一致について通知され、ゲームプレイを開始する前に他のセッション メンバーとの接続を検証するために quality of service (QoS) 測定を実行します。

関連項目

Multiplayer Session Directory (MPSD) マッチメイキングの概要 Real-Time Activity (RTA) サービス Reputation
最終更新日 2026年10月20日