Devlog 51: Refactoring

The demo has now been out for almost two weeks, and I’d like to thank each of you that have played the demo, provided reviews and feedback, and helped me get this project into a playable state.

With that being said, the state the demo was launched in was not as thoroughly tested as it should’ve been, and I unfortunately had to watch several game-breaking bugs and crashes take place while watching others play it well after release. Most of the worst bugs have now been fixed, but some of the larger ones will take time and are symptoms of very poorly written code.

To put it bluntly, it’s bad. Really bad. Since this is my first project, there are a lot of things that I’ve learned about Godot over the course of development for how things should be structured, but I’ve put most of them off and just kept piling up tech debt to get the demo out and ready. It’s now at the point where this mindset is only going to cause larger issues. So now that the demo is out, it’s time to stop putting this off and start reapplying what I’ve learned to everything else in the game.

As an example, the most egregious part of the poor code is in the guard AI, something that must be absolutely perfect in a stealth game. As it is right now, the guard script is 1000+ lines long with no usage of state machines and hacks thrown in just to get everything into a semi-working state. I’ve begun rewriting this from scratch, but this is also going to require a rewrite of several other parts of the game including the player, UI, how interactions are handled, and so on. Let me make it absolutely clear that I am not going to abandon this project. It will be ready when it’s ready, but sometimes that means spending days working on the boring parts and not having much to show for it on social media.

Again, thank you to everyone who has played the demo. To see something you’ve made be played and enjoyed by people all over the world is a very surreal feeling, and I’m going to keep working on this until it’s seen through to completion. It will take time, but I want to make sure it’s the absolutely best it can be.

Thank you.

Leave a Reply

Your email address will not be published. Required fields are marked *