開発アート企画ゲームエンジンACADEMY海外記事XNAの精神的な後継者と経験豊富なコーダーにとって最高のエンジンの1つであるMonoGameへの詳細なガイド。業界に入ったばかりのデベロッパにとって,最高のゲームエンジンを選ぶのは困難な作業だ。ここでは,最も人気のあるゲームエンジンの1つであるMonoGameに関する話題を多く取り上げるので,プロジェクトに適したゲームエンジンかどうかを確認してほしい。このページですべての主要なゲームエンジンに関するその他の詳細なガイドを読むことができる。ゲームエンジンとしてのMonoGameの強みは,実際には1つではないことだ。MonoGameは,独自のエンジンを構築できるフレームワークであり,その結果,かなりの優位性を共有し,いくつかの欠点を抱えている。これについては後述したい。MonoGameはコーダーやプログラマを対象としているが,ゲーム開発者は自分の手を汚して,カスタム構築されたツールを持ちたいと考えている。MonoGameはマルチプラットフォーム向けの開発に重点を置いているので,移植業者が選択すべきエンジンだ。言語をサポートしている。Touch」として開始された。引き続きサポートすると発表した。Lee氏はまた,FNAと呼ばれるMonoGameから派生したXNAの再実装を作成している.したがって,XNAは長い間死んで埋葬されてきたが,MonoGameとFNAだけでなく,他の小さなオープンソースフレームワークを通じてまだ生き延びている。採用する開発者は,通常,XNAで作業しており,このエコシステムにとどまるほうが簡単だと思った開発者たちだ。Happ氏はそうだった。Vergeを作ることを最初に考えたとき,それは私の余暇のプロジェクトにすぎませんでした。用のゲームを開発することを可能にしており,ゲーム機でリリースしたいと考えていたので,私が重点を置いていたのです。One,スイッチ,iOS,アンドロイド,PSVita,MacOSとLinux。Happ氏MonoGameの主な強みは柔軟性だ。ゲームエンジンそのものではなくフレームワークなので,開発者は独自のエンジンを書き,ニーズに合ったものを作れる優れた自律性を与えている。「プログラマの場合,(MonoGame)は,独自のエンジンを作成し,あなたが望むようにカスタマイズする能力のほとんどを提供します。SanctuaryMonoGameは基本的に,どんなときも手を止めることなく作業できるエコシステムを提供しており,独自のツールを構築することができる。エンジンが多機能すぎるというのはUnityまたはUnrealを意味します。MonoGameはC#でコードが書け,いくつかの素敵な基本ゲームフレームワーク機能(コンテンツ処理,スプライト描画,音楽とオーディオ,入力など)を提供してくれます。これは私に必要なすべての出発点となるものです。Studiosの過去12年間に,私はXNAと,さらにMonoGame用のコンテンツ作成のための社内ツールを本当にたくさん作ってきました。たくさんのさまざまなものの中の1つ,そして間違いなく優れているUnityベースのツールを使うという選択肢は存在しますが,私は自分のツールを使いたいですね。私はそれらと共に,まったく快適に成長してきましたので(たぶんスキルも?)。Spineはより優れた2Dアニメーションツールです。私は独自のアニメーションツール(最近はSkellingtonsと呼んでいる)を使って本当に生産性が上がっています。プロジェクトの開発者にはフレームワークをとくに推奨したい。Studio「私の経験では,MonoGameは,エンジンがシンプルで,ツールはカスタムメイドの2Dゲーム開発に最適です」とSilva氏は語る。Sanctuaryを作成するためにXNAとMonoGameを使用してきました。プラットフォームと本質的にリンクしているが,XNAの撤退を超えて進化している。「我々の物語(MonoGameでの)は,Tributeが設立されたときにさかのぼります」とMajor氏は語る。Gamesを通すものでした。Kingsをリリースするために我々にアプローチしたとき,我々はそのシステムで動作させるためソリューションが必要でした。Altenburger氏は続けている。「どんなプラットフォームでもターゲットにすることができ,MonoGameで作られたゲームは通常,移植がスムーズです」と,氏は語る。「熟練すれば,本当に『一度書けばどこでも動く』というコードになります。Happ氏は付け加えた。●MonoGameはオープンソースAltenburger氏が触れたばかりだが,MonoGameはオープンソースであり,すでに非常に汎用性の高いエンジンにさらに柔軟性を追加している。「計算されるものを細かく制御できます」と氏は語る。ソースであるため,思ったような処理でない部分は,コードを変更すればいいのです。一部の企業にロックされていないので,XNAのように消える心配はありません」この時点で,MonoGameチームは会社ではなく,非営利団体であり,寄付に依存するすべてのボランティア組織であることに言及するべきだろう。Williams氏だ。使用すると迅速な反復処理が可能になり,プロジェクトのプロトタイプ作成やプロジェクトの実行が簡単になる。「重要なのは,MonoGameも素晴らしい移植性を持っていることです。※この記事に限らないのだが,不思議なことに,追い込み期間中でもエンジンをアップデートしてしまい,ゲームが動かなくなるという話がごく普通に行われている。日本のゲーム開発だと,ほとんどのところが開発を始めたときのエンジンバージョンのまま固定していると思うのだが,そういう管理は行わないのだろうか。更新して動かなくなった場合でも古いバーションのエンジンに戻せば問題はなくなる。「我々にとって,MonoGameの強みはC#による高速なイテレーションプロセスにあります。非常に軽量であるという事実もプラスです。我々は,これらすべてのシステムの所有者です。何かが正しく実行されない場合,それは我々のせいであり,我々はそれを自分たちで修正する力を持っています。使用してゲームを作成いているのなら,雇用は非常に簡単だ。—この点はUnityに感謝すべきだろう。人気のおかげで簡単に見つかります。弱点のいくつかは明らかである。それはできないという意味ではないが,あなたのプロジェクトが3Dである場合は,おそらくMonoGameの代わりにUnrealかUnity,またはCryEngineを調べるべきだ。「シーンエディタが付属していないため,MonoGameで3Dゲームを作るには,より多くの知識とシーンの合成とレンダリングに深く取り組む意思が必要です」とAltenburger氏は語る。実際にはエンジンとして機能しない可能性が高い。入っていない場合は,GameMakerが適している可能性が高い。MonoGameは多くの制作物を必要とする。「それは非常にベアボーン(必要最低限)です。開発者は,ツールを構築したり,ほかのソースからデータをインポートする方法を追加したり,独自の衝突システムを作成する必要があります」と,Major氏は語る。「MonoGameの主な欠点は,作業中のプラットフォームに抽象化のレイヤーしか取得できないことです。コンポーネントがありません。「自分でプログラムができる人に向いているのは間違いなく大きいです。物理演算やアニメーションコンポーネントは組み込まれていません。あなたは自分で作るか,それを行うライブラリを見つける必要があります。GamesのNeurovoider●MonoGameにはドキュメントとサポートがないMonoGameは,ほぼ7年前に引退したXNAをルーツとしているので,オンラインリソースが不足している。MonoGame開発者の小さいながらも強力なオンラインコミュニティはあるが(詳細は以下を参照),公式リソースはほとんどない。「(MonoGameの欠点は)ドキュメントの欠如と,ターゲットオーディエンスのほとんどが元XNA開発者であるという事実です」と,Altenburger氏は語る。「ほとんどのチュートリアルとドキュメントは,XNA時代(ホストのWebサイトが期限切れでないことを示す)から約10年前のもので,フレームワーク上で最近行われた素晴らしい作業を最新の状態にしていません。MonoGameの専門家もほとんど知られていません。Gamesこのページにはドキュメントがあるが,公式なサポートは期待できない。触れたように,MonoGameはすべてボランティアで,100%無料のプロジェクトなので,アセットストアや開発者の質問に答える公式の企業サービスは存在しない。—パブリッシャやプラットフォームホルダーを通じてプロジェクトリーダーの誰かと接触しない限りは。Spilmanのところに行ったことが大きいと思います」とHapp氏は語る。「普通の人はオンラインフォーラムにもっと頼らなくてはならないでしょう。有料のエンジンやサービスではないので,カスタマーサポートはありません。コーダーを見つけるのと同じくらい簡単だと考えているようだが,インタビューを受けた人の中には,実際にはそれほど簡単ではないと考えている人もいる。「大変,かなり大変です」とAltenburger氏は採用について語る。MonoGameのエキスパートはまれになってきています。移植サポートが必要な場合は,世界中の一握りの企業に手中することになるでしょう。回答者の意見が食い違ったもう1つのトピックは,MonoGameで何かを動かすのにどれだけ早くできるかかという質問だ。Williams氏はMonoGameが速くないと主張している。スタジオはSnowtopiaでUnityに切り替えた。「(MonoGameは)素早く物事を行うのは得意ではありません」と氏は語る。「小さなプロジェクトで,自分のコードベースを読むのに時間を費やしていないのであれば,Unityを使うほうが簡単です。我々は実際にMonoGameで(Snowtopiaを)開始しました。一般的に言って,私はMonoGameが好きです。それはより細かく管理ができ柔軟だからです。3Dのゲームでは,レンダリングエンジンとマテリアルシステムを持つことがすべてを容易にするため,Unityに切り替えました。それは3Dで何かを行うときに追加される複雑さをすべて処理してくれます」そして,いくつかの側面から,Unityはより良い選択肢であると考えているのは彼だけではなかった。「私はUnityをいじっていて,ブルームや色収差などのポストエフェクトを短時間で加えることができました」とSilva氏。「私が作ったさまざまなMonoGameのゲームエンジンでは,そのようなものを追加しようとすると,常にちょっとした再構築が必要になる要素が含まれています。Game新しいエンジンを始める最善のアプローチについて話し合うときは,いつも,出てくるアドバイスのほとんどが,コミュニティをうまく利用することに関するものになる。MonoGameは,公式フォーラムと小さいながらもかなりアクティブなDiscordサーバーを持っている。「(コミュニティは)技術を前進させたい人たち,知識を共有することについてかなりオープンな優れた開発者でいっぱいです」とAltenburger氏は語る。Lee氏は,XNA開発者のための「神の使い」であり,長年にわたって非常に有用で親しみやすくなっていると付け加えている。「コミュニティはおそらくUnityのコミュニティよりもはるかに小さいですが,非常に活発です」と,Silva氏は語る。GamesのFlinthook●Web検索をMonoGameに限定しないMonoGameはXNAのさまざまな進化形の1つにすぎないので,困難に直面したときには,視野を少し広げてみると,より多くの幸運が得られるかもしれない。行ったのと同じ動作を実現するはずです。得られる結果の量が広がります」Happ氏は,実際にゲームエンジンを検討する際に,MonoGameだけではなくFNA自体も調べるようにアドバイスする。「FNAはMonoGameの以前のブランチに基づいていますが,Windows,Mac,Linux用に単一のバイナリを使用するという考えで設計されています」と氏は説明している。MonoGameは初心者向けではないMonoGameを使用する場合は,何を取り入れようとしているのかを十分に認識する必要がある。我々のインタビューイが長々と議論したように,MonoGameは厳密にはゲームエンジンではないので,それがゲームエンジンのように動作することを期待してはいけない。「本格的なエディタを期待してはいけません,MonoGameは主にクロスプラットフォームにするために,低レベルのものを抽象化するものです」と,Altenburger氏は語る。「エンジンとツールを作るのは,実際にはあなた自身です。MonoGameは通常,2Dゲームの細かい制御と優れた移植性を望む人々に最適です」MonoGameが自分のためのものではないことに気付いたかもしれないが,Happ氏は「C++やC#の経験豊富なプログラマであれば,MonoGameで多くの時間とエネルギーを節約できます。初心者は,Unityのようなものから始めるほうが簡単かもしれません」と語る。Silva氏は,「複雑なエンジンを扱うよりもコーディングが好きで,2Dゲームの作成に着手しているなら,MonoGameは試してみる価値があります」とまとめた。このページは定期的に更新され,新しいエンジンがリストに追加される予定だ。Engineの詳細を読むことができる。Dealessandri編集部ACADEMY。