XNA Framework: ネットワーク機能とLIVEサービスの使用要件

 

この度リリースされた XNA Game Studio 2.0 (Beta) に追加された新機能はいくつかありますが、最も特筆するべき機能はやはりネットワークライブラリの追加です。XNA Framework の機能強化により Xbox LIVE および Games for Windows - LIVE のサービスが一部利用可能になりますが、詳細な解説に入る前に、まずネットワーク機能を実装する2通りのソリューションを下記の通り定義します。

 

・システムリンク:

いわゆるLAN接続によるネットワーク通信の手法です。使用している実機のローカルサブネット上にゲームのセッションを作成、もしくはすでに存在するセッションに参加することが可能です。システムリンクによるネットワークゲームはローカルプロフィールを使用し、Xbox LIVE、もしくは Games for Windows – LIVE のオンラインプロフィールは使用しません。

・Xbox LIVE / Games for Windows – LIVE

インターネット接続を介し、LIVE サービスの一部であるマッチメイキングサービスを利用する手法です。LIVE によるネットワークゲームは Xbox LIVE、もしくは Games for Windows – LIVE のオンラインプロフィールが必須です。

 

次にいくつかのシナリオを取り上げてみます。

 

「PC と Xbox 360 の間で通信を行うゲームを作るためには?」

最もシンプルな開発環境です。LIVE のプロフィール(シルバー会員でも可)、XNA Creators Club のメンバーシップ、そして LIVE への常時接続さえ用意できれば PC⇔ Xbox 360 間のシステムリンク通信が可能です。現行の XNA Game Studio Express 1.0 で Xbox 360 の開発を行うための条件と同一です。

 

「同じサブネット上にある 2台の Xbox 360 の間で通信を行うゲームを作るためには?」

このシナリオを実現するためには LIVE のプロフィール(シルバー会員でも可)が2つ、それぞれの LIVE プロフィールに XNA Creators Club メンバーシップが1つずつ付与されている必要があります。現行の XNA Game Studio Express 1.0で独立したゲームを複数台の Xbox 360 上で同時に実行するための条件と同一です。

 

「同じサブネット上にある 2台の PC の間で通信を行うゲームを作るためには?」

XNA Game Studio 2.0 では複数のネットワークゲームのインスタンスを同時実行することがサポートされていないため、最初に PC を2台用意する必要があります。XNA Creators Club のメンバーシップは特に必要はありませんが、それぞれの PC 上でゲームのインスタンスを立ち上げ、システムリンクによるマッチメイキングを実装する必要があります。

 

「自分の Xbox 360 と 離れた場所にある友達の Xbox 360 との間で通信するゲームを作るためには?」
この場合、接続したい Xbox 360 が異なるサブネット上に配置されるために、システムリンクによる通信が行えません。LIVE サービスを使用することで自分と友達の Xbox 360 を繋げることができますが、それぞれのユーザーが LIVE のゴールド会員であり、なおかつ XNA Creators Club に加入している必要があります。なお、システムリンクではなく、LIVE のマッチメイキングを利用する場合はネットワークセッションの作成時に NetworkSessionType.PlayerMatch を指定する必要があります。

 

「自分の PC と離れた場所にある友達の PC との間で通信するゲームを作るためには?」
LIVE のサービスを利用してネットワークゲームを作る際には、ターゲットするプラットフォームにかかわらず XNA Creators Club メンバーシップとゴールドメンバーシップが付与されている LIVE のプロフィールが、同時に LIVE へ接続する実機の台数分が必要になります。上記の「自分の Xbox 360 と離れて場所になる友達の Xbox 360 との間で通信するゲームを作るためには?」と同一の条件です。もちろんネットワークセッションの作成時にNetworkSessionType.PlayerMatch を指定する必要があります。

 

何故 Games for Windows – LIVE のサービスを利用するために XNA Creators Club のメンバーシップが必要になるのか、と疑問に思う方もいるかもしれません。この制限は XNA Game Studio で制作されたゲームが、商用化されている Xbox LIVE / Games for Windows – LIVE のゲームと同一のサービスを利用するうえで、LIVE サーバーのセキュリティと品質を保つために設けられているのが主な理由です。
上記のシナリオから、LIVE サービスを利用するための要件が現行の XNA Game Studio Express 1.0 の使用要件とほぼ同様です。少なくとも同一サブネット上にある PC ⇔ Xbox 360 の通信は XNA Game Studio Express 1.0 と同じ条件を設けているので、すでに Xbox 360 で動くゲームを開発している方にとっては新たな要件はございません。

XNA Framework を活用して LIVE サービスの機能を利用するための詳細情報は XNA Game Studio 2.0 (Beta) のドキュメント(英語)に含まれています。