Turns out you don't ship a prototype, the refactoring


Hi all,

A ton of work this month! But not what people were expecting. I spent a good three hours restructuring git and solution setup to get some branches going. I also got the build server to use some of these new branches. I was super happy with my work so I started looking at the structure of the code itself. I had always tried to do some restructuring as I refactored but my code has been so interdependent it has been really hard. I would make one change and then spend hours making it fit in.

Working on these restructures made a little whisper that has always been there turned into a full voice. It was time to seriously refactor the project. And when I started, I quickly realised it wasn't a refactor, it was a total rebuild.

This sounds bad but I am actually pretty happy about it. Why?

  1. I can use a new architecture model. This will be its own discussion/blog/video, but it is loosely based on the Clean Architecture model
  2. I can use Godot 4! This was the biggest whisper, the longer I waited, the harder it would be to move the project
  3. The code is soooooooooo much better. The tight coupling was really hampering me. This new model feels a little weird, but it also makes sense and makes changes incredibly easy to make, features easy to implement, and bugs easier to track down
  4. It allows more unit tests. I found some Godot unit test addons which are waiting on Godot 4 versions, but now I can test logic in classic NUnit tests. The benefits of this are immediate, no feature gets in without unit tests.
  5. I am re-invigorated. I was always going to finish this project, but that oomph of working on something new is really nice

So that's what I have been working on! It will add a few months to the timeline but it is worth it, it might even make things easier down the road so really I've done myself a favour.

Ironically, my steam art is done! And I had a few logos made as well. Funnily it happened at the same time as I decided on the rebuild. I'm 80% happy with the result, but it's still really good.

Things I want to get done in May

  • The main goal is to get singleplayer up to the same feature level as it is now, it will probably take more than a month but that's the objective currently. I am aiming for a Steam page before 1 July and there is a ton to do!
  • The bonus goal is to follow more game dev people on Twitter, to help spread the Steam page launch in July. I currently follow 496 accounts and am followed by 201 accounts

Leave a comment

Log in with itch.io to leave a comment.