Posted November 09, 2023 by Midnight Spire Games
#Godot
This is just a quick status report of where I am with Godot after about six weeks of work porting from Unity.
Here's a summary of the major components that are done, or close to it:
And here's what's left:
Migrating to Godot is not as straightforward as just copying over all of my C# code, as Godot is fairly different from Unity in some important ways. Isolated C# code can be dropped in fairly easily, while components that interface with the engine sometimes require rethinking.
On the plus side, I am able to use this time and opportunity to improve my architecture. ML in Unity was still using a lot of the game jam code that I wrote in 2020 for MM0. Some things that I implemented sloppily, either out of time constraints or just not knowing better at the time, have been causing me some difficulty in trying to build a more complex and polished game. After working on ML for a few years, I am pretty familiar with those pain points, and have been able to improve on a lot of them without needing to spend a lot of extra time. In some cases, rewriting a feature has probably been faster than trying to port it over one-for-one. Some of this work will help me present a cleaner and more stable experience for players, and it should also pay off in future games as I continue to build on this design.
I am hoping to at least get all functionality implemented by the end of the year. After that, I can start on content; I don't know yet how long that part will take. The Unity version had about 70% of my planned content implemented.
This is obviously a painful and unexpected delay, but I think it will be the right decision in the end. Nothing that has happened with Unity since their initial announcement has made me think otherwise.