The Big Refactoring - Chapter 0


Hello everyone!

And welcome to this first chapter of my adventures as Town Alight’s main coder. This is the first of many diary entries in which I’ll explain to you many of the big changes we’ve had in Town Alight since we published its first version. After publishing each entry, I’ll answer any questions you have about Town Alight’s development; remember, we’re always open to feedback.


Chapter 0: But why, tho?

The first diary in this series is called “The Big Refactoring.” While we have big plans to expand Town Alight, we encountered many issues with how the Game Jam version of the game was working behind the scenes. We wanted to improve its performance and readability, so this became our first priority before even beginning to implement new features. You may ask: “Why didn’t you develop it well in the first place?!” First of all, how dare you?! Second of all… you’re completely right; but there were a few reasons:

  • Godot newbies
    As some of you might know, Town Alight is being developed in Godot. What you might not know is that both me, Anthuulos (coder), and Doops (artist) are relatively new to Godot! Before starting the project, Doops had started his game dev journey a few months ago. For my part, I had developed games in Unity for about 7 years before, but only a month ago I had started learning Godot. This led to learning concepts on the go while developing the game, and using non-optimal techniques to get where we wanted to go.
  • Deadlines
    Town Alight was developed for PirateSoftware’s 2023 game jam, which required us to completely make a functional game in only 2 weeks! This forced us to take some decisions which made the game horribly disorganized but that made it work. I remember saying to myself “this is awful code, shame on me” while coding at 2 AM. But hey… the game did what it had to do for the moment, so I regret nothing!


  • Design experience
    This one is still an issue, at least for me. I confess that I have no sense of aesthetics whatsoever. Many times, I want to show the player all the data I’m using to make the game work, but the reality is that most players don’t care about this, and just want a simple HUD that allows them to make decisions without having to look at a million numbers on the screen. With your help and feedback, I’m sure I’ll be able to surpass this personal obstacle.

So, here we are. Many months later, looking in horror at my old code, wanting to erase everything and start from scratch. But I won’t! Instead, I’m going to show you what changes were made to the game to optimize many of its processes. In the first chapter, I’m going to discuss something both Doops and I ended up hating: making the whole game based on tiles without room for more complex behaviors.

I hope you like this series, and I’ll see you soon in the first chapter of The Big Refactoring!

- Anthuulos

Files

HTMLBuild.zip Play in browser
Feb 25, 2024
TownAlightWindows.zip 124 MB
Feb 25, 2024
OriginalJamEntry.zip 81 MB
Feb 25, 2024

Get Town Alight

Download NowName your own price

Comments

Log in with itch.io to leave a comment.

(+1)

Good work! The most important thing is determination! If you don't quit, eventually you get there, and improve along the way

Thank you so much! Being constant is definitely a challenge, but I'm very happy to be part of this project