Monoプロジェクトの命脈を受け継ぐ「MonoGame」
オープンソースに興味がある方ならその名前から推測できるように、MonoGameの根幹にあるのは「Mono」という名称で知られるオープンソースプロジェクトだ。もともとはLinuxなどのオープンソース環境向けに、Microsoftの「.NET Framework」を移植するプロジェクトとしてスタートし、Novellによって商用利用が進められていた。基本的にはランタイム環境を整備するためのものだが、「MonoDevelopのようなIDEの提供も行なわれるなど、ひと通り開発環境が整備されつつある印象を受ける。
現在Monoの権利は、Novellから、Mono開発者らによって設立されたXamarinへと移管されており、継続的にアップデートされている。当初はLinuxやMac OS Xをカバーする程度だったが、他のUNIX系プラットフォームのほか、「Xamarin.iOS」「Xamarin.Android」という形でモバイルOSをサポートするようになり、多くのメジャープラットフォームをサポートするに至った。
そして今回のトピックであるMonoGameは、.NET Frameworkをベースに開発された「XNA Framework」をWindows以外のプラットフォームに移植するプロジェクトということになる。XNAは2004年に米サンフランシスコで開催されたGame Developer Conference(GDC)で初めて発表され、WindowsならびにXbox 360をまたいだクロスプラットフォーム開発が可能な環境として、ゲーム開発を盛り上げるべく大々的にアピールされた経緯がある。特に包括的なAPIセットのほか、クロスプラットフォーム開発から実際のゲーム配布までを通しで行なえる「XNA Game Studio」と呼ばれるツールセットが大きな位置を占めており、メジャーベンダーでもXNAを採用したゲーム開発が進められるに至っている。
一方、現状では「Windows 8.x」「Windows Phone 8」といった最新プラットフォームをターゲットとしたゲーム開発がXNA Game Studioでは行なえず、これらプラットフォームでの利用は旧OS互換モードを利用しての動作に留まっている。またすでに、MicrosoftがXNA Game Studioに対する継続投資を終了したという話が出ているため、今後のサポートはもう期待できないとみられている。Windows 8以降でのModern UIを用いたメジャータイトルが出揃っていない現状とはいえ、この点が将来的にはマイナスだ。
ただし、DirectXなどのローレベルAPIの開発そのものをMicrosoftが停止したわけではないため、「XNA Game Studio」を使っての統合開発に制限があるという状況にすぎない。XNAそのものは非常に便利なプラットフォームであるため、これら制限を踏まえたうえで、特に大規模なツールセットを自前で用意するのが難しいインディーズ系ゲーム開発者にとっては依然として有用だといえるだろう。