Logo

dev-resources.site

for different kinds of informations.

The Big Refactoring - Chapter 0

Published at
10/15/2024
Categories
townalight
gamedev
godot
Author
anthuulos
Categories
3 categories in total
townalight
open
gamedev
open
godot
open
Author
9 person written this
anthuulos
open
The Big Refactoring - Chapter 0

Hello everyone!

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 the significant changes we’ve made 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.

Image description

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 Doops (the artist) and I, Anthuulos (the coder), are relatively new to Godot! Before starting the project, Doops had begun his game dev journey a few months ago. For my part, I had developed games in Unity for about 7 years before only starting to learn Godot a month ago. This led to learning concepts on the go while developing the game, 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 create a functional game in just 2 weeks! This forced us to make decisions that resulted in a horribly disorganized game but ultimately 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!
     Image description

  • Design Experience
    This 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; they 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 overcome this personal obstacle.

So, here we are—many months later—looking in horror at my old code and 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

godot Article's
30 articles in total
Favicon
endless runner in godot 4 3d all systems and minus like subway surfers for mobile
Favicon
How to Customize Input Bindings in Godot
Favicon
Seamless Inter-Process Communication with Godot's `execute_with_pipe`.
Favicon
How a indie game developer should follow the discipline of game development?
Favicon
2D Game Menu with Godot4
Favicon
Menu de Game RetrĂ´ com Godot4
Favicon
Unlocking the Power of Gaming with Game Vault: A Valuable Resource for the DEV Community
Favicon
Launching my first game soon!
Favicon
Strontium | The Ultimate Portfolio App for Gamers and Indie Game Developers
Favicon
The Big Refactoring - Chapter 0
Favicon
🇫🇷 Framework Heroes News : la veille sur les frameworks pour la semaine 2024/40
Favicon
5 WAYS TO ORGANIZE YOUR C# CODES IN GODOT
Favicon
Introducing Mineral Hunt Mode: A Game-Changing Experience in Narqubis
Favicon
Behind the Scenes: Designing a Beat Saber-Style Game with Godot
Favicon
Basics of Game Development Using Unity, Unreal Engine, or Godot
Favicon
Unity vs. Godot: A Game Developer's Guide
Favicon
Beach Buggy Racing Mod Apk
Favicon
Online Visual Novel in Godot: Case Study on Sentou Gakuen
Favicon
Godot4 2D: Enemy Spawn Radious - problem with spawning enemy on player, no infinity loops
Favicon
Godot 3D Multiplayer Template: A Starting Point for Creating 3D Multiplayer Games
Favicon
WordPress Co-Founder Matt Mullenweg Declares WP Engine a 'Cancer' – Is Your Hosting Provider Hurting the Community?
Favicon
aus new adn cool
Favicon
How to Press and Drag to Reposition a Window in Godot
Favicon
Learn By Example: Bash Script - Godot 4 Project Creator
Favicon
"Surf the Rails in Subway Surfers Online"
Favicon
I Made A Plugin To Update Godot From Within The Editor
Favicon
7 Key Reasons Why Price Localization is Crucial for Global Success
Favicon
If You’re Interested In Learning Game Development, Subscribe To These 3 YouTube Channels
Favicon
Godot Rust CI: Handy GDScript & Rust GitHub Actions
Favicon
How Corporate Greed Killed the Joy of Gaming for Gamers Worldwide

Featured ones: