「カテゴリ:MonoGame」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
1行目: 1行目:
 
'''MonoGame'''(読み:ものげーむ)とは、[[Mono]]プロジェクトが開発している[[XNA]]互換のゲーム開発用フレームワークである。
 
'''MonoGame'''(読み:ものげーむ)とは、[[Mono]]プロジェクトが開発している[[XNA]]互換のゲーム開発用フレームワークである。
  
== 概要 ==
+
==概要==
[[XNA]]は実質的に[[Xbox 360]]向けのゲーム開発用フレームワークであったが[[Xbox One]]の登場とともに死んだ。
+
かつて「[[XNA]]」というゲーム開発用のフレームワークがあった。これは[[Windows]]と[[Xbox 360]]の[[ゲーム]]が簡単に作れるという代物であり、さらに開発したものは[[インディーズ]](=[[同人]])でも家庭用ゲーム機にゲームを出せるとあって大いに盛り上がった。
そしてMonoGameが生まれた。
+
 
本家[[XNA]]は[[Windows]]と[[Xbox 360]]が対象であったが、MonoGameでは[[Mac OS X]]や[[iOS]]、[[Android]]といった最新鋭の環境に対応している。
+
しかし[[マイクロソフト]]は[[Xbox 360]]の終焉と[[Xbox One]]の誕生に際してXNAの廃止を決定した。いわゆる[[Unity]]などの[[マウス]]でポチポチ系の[[ゲームエンジン]]の普及により、従来型の[[プログラミング]]によるゲーム開発は急激に衰退していたためである。もう本屋に行っても[[DirectX]]の入門書すらない状況なので仕方がない。
 +
 
 +
ただプログラミングによるゲーム開発を好む人も少なからず存在した。そしてMonoGameが生まれた。本家[[XNA]]は[[Windows]]と[[Xbox 360]]が対象であったが、MonoGameでは[[Mac OS X]]や[[iOS]]、[[Android]]といった最新鋭の環境に対応している。
  
 
2017年3月、[[Microsoft]]が[[Xamarin]]を買収した絡みで、MonoGame 3.6から[[Xbox One]]と[[Windows 10]]を公式にサポートすることとなった([[UWP]]をサポートすることとなった)。
 
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]]周りを整流する[[ミドルウェア]]としても非常に有望である。
  
24行目: 27行目:
  
  
== 利用方法 ==
+
==利用方法==
 
MonoGame本体を公式サイトからダウンロードしてインストールする。
 
MonoGame本体を公式サイトからダウンロードしてインストールする。
* http://www.monogame.net/downloads/
+
 
 +
*http://www.monogame.net/downloads/
  
 
開発環境が[[Mac]]や[[Linux]]の場合はMonoGame Pipeline Toolをダウンロードしてインストールする。
 
開発環境が[[Mac]]や[[Linux]]の場合はMonoGame Pipeline Toolをダウンロードしてインストールする。
* http://teamcity.monogame.net/repository/download/MonoGame_PackageMacAndLinux/latest.lastSuccessful/Pipeline.MacOS.pkg?guest=1
+
 
 +
*http://teamcity.monogame.net/repository/download/MonoGame_PackageMacAndLinux/latest.lastSuccessful/Pipeline.MacOS.pkg?guest=1
 +
 
 
3Dモデルをビルドするには別途[[Assimp]]が必要となる。以下のページを参照してインストールしよう。
 
3Dモデルをビルドするには別途[[Assimp]]が必要となる。以下のページを参照してインストールしよう。
* [[MacOS版のMonoGameのPipeline.appで3Dモデルをビルドできない]]
 
*
 
  
=== Xamarin Studioの場合 ===
+
*[[MacOS版のMonoGameのPipeline.appで3Dモデルをビルドできない]]
 +
*
 +
 
 +
===Xamarin Studioの場合===
 
Xamarin Studio を使っている場合はMonoGame本体を入れた段階でプロジェクトテンプレートも追加されるので何もする必要はない。
 
Xamarin Studio を使っている場合はMonoGame本体を入れた段階でプロジェクトテンプレートも追加されるので何もする必要はない。
 
新規ソリューション作成時(新規プロジェクト作成時)に「MonoGame」という項目が増えているはずである。
 
新規ソリューション作成時(新規プロジェクト作成時)に「MonoGame」という項目が増えているはずである。
  
=== Visual Studio for Macの場合 ===
+
===Visual Studio for Macの場合===
 
2017年12月時点ではVisual Studio for Macの拡張機能の公式リポジトリのアルファチャンネルにプロジェクトテンプレートがある。
 
2017年12月時点ではVisual Studio for Macの拡張機能の公式リポジトリのアルファチャンネルにプロジェクトテンプレートがある。
 
リポジトリをアルファチャンネルに切り替えて「最新の情報に更新」ボタンを押せば登場すると思う。
 
リポジトリをアルファチャンネルに切り替えて「最新の情報に更新」ボタンを押せば登場すると思う。
* リポジトリ:アルファチャンネル
+
 
* カテゴリ: IDE Extensions (UnityテンプレートなどがあるGame Developmentカテゴリではないので注意)
+
*リポジトリ:アルファチャンネル
* 名称: MonoDevelop.MonoGame.Templates
+
*カテゴリ: IDE Extensions (UnityテンプレートなどがあるGame Developmentカテゴリではないので注意)
 +
*名称: MonoDevelop.MonoGame.Templates
  
 
[[category:Mono]]
 
[[category:Mono]]

2019年2月25日 (月) 02:40時点における版

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フレームワークもほとんどない。


利用方法

MonoGame本体を公式サイトからダウンロードしてインストールする。

開発環境がMacLinuxの場合はMonoGame Pipeline Toolをダウンロードしてインストールする。

3Dモデルをビルドするには別途Assimpが必要となる。以下のページを参照してインストールしよう。

Xamarin Studioの場合

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

Visual Studio for Macの場合

2017年12月時点ではVisual Studio for Macの拡張機能の公式リポジトリのアルファチャンネルにプロジェクトテンプレートがある。 リポジトリをアルファチャンネルに切り替えて「最新の情報に更新」ボタンを押せば登場すると思う。

  • リポジトリ:アルファチャンネル
  • カテゴリ: IDE Extensions (UnityテンプレートなどがあるGame Developmentカテゴリではないので注意)
  • 名称: MonoDevelop.MonoGame.Templates

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

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

M