|
XNA Game Studio Express正式版リリース記念 特別企画
.NET&Windows Vistaへ広がるDirectXの世界
Xbox 360で.NETとC#による自作ゲームを動かそう
NyaRuRu
Microsoft MVP Windows - DirectX(Jan 2004 - Dec 2007)
2007/01/10 |
|
4. まとめ(一連の流れを図解)
まず、ゲーム開発時の実行は次のような流れになる。Xbox 360のXNAの実行環境が、常にXbox Liveへの接続を確認しているため、開発中といえどもインターネット回線が必要である。また、ゲームの配置には必ずXNA GSEを使用するため、完成版のゲームをプレイする場合でも1度はXNA GSEを起動することになるだろう。実質的に、現時点で第三者にゲームを配布するには、XNA GSEで転送可能な必要最低限のファイル、つまりソリューション・ファイル一式を、相手のWindows環境に渡す必要がある。
 |
XNA GSEによるXbox 360用ゲームの開発から実行までの手順(図解) |
ゲーム開発時の実行はこのような流れになる。 |
|
 |
Xbox 360でXNA Game Launcherを起動(これ以後Xbox Liveへの接続と、XNA Creators Clubメンバーシップへの加入が確認される)。 |
|
 |
XNA Game Launcherから[Connect to Computer]を選択。 |
|
 |
XNA GSEでゲームをビルド。 |
|
 |
XNA GSEからXbox 360へゲームを配置。 |
|
 |
XNA GSEからデバッグ実行開始を指示。 |
|
 |
Xbox 360でゲームが実行開始される。 |
|
一方、配置済みゲームをプレイするだけであれば、Windows機は必要ない。しかしこの場合もXbox Liveへの接続を確認している状態であることが、プレイの条件となっている。
 |
Xbox 360に配置済みのゲームを実行する手順(図解) |
配置済みゲームをプレイする際はこのような流れになる。 |
|
 |
Xbox 360でXNA Game Launcherを起動(これ以後Xbox Liveへの接続と、XNA Creators Clubメンバーシップへの加入が確認される)。 |
|
 |
XNA Game Launcherから「My XNA Games」を選び、プレイするゲームを選択する。 |
|
 |
ゲーム実行開始。 |
|
これらをまとめると、次のようになる。
- 開発のみ、プレイのみにかかわらず、Xbox 360の上で実行するための権利が、有償の期限型サービスである
- 配置手段がXNA GSEに依存しているため、プレイのみを行いたいユーザーが手を出しにくい(無償ではあるが手間がかかる)。実質的にソリューション・ファイル一式を配布することになる*12
- デバッグ作業は、Windows環境での開発ノウハウの多くがそのまま利用できる
今回のXNAのリリースで実装された機能の多くが、このように、ゲーム利用者向けではなくゲーム開発者向けとなっているのは、Microsoftとしてもまずは開発者へのアピールを優先したためと考えられる。XNA FAQに載っているいくつかの回答からも、同様の意図を伺うことができるだろう。まずは開発環境としてのXNA GSEを魅力的にすることを目指す一方で、XNAというアプローチの潜在的なニーズを当のMicrosoft自身が計りかねているようにも見える。
ここで、筆者なりに今回初めてXbox 360上でゲームを実行させてみた感想を書いておこう。まずは、ちょっとやそっとのことではハングアップしない([Shift]+[F5]キーでいつもどおり止められる)ことと、ドキュメントが非常に丁寧に書かれていたことがとても印象的だった。XNAは教育機関の多くが興味を示しているとのことだが*13、確かにこの「ソフトウェア的な手堅さ」は教育目的で重視されるべき部分だと思う。まさに、よくドキュメント化されたOSの上で保護されたプロセスを実行している感覚だ。
ドキュメントについては、特にXNA GSEのIDE操作に関して丁寧に解説されており、新しい開発者を取り込もうとしている姿勢が確かに感じられた。日本でも、これら資料が翻訳されるだけでも、大きく間口が広がるのではないかと期待している。そのほか、ゲーム・コンテストの開催*14や、「できるXNA」といった解説書も予定されているということで、ドキュメントやコミュニティの準備が整ってくる今春以降が楽しみである。
最後に、「Microsoftがまだゲーム以外へのXNAの応用を優先していなくても、可能性としていま何ができるか知っておきたい」という方のために、XNA FAQになるべく重ならない範囲で、現在Xbox 360を使ってXNAでできること、できないことをまとめてみた。
【現時点で可能なこと】
- Xbox 360環境に.NETアセンブリと専用シリアライズ形式のデータ・ファイルを転送し、実行することができる
- 4スレッドまでを同時実行することができる
- カスタム・インポータを作成すれば、実質的に任意のバイナリ・ファイルを持ち込むことができる
- XNA Framework*15の範囲内で作られたアセンブリを使用できる
- DirectX 9.0c Shader Model 2.0+相当のAPIの実行(D5(1080p)出力にも対応)ができる
- XACTを利用したサウンド・BGMの再生やエフェクトが可能である
- Xbox 360コントローラからの入力と、振動操作が可能である
- USBキーボードからの入力が可能である
- 専用領域へのデータの読み書き(データ・セーブ用)ができる
【現時点でできないこと】
- 一切のネットワーク通信ができない
- 外付けカメラやマイクからのデータは取得できない
- マウス入力には非対応である
*15 英語版のMSDNライブラリには、すでにサポート・プラットフォームの欄に「XNA Framework」という項目ができている。ここで、「XNA Framework 1.0」と書かれているクラスやメソッドは、Xbox 360上でも使用することができるというわけだ。 |
参考になれば幸いである。
Insider.NET 記事ランキング
本日
月間