「カテゴリ:MonoGame」の版間の差分
imported>Administrator |
Administrator (トーク | 投稿記録) 編集の要約なし |
||
| (4人の利用者による、間の7版が非表示) | |||
| 1行目: | 1行目: | ||
'''MonoGame'''(読み:ものげーむ)とは、[[ | '''MonoGame'''(読み:ものげーむ)とは、[[XNA]]互換のゲーム開発用の[[フレームワーク]]である。 | ||
== 概要 == | ==概要== | ||
[[XNA]] | かつて「[[XNA]]」というゲーム開発用の[[フレームワーク]]があった。これは[[Windows]]と[[Xbox 360]]の[[ゲーム]]が簡単に作れるという代物であり、さらに開発したものは[[インディーズ]](=[[同人]])であってもXbox Live マーケットプレイス(公式オンラインストア)で発売できるとあって大いに盛り上がった。 | ||
しかし[[マイクロソフト]]は[[Xbox 360]]の終焉と[[Xbox One]]の誕生に際してXNAの廃止を決定した。いわゆる[[Unity]]などの[[マウス]]でポチポチ系の[[ゲームエンジン]]の普及により、従来型の[[プログラミング]]によるゲーム開発は急激に衰退していたためである。もう本屋に行っても[[DirectX]]の入門書すら売っていない状況なので仕方がない。 | |||
ただプログラミングによるゲーム開発を好む人も少なからず存在した。そしてMonoGameが生まれた。本家[[XNA]]は[[Windows]]と[[Xbox 360]]が対象であったが、MonoGameでは[[macOS]]や[[iOS]]、[[Android]]といった最新鋭の環境に対応している。 | |||
2017年3月、[[Microsoft]]が[[Xamarin]]を買収した絡みで、MonoGame 3.6から[[Xbox One]]と[[Windows 10]]を公式にサポートすることとなった([[UWP]]をサポートすることとなった)。 | |||
==マルチプラットフォーム== | |||
== マルチプラットフォーム == | |||
[[iOS]]や[[Android]]はシミュレータや実機転送が遅すぎて一般的なアプリ開発でも[[デバッグ]]時にイライラ全開だが、MonoGameは[[Mac]]にも対応しており起動の速い[[Xamarin.Mac]]向けにスマホ風の解像度でサクッと開発し、最終的に[[iOS]]や[[Android]]向けに微調整という手法を用いることもできる。 | [[iOS]]や[[Android]]はシミュレータや実機転送が遅すぎて一般的なアプリ開発でも[[デバッグ]]時にイライラ全開だが、MonoGameは[[Mac]]にも対応しており起動の速い[[Xamarin.Mac]]向けにスマホ風の解像度でサクッと開発し、最終的に[[iOS]]や[[Android]]向けに微調整という手法を用いることもできる。 | ||
この場合はソリューションを以下のようなプロジェクト構成にして、各プラットフォームからCoreプロジェクトを呼ぶようにすると良い。 | この場合はソリューションを以下のようなプロジェクト構成にして、各プラットフォームからCoreプロジェクトを呼ぶようにすると良い。 | ||
* Core - MonoGame PCLプロジェクト(Gameクラスなどの実際のコード) | |||
* Mac - MonoGame MonoMacプロジェクト(エントリポイントとコンテンツだけ) | *Core - MonoGame PCLプロジェクト(Gameクラスなどの実際のコード) | ||
* Android - MonoGame MonoMacプロジェクト(エントリポイントとコンテンツだけ) | *Mac - MonoGame MonoMacプロジェクト(エントリポイントとコンテンツだけ) | ||
*Android - MonoGame MonoMacプロジェクト(エントリポイントとコンテンツだけ) | |||
なお、[[Xamarin.Mac]]では実行速度が爆速であるため[[スマホ]]実機では[[フレームレート]]が出ない現象には注意が必要である。定期的にスマホ実機で動作検証することをオススメする。 | なお、[[Xamarin.Mac]]では実行速度が爆速であるため[[スマホ]]実機では[[フレームレート]]が出ない現象には注意が必要である。定期的にスマホ実機で動作検証することをオススメする。 | ||
== 機種依存の吸収 == | ==機種依存の吸収== | ||
その名の通り本来は[[ゲーム]]に使うものであるが、[[ゲーム]]以外の[[3D]]を扱う[[アプリ]]でも利用できなことはない。とくに機種依存の激しい[[Android]]、そのなかでも飛び抜けて機種依存の激しいパーツである[[GPU]]周りを整流する[[ミドルウェア]]としても非常に有望である。 | その名の通り本来は[[ゲーム]]に使うものであるが、[[ゲーム]]以外の[[3D]]を扱う[[アプリ]]でも利用できなことはない。とくに機種依存の激しい[[Android]]、そのなかでも飛び抜けて機種依存の激しいパーツである[[GPU]]周りを整流する[[ミドルウェア]]としても非常に有望である。 | ||
ただしMonoGameを使うとUI周りの開発が面倒になる。MonoGameにサクッとGUIを実装するライブラリは出ているが、どれもPC向けばかりで、現在の主流であるスマホ向けのUIフレームワークもほとんどない。 | ただしMonoGameを使うとUI周りの開発が面倒になる。MonoGameにサクッとGUIを実装するライブラリは出ているが、どれもPC向けばかりで、現在の主流であるスマホ向けのUIフレームワークもほとんどない。 | ||
==利用方法== | |||
===Xamarin Studioの場合=== | |||
[[ | Xamarin Studio を使っている場合はMonoGame本体を入れた段階でプロジェクトテンプレートも追加されるので何もする必要はない。 | ||
新規ソリューション作成時(新規プロジェクト作成時)に「MonoGame」という項目が増えているはずである。 | |||
===Visual Studio for Macの場合=== | |||
* [[Visual Studio for Mac 2019でMonoGameを使用する]] | |||