次のゲームに使用する2Dゲームエンジン

数週間前、さまざまな2Dゲームエンジン/フレームワークでプロトタイプを作成して、何がそれらを動かしているのかを学ぼうとした経験について投稿しました。

次の2Dゲーム用のエンジンを探している場合、この記事では、識別プロセスに役立つ可能性のある考慮事項をいくつか紹介します。

私はそこにあるすべての2Dゲームエンジンをカバーしようとしているわけではないことに注意してください。また、あるエンジンやフレームワークを別のエンジンやフレームワークの上に配置することもありません。これらの推奨事項は、プロトタイピングにさまざまなエンジンとフレームワークを使用した私の個人的な経験からのものです。

また、読むよりも視聴したい場合は、この投稿のビデオバージョンを作成しました(26分間の視聴)。

React

一見すると、「ReactはインタラクティブなWebサイトを作成するためのフロントエンドフレームワークです。ゲームエンジンではありません!」と思われるかもしれません。そして、あなたはほとんど正しいでしょう。

ゲーム開発の基礎、のような、例えば、2次元物理学のネイティブサポートを提供していません反応するが、それはありません非常によくハンドルの状態を。すでにJavaScript開発者であり、Reactをboardgame.ioのようなものと組み合わせて、単純な2Dゲームを作成したい場合は、プロトタイプを非常に迅速に立ち上げて実行できる可能性があります。

他のすべてのタイプの2Dゲームについては、他の場所を探す必要があります。

Unity

Unityは、2Dおよび3Dゲーム開発スペースでユビキタスになっています。私はそれを優れた3Dゲームエンジン、そして実用的な2Dエンジンとして位置づけます。

Unityエディターはかなり複雑で、ネストされたメニューがたくさんあり、頭を包み込むのに時間がかかります(2D機能のツアーについてはこの記事をチェックしてください)。Unityがスクリプトに使用するC#のバックグラウンドをまだ持っていない場合は、Unityを学習する前にブラッシュアップすることをお勧めします。そうすることで、全体的な学習曲線が容易になります。

Unityは、他のゲームエンジンと比較しネイティブとは感じられない、2Dゲーム開発に関しても多くのことを「難しい方法」で行います。たとえば、Unityで2Dゲームの世界を作成すると、2D平面を大きな3D空間に押し込んでいるように感じられ、アニメーションやピクセルの完成度などは、他の2D固有のエンジンよりも扱いにくくなります。

エディターと基礎となる3Dの特異性に取り組む気がある場合は、Unityを使用してあらゆるタイプの2Dゲームを作成できます。広範なコミュニティサポートがあり、C#での作業は喜ばしいことです。さらに、UnityのAsset Storeには、ダウンロードして購入できるあらゆる種類のアートとテンプレートがありますが、購入者は注意してください。プロジェクトに合わせて他の人のコードを書き直すのに、最初から始めるのと同じくらいの時間を費やす可能性があります。

Unityは一般に無料で使用できますが、Unityが提供するすべてのものを使用する場合は、価格設定がより複雑になります(詳細については、このページを参照してください)。

Godot

Godotは、無料のオープンソースの2Dおよび3Dゲームエンジンであり、GDScript、C#、さらにはC ++やPythonをサポートして、それらを機能させるために多くの手間をかける必要があります。ノードスタイルのワークフローをサポートし、超軽量です。

a)GDScriptの学習に投資する意思がある場合、またはb)C#、C ++、またはPythonがすでに非常に優れている場合、特にオープンソースソフトウェアでの作業が好きな場合は、Godotで問題ないでしょう。そうでない場合は、GDScriptの場合ほどC#やその他の言語のサポートがないため、簡単にイライラする可能性があります。それでも、Godotは快適なエンジンであり、Unityのようなものと同じ血統やコミュニティのサポートはないかもしれませんが、自発的に行動するのであれば、自宅にいるように感じるかもしれません。

構成3

2Dゲームを作成したいだけで、プログラミング言語やサブスクリプション料金を気にしない場合は、Construct 3に、デモをすばやく実行するために必要なすべてのものが揃っています。すべての作業は、ドラッグアンドドロップツール(および必要に応じてカスタムJavaScriptサポート)を使用して、ブラウザーで実行されます。

ただし、Construct3を無料で有意義に生産的に体験できるとは期待しないでください。試してみることができる簡単なデモがありますが、Construct 3を使用したインパクトのあるゲーム開発は、ペイウォールの背後にロックされており、サブスクリプションがあります。

Game Maker Studio 2

Game Maker Studio 2には、視覚的なスクリプトとともに、適切にGame Maker Language(GML)と呼ばれる独自の言語をサポートするユーザーフレンドリーなエディターがあります。また、多くのチュートリアル、優れたコミュニティサポート、およびアセットストア(上記のUnityと同じ警告が付属しています)もあります。

Game Maker Studio 2の一般​​的なワークフローと、スプライトのアニメーション化、ゲームワールドの設定などを行うことは、簡単で直感的です。GMLは、より広く使用されている別のプログラミング言語を使用している場合は、一杯ではないかもしれません。コーディング方法を学ぶための最初の入門書としてお勧めしません。プログラミングの基本的な概念のいくつかを採用していますが、コーディングのベストプラクティスやクリーンなコードの書き方などの重要な詳細は採用していません。

さらに、Game Maker Studio 2を30日間の無料トライアルで試すことができますが、それ以降も引き続き使用するには料金を支払う必要があります。

フェーザー3

すべてをコーディングし、JavaScriptエコシステムについて多くのことを学びたい場合は、Phaser 3をチェックしてください(または、進行中のPhaser 4を待ちます)。

Phaserは、2Dゲームを作成するための軽量で強力なJavaScriptフレームワークです。Phaser 2は非常によく文書化されており、優れたコミュニティサポートがありましたが、Phaser3はまったく逆です。優れた公式ドキュメントと多数の例(それらの周りに多くのコンテキストがないので、言わなければなりません)、そして非常に少量のチュートリアルがあります。

すべてを自分で構築することを期待しますが、ES6またはTypeScriptのサポートを探している場合、またはJavaScript開発者としてのスキルを本当に磨きたい場合は、Phaser3で大いに役立つことができます。

公平を期すために、このトピックについて書き始めてから私に推奨されている他の2つの2Dゲームエンジンについて言及する必要があります。Luaを使用するLÖVE2DとC#をサポートするMonoGameです。私はそれらのどちらも(またはPyGameなどの他のもの)使用したことがなく、それらの有用性について話すことはできませんが、チェックする価値があるかもしれません。

使用する2Dゲームエンジンとその理由を教えてください。

この記事を楽しんだら、私のゲームや本をチェックするか、私のYouTubeチャンネルに登録するか、EntromancyDiscordに参加することを検討してください。

MS Farzan、Ph.D。 Electronic Arts、Perfect World Entertainment、Modus Games、MMORPG.comなどの有名なビデオゲーム会社や編集ウェブサイトで執筆および勤務し、 Dungeons&DragonsNeverwinterMassEffect :Andromedaなどのゲームのコミュニティマネージャーを務めてきました。彼は、 Entromancy :Cyber​​punk Fantasy RPGのクリエイティブディレクター兼リードゲームデザイナーであり、 The NightpathTrilogyの著者です。 Twitter @ sominatorでMSFarzanを見つけてください。