Progress with 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:

  • Player movement and level geometry, including automapping.
  • Character data, including stats, equipment, skills, and status effects.
  • Combat is fully functional except for some small visual / GUI details.
  • Scripted events such as flavor text, dialogue, combat encounters (both static and random), and game state tracking.
  • Most gameplay menus such as status and equipment screens.
  • Dungeon features such as spinners, traps, and dark zones.
  • Loading and unloading of levels, including starting a new game with a default party.  This is basically the structure of the application.

And here's what's left:

  • All content, meaning dungeon levels, items, skills, monsters, and so on.
  • Character creation.
  • Control binding and other options / QoL.
  • Saving and loading the game.
  • The shop (buying and selling items).
  • Audio.

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.

Leave a comment

Log in with itch.io to leave a comment.