Beware of the game architecture


Yesterday, I faced a real challenge while working on my game Volley Pong. I had a playable version with two fully functional game modes: Player vs. Player and Player vs. Computer. I was confident that I had designed a smart, flexible, and well-architected codebase.

But I was wrong.

When I decided to add a new Collaborative game mode—where two players work together to achieve as many ball exchanges as possible without letting the ball fall—I quickly ran into trouble. This mode introduced new requirements, like managing a shared score and counting exchanges. Implementing it turned out to be far more challenging than I anticipated, and I found myself lost in my own codebase, despite thinking I knew it inside out. Frustration set in, but I refused to give up.

At first, I believed my flexible and autonomous object-oriented design would make the task straightforward. However, I realized my mistake: I hadn’t treated game modes as independent entities. Instead, I relied too heavily on scripts to manage everything within a single main scene. This made extending the game painful and risked breaking existing functionality.

To fix this, I took a step back and restructured my approach. I separated each game mode into its own autonomous scene, treating them as assemblies of reusable components I had already developed. I applied this approach not just to the new Collaborative mode but to all four game modes. The result? A game that’s easier to understand, debug, and maintain.

This experience taught me a valuable lesson: while it’s great to focus on modular components, the way you assemble and structure them matters just as much. In the future, I’ll rely more on the engine’s scene system, using independent scenes for game modes rather than trying to force everything into a single script-heavy structure.

It might seem obvious to seasoned Godot developers, but for me, it was a revelation. I’m grateful for the mistake because it pushed me to learn and grow. Now, Volley Pong boasts four well-structured game modes, and I have a clearer path forward for future projects.

Get Volley Pong

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.