MonoGame
MonoGame(読み:ものげーむ)とは、Monoプロジェクトが開発しているXNA互換のゲーム開発用フレームワークである。
概要
XNAは実質的にXbox 360向けのゲーム開発用フレームワークであったがXbox Oneの登場とともに死んだ。 そしてMonoGameが生まれた。
その名の通り本来はゲームに使うものであるが、ゲーム以外の3Dを扱うアプリでも機種依存の激しいAndroidのなかでも特に機種依存の激しいパーツであるGPU周りを整流するミドルウェアとしても非常に有望である。
マジオススメ
本家XNAはWindowsとXbox 360が対象であったが、MonoGameではMac OS XやiOS、Androidといった最新鋭の環境に対応している。
iOSやAndroidは一般的なアプリ開発でもシミュレータや実機転送が遅すぎてデバッグ時にイライラ全開だが、MonoGameはMacにも対応しておりデバッグ実行が一瞬で行えるMonoMac向けにスマホ風の解像度でサクッと開発し、最終的にiOSやAndroid向けに微調整という手法を用いることができる。
この場合はソリューションを以下のようなプロジェクト構成にして、各プラットフォームからCoreプロジェクトを呼ぶようにすると良い。
- Core - MonoGame PCLプロジェクト(Gameクラスなどの実際のコード)
- Mac - MonoGame MonoMacプロジェクト(エントリポイントとコンテンツだけ)
- Android - MonoGame MonoMacプロジェクト(エントリポイントとコンテンツだけ)
なお、MonoMacでは実行速度が爆速であるためスマホ実機ではフレームレートが出ない現象には注意が必要である。定期的にスマホ実機で動作検証することをオススメする。
関連項目
以下に細かいネタを集めてある。