XNA Game Studio と XNA Framework

XNA Game Studio は、Microsoft がコミュニティ向けに無償で提供している新しいゲーム開発環境です。これを利用して開発したゲームは、Windows 上ではもちろんですが、ほどんと同じコードのままで Xbox 360 上でも動作させることができます。Microsoftの携帯音楽プレイヤーである Zune 向けのゲームも同環境で製作できます。

Windows 向けのゲーム開発では C++ 言語を使い DirectX で描画する方法が一般的ですが、ネイティブコードは対象のプラットフォームに強く依存してしまうため Windows 以外へのシステムに移植するには多くのコードを変更しなければなりません。一方 XNA Game Studio で開発するゲームは .NET Framework をベースとする XNA Framework を実行基盤とします。そのため、Windows 以外のシステムでもコードを変更することなく移植できます。現在 XNA Framework に対応しているのは、前述したように Windows、Xbox 360、Zune の3種類ですが、将来は Windows Mobileへの対応なども期待されています。

図01 XNA Framework の構造

XNA Framework は、.NET Framework を基礎にゲームに必要となる各種 API を提供しています。Windows PC 上で動作する XNA Framework ゲームは、Windows 上にインストールされているフルセットの .NET Framework の機能にアクセスできます。現実的ではありませんが、Windows フォームや WPF のような他の GUI フレームワークと相互運用することもできます。

一方、Xbox 360 や Zune では、最小限の機能だけを提供する .NET Compact Framework をベースとするため、Windows PC のようなフルセットの機能は使えません。特に Xbox 360 はセキュリティのために制限が強く、ネットワークやシステムにアクセスする機能を使うことはできません。

XNA Framework ゲーム開発に正式対応するプログラミング言語は C# 言語のみです。コンパイルによって生成されるプログラムは共通言語ランタイムで実行するためのマネージコード(中間言語)になります。C# 言語と .NET Framework の開発経験者であれば、これまでの開発経験を応用できるでしょう。未経験者の方には、XNA Game Studio の学習よりも先に C# 言語と .NET Framework について学習されることを推奨します。

Xbox 360 でゲームを実行する

通常、Xbox 360 のような家庭用ゲーム機でアマチュアが開発したゲームを動かすことはできません。実機でのゲーム開発は、メーカーとライセンス契約を結び開発環境を購入しなければなりません。XNA Game Studio であれば、個人の開発者や小規模な組織でも Xbox 360 で動作するゲームを製作できます。

Windows 上での開発やデバッグは完全に無償で行うことができ、登録も不要です。一方、Xbox 360 でゲームを動かすには XNA Creators Club に登録する必要があります。詳細は、公式ページ「XNA Creators Club Online」をご覧ください。

Creators Club に登録するには、Xbox LIVE Marketplace の「XNA Creators Club」からメンバーシップを購入しなければなりません。メンバーシップの購入は、4カ月間と 12カ月間を選択できます。支払方法はクレジットカードのみです。購入したメンバーシップは、Xbox ゲーマータグ及び Windows Live ID に関連付けられます。

* XNA Creators Club 4カ月間のメンバーシップ:4,800円
* XNA Creators Club 12カ月間のメンバーシップ:9,800円

XNA Game Studio の対象者が法人やプロフェッショナルではなく趣味で開発するコミュニティや学生であることを考えれば、メンバーシップの購入も安いものではないでしょう。ただちに Xbox 360 で動かしたいプログラムがある場合を除いて、ゲームをある程度作ってからメンバーシップを購入することをお勧めします。最初は Windows 環境でゲームの開発やテストを行い、ある程度慣れてから本格的に Xbox 360 用のゲームを作るときにメンバーシップを購入してください。

完成したゲームの配布

作ったゲームは、誰かに遊んでもらわなければ意味がありません。

Windows 向けのゲームであれば、他の一般的なアプリケーションと同じように完成したプログラムを自由に配布できます。ユーザーの環境には .NET Framework と XNA Framework をインストールしてもらわなければなりませんが、XNA Game Studio のインストールは(ゲーム内で開発向けの機能を使っていない限り)不要です。ゲームの配置には ClickOnce を利用することもできます。

一方、Xbox 360 用のゲームの実行には大きな制限が加えられています。Windows ゲームのように Web や CD などのメディアを通してパッケージを配布することはできません。XNA Game Studio のプロジェクトデータごと、ソースファイルや画像ファイルなどのその他のリソースをすべて含めて配布したとしても、XNA Creators Club のメンバーシップがなければ実行でないので一般的なユーザーはゲームを Xbox 360 で遊ぶことはできません。

Xbox 360 のゲームを一般のユーザーに届けるには、一度 XNA Creators Club にゲームを登録し、他のメンバーによるレビューを受けなければなりません。一定の期間、ゲーム内に不適切な表現や致命的なバグがないかなどのフィードバックを受けます。レビューを通過して承認されれば、Xbox LIVE Indie Games という形で Xbox LIVE Marketplace を通じてユーザーに配信できるようになります。この手続きによって未完成のゲームが氾濫することを防ぎます。

XNA Game Studio の入手とインストール

XNA Game Studio をインストールするには、先に Visual Studio 2008 または Visual C# 2008 Express Edition をインストールする必要があります。両方がインストールされている環境でも問題はありません。Visual C# Express Edition は無償でダウンロードできます。本連載では Visual C# 2008 Express Edition を使用することを前提に解説を進めます。

Microsoft Visual Studio 2008 Express Edition

Visual Studio 2008 または Visual C# 2008 Express Edition をインストールした後、最新のサービスパックが適用されているかを確認してください。

次に XNA Game Studio 、以下の XNA デベロッパーセンターからダウンロードしてください。

XNAデベロッパーセンター

Visual Studio や XNA Game Studio のインストール方法や、インストールに必要な環境などの詳細は上記の公式サイトをご覧ください。