XNA

今日から少しずつXNAについて勉強して行こうと考えている。XNAとはMicrosoftが打ち出したゲーム開発に特化した技術のことである。以下のような特徴がある。

  1. DirectXの後継である。
  2. C#を開発言語としている。
  3. プラットフォームはPCとXbox360である。

まず1について。現在PCでのゲーム開発には根底にほとんどがDirectX技術が用いられている。このXNAもPCゲーム開発の部分を見るとDirectXをベースにしたラッパーとして作られており、現状のVisualStudioの進化の方向である.Net方向への見通しとともにDirectXを.Net上で手軽に扱えるという側面を見せるライブラリとなっているようである。従って素直にDirectXの.Net進化と見ても大丈夫だと思われる。

次に2について。現在はこのXNAは開発言語にVisualC#2005だけが採用されているようである。先日正式リリースされたばかりのVisualC#2008でも使用することは可能ではあるが設定などがVisualC#2005に特化しているので色々と面倒になる。とりあえずXNAをやるのであれば素直に2005環境を準備するのがよさそうである。

最後に3について。プラットフォームはPC以外にXbox360のゲーム開発も可能である。すなわちこれは.NetFrameworkをXbox360上に移植していることを意味している。しかし残念ながらこれは素直に喜べる代物ではない。確かに実行モジュールは.NetFrameworkのCLRをターゲットとしたモジュールにコンパイルされており、それがそのままXbox360で稼動はするのだが、Xbox360XNA製ゲームを遊ぶ人はMicrosoftへライセンシーを支払わなければならないらしいのだ(※PCでの実行は無料です)。額はそれほどでは無いらしいのだが、果たして無料のゲームを実行するのは有料というのを受け入れてお金を支払う人がいかほどいるだろう??Microsoftのやることは最近本当に理解しづらくて難儀する・・・。当面はPCでのゲーム開発ツールと考えようと私は考えている。