次回作はどうやって作ろうか

こんにちは。空き地です。例大祭も近づいており、新作ゲームの開発も大詰めです。そんな中、次回作についても多少考え始めております。内容についてはまだはっきりとしたビジョンは有りませんが、今作ではグラフィック部分今がかなり手抜きになってしまっている気がするので、そこは意識して改善するかもしれません。まあ、内容は置いておいて、今回は利用するゲームエンジンについて適当に書こうと思います。

ggez

今作はggezというゲームエンジンを使っています。このゲームエンジンは非常に小さく、画像表示、基本図形描画、サウンド再生、デバイスからの入力イベント等とゲーム開発に必要な基礎的な部分のみを提供します。所謂Unityなどの現代的なゲームエンジンとは異なり、必要な関数を寄せ集めたライブラリです。元々、私の趣味がプログラミングであり、新しくRustというプログラミング言語を書けるようになりたいという目的が根底にあり今作の開発が始まっているので、ggezを選択したわけです。結果的にRustをスラスラ書けるようになり、ゲームの進捗も出ています。ですが、この開発方法は、いわば時代遅れでもあります。次回作では、Rustを書くという目的ではなく、ゲームを作るという目的なはずなので、ggezはゲームエンジンの選択肢から外れるかもしれません。このようなゲームエンジンを使うと、どうしても単純なゲームになってしまいがちで、一人で開発していることもあり規模も大きくしにくくバグも埋め込みやすいです。
そしてこのggezというゲームエンジンですが、実は致命的なバグがあります。Canvasという独立したDrawing Bufferに対してマルチサンプリングしようとするとクラッシュしたり、真っ黒な画面になります。普通にゲームエンジンとしてぶっ壊れてますが、次の0.6のリリースで修正予定です。現在70%程進捗があるので、今作のリリースまでには間に合いそうです。移行作業は、まあ1日で終わるでしょう。たぶん。間に合わなければ、マルチサンプリングを使わずに頑張るしか無いです。


Godot

現時点で次回作の開発に使おうと思っているゲームエンジンがGodotです。こいつはUnity likeなゲームエンジンになっています。それに加えてNativeScriptなる機能があり、C++が使えます。Rustを使い始める前までは4年程C++を使っていたので、結構ポイント高いです。また、このNativeScriptにはRustのバインディングもあるらしく、これも加点対象です。加えて、このゲームエンジンはMITライセンスで公開されているOSSです。個人的にOSSは応援したいので、これも魅力的なポイントです。信条に限らず、OSSなので完全無料で使えますし、ロゴの表示に関しても気にする必要はありません。コミュニティもggezとは異なり活発です。そろそろ4.0がリリースされる予定らしいので、タイミングも良いかもしれません。

Game Maker Studio 2

UndertaleやVA-11 Hall-Aで使われているゲームエンジンです。2Dゲームに特化しており性能も良いと評判です。2Dゲーム特化ということで、個人的には高得点ではありますが、このゲームエンジンは有料だということです。あんまりお金を払いたくないという気持ちもあり、またGame Maker StudioからGodotに移行した人の話を聞くとGodotで良いかなという気持ちになるなと。ちなみに友人曰く、GMSはかなり使いやすいようでした。

Unity

ゲームエンジンといえばUnityみたいなところもありますが、使うつもりはありません。なぜならあれは陽キャが使うものだから。


今の所Godotを使う気でいますが、結局は作るゲームによって変えることになるので気にしないでください。それでは。

コメント