カテゴリ:MonoGame

提供: MonoBook
ナビゲーションに移動 検索に移動

MonoGame(読み:ものげーむ)とは、Monoプロジェクトが開発しているXNA互換のゲーム開発用フレームワークである。

概要

かつて「XNA」というゲーム開発用のフレームワークがあった。これはWindowsXbox 360ゲームが簡単に作れるという代物であり、さらに開発したものはインディーズ(=同人)でも家庭用ゲーム機にゲームを出せるとあって大いに盛り上がった。

しかしマイクロソフトXbox 360の終焉とXbox Oneの誕生に際してXNAの廃止を決定した。いわゆるUnityなどのマウスでポチポチ系のゲームエンジンの普及により、従来型のプログラミングによるゲーム開発は急激に衰退していたためである。もう本屋に行ってもDirectXの入門書すらない状況なので仕方がない。

ただプログラミングによるゲーム開発を好む人も少なからず存在した。そしてMonoGameが生まれた。本家XNAWindowsXbox 360が対象であったが、MonoGameではMac OS XiOSAndroidといった最新鋭の環境に対応している。

2017年3月、MicrosoftXamarinを買収した絡みで、MonoGame 3.6からXbox OneWindows 10を公式にサポートすることとなった(UWPをサポートすることとなった)。

マルチプラットフォーム

iOSAndroidはシミュレータや実機転送が遅すぎて一般的なアプリ開発でもデバッグ時にイライラ全開だが、MonoGameはMacにも対応しており起動の速いXamarin.Mac向けにスマホ風の解像度でサクッと開発し、最終的にiOSAndroid向けに微調整という手法を用いることもできる。

この場合はソリューションを以下のようなプロジェクト構成にして、各プラットフォームからCoreプロジェクトを呼ぶようにすると良い。

  • Core - MonoGame PCLプロジェクト(Gameクラスなどの実際のコード)
  • Mac - MonoGame MonoMacプロジェクト(エントリポイントとコンテンツだけ)
  • Android - MonoGame MonoMacプロジェクト(エントリポイントとコンテンツだけ)

なお、Xamarin.Macでは実行速度が爆速であるためスマホ実機ではフレームレートが出ない現象には注意が必要である。定期的にスマホ実機で動作検証することをオススメする。

機種依存の吸収

その名の通り本来はゲームに使うものであるが、ゲーム以外の3Dを扱うアプリでも利用できなことはない。とくに機種依存の激しいAndroid、そのなかでも飛び抜けて機種依存の激しいパーツであるGPU周りを整流するミドルウェアとしても非常に有望である。

ただしMonoGameを使うとUI周りの開発が面倒になる。MonoGameにサクッとGUIを実装するライブラリは出ているが、どれもPC向けばかりで、現在の主流であるスマホ向けのUIフレームワークもほとんどない。


利用方法

Xamarin Studioの場合

Xamarin Studio を使っている場合はMonoGame本体を入れた段階でプロジェクトテンプレートも追加されるので何もする必要はない。 新規ソリューション作成時(新規プロジェクト作成時)に「MonoGame」という項目が増えているはずである。

Visual Studio for Macの場合

1. 以下から最新の「.mpackファイル」をダウンロードする。

2. Visual Studio for Macの「拡張機能」を開く

Visual Studio for Macの拡張機能.png

3. ダイアログの下部にある「ファイルからインストール」から.mpackファイルを選ぶ。

Visual Studio for Macの拡張機能2.png


4. おわり。もしかしたらVisual Studio for Macを再起動したほうがいいかもしれない。

カテゴリ「MonoGame」にあるページ

このカテゴリには 54 ページが含まれており、そのうち以下の 54 ページを表示しています。

M