Reasons for Choosing Godot for XeGrader plus Development

Steam版の開発にあたり、最初に悩んだのが開発ツールです。
私にとっての選択肢はいくつかありまして…
When it came to developing the Steam version, the first thing I struggled with was the development tools. I had several options...

 1. Visual studio 2022 C#
C# はかなの使い込んでいるので言語的に不安はゼロ。そして、XeGrader は 2Dシューティングなので、全く実行速度的な不安もない。使い慣れた C# で開発するのが後々良いのではないか。
I've used C# extensively, so I had zero concerns about the language. And since XeGrader is a 2D shooter, I had absolutely no worries about execution speed either. I thought it might be best in the long run to develop with C#, which I'm well accustomed to.
https://visualstudio.microsoft.com/ja/downloads/

 2. Unity 6
10年ほど前に Unity 4 でほぼ完成まで斜め見下ろし型の 3Dアクションゲームの開発実績あり。マルチプラットフォームが魅力。
About 10 years ago, I had experience developing an isometric 3D action game nearly to completion in Unity 4. Multi-platform support was appealing.
https://unity.com/ja/releases/unity-6

 3. Godot 4.5
今までまともに弄ったことはなく未知数。C# は一応使えるらしい。完全無料が魅力的。
I had never seriously worked with it before, so it was an unknown quantity. Apparently you can use C# with it. The fact that it's completely free was attractive.
https://godotengine.org/ja/

そこで開発環境の剪定作業を始めました。まず、C# だけで画面などの制御は全て自前実装ではどうかと試しました。そこで出た問題は、複数のハードの対応を全て自前で処理するのは、想像以上に負担が大きいという事実です。加えて、Steam API の対応もどうするのか。これらの理由から、純粋な C# だけの開発は一旦ペンディングにしました。
So I began the process of narrowing down my development environment. First, I tried whether I could handle everything—screen control and all—with C# alone, implementing everything from scratch. The problem that emerged was that handling support for multiple hardware configurations entirely on my own was a far bigger burden than I had imagined. On top of that, there was the question of how to handle Steam API integration. For these reasons, I put development with pure C# alone on hold.

続いて Unity。以前使ったことがあるという安心感は、Unity 6 をインストールした直後から、それは妄想だったと気がつきました。Unity 4 の面影ないやん…。そして、ロイヤリティの支払いも気になりました。まあ、そこまで売れる気はないとは言え、また蒸し返されるのではという危惧が頭を離れません。
Next, Unity. The sense of reassurance from having used it before turned out to be a delusion the moment I installed Unity 6. There was no trace of Unity 4 left... And then there was the matter of royalty payments. Well, I don't expect the game to sell that well, but I couldn't shake the fear that the issue would be dredged up again.
どうしよう…
残ったのが Godot でした。インストールは簡単でした。GUI はとても分かりやすいものでしたが、最初に C# でと思ってその環境を準備したところ、なんじゃこりゃと。Godot は確かに C# 対応ですが、GUI から何から何まで GDScript を前提に設計されているフシがあちこちに見られて、とても使いづらかったのです。GDScript ? なんだそれ、初めてのスクリプト言語だけど、どうするだこれと…
What remained was Godot. Installation was simple. The GUI was very easy to understand, but when I initially tried to set up the environment for C#, I thought, "What is this?" Godot does indeed support C#, but there were signs everywhere that the GUI and everything else had been designed with GDScript in mind, making it very difficult to use. GDScript? What's that—a scripting language I've never seen before. What am I supposed to do with this...

そこで役に立ったのが生成 ai です。いくつかの不明点を質問したところ、立ちどころに問題解決。正直、開発環境立ち上げ時に生成 ai が無ければ、未だに迷走していた可能性すらあります。あっという間に GDScript にも慣れ、ノード構成にも慣れ、最後に立ちはだかったのが Steam 対応です。基本は C++ らしい。どうするだ、これと…
That's where generative AI proved useful. When I asked about several unclear points, the problems were solved instantly. To be honest, without generative AI during the initial setup of the development environment, there's a real possibility I'd still be floundering. I got accustomed to GDScript in no time, got used to the node structure as well, and the last thing that stood in my way was Steam integration. Apparently the basics are in C++. What am I supposed to do with this...

が、調べると GodotSream なるアドオンが存在していて、適用してみたところ、これがまた馬鹿みたいに簡単に使えて笑ってしまいました。結局 Godot を弄り始めて最初の1ヶ月で、シューティングゲームの基本形の部分はベータ完成してしまうという開発速度が出ました。あっという間に開発環境にも慣れて、暗号化エクスポートは少し苦労しましたが、こちらも問題解決。
But when I looked into it, I found that an add-on called GodotSteam existed, and when I tried applying it, it was so ridiculously easy to use that I couldn't help but laugh. In the end, within the first month of working with Godot, I had a beta-complete basic framework for the shooting game—that's the kind of development speed I achieved. I got accustomed to the development environment in no time, and while I struggled a bit with encrypted exports, that issue was also resolved.

このような経緯で現在は Godot で開発を進めています。
ミドルウェア恐るべしから、生成 ai 恐るべしが加わってますね、現在は…。
This is the story of how I ended up developing with Godot. It used to be "middleware is something to be reckoned with," and now "generative AI is something to be reckoned with" has been added to that...

この記事が気に入って頂けたなら是非Wishlist登録をお願いいたします。
If you enjoyed this article, please add it to your wishlist!