In game development, sometimes the systems that seem “clever” at the start become the very bottlenecks that stifle your creativity later on. This week, I hit one of those walls with my generative music engine and decided it was time for a major refactor.
Up until now, I’ve been using the Camelot Wheel system to categorize my music. If you’re a DJ, you know the drill: 1A, 2A, 3B, etc. It’s a great way to handle harmonic mixing, and it felt like a logical way to group tracks that should play together.
However, as my game world expanded, this system started to feel… restrictive. I only had a few Camelot numbers in active use, and whenever I wanted to add a new “vibe” or “biome” to the game, I found myself mentally mapping abstract numbers to actual musical themes. It wasn’t sustainable. I didn’t want to remember that 2A was my “Berlin School” theme; I wanted it to just be called Berlin.
I’ve officially ditched the Camelot numbers in favor of Theme Names.
Instead of a folder named 1A, I now have folders named Ambient-001, Berlin-Industrial, or Deep-Space-Drone. This might seem like a small semantic change, but it has completely opened up the workflow.
Assets/Music/Themes/ directory.Ambient-Day and Ambient-Night without trying to find “empty” Camelot slots for them.The real magic of this transition is how it interacts with my DAW. Using Bitwig Studio, I can now create a set of related stems (Drone, Pads, Textures, Melodic) and export them as .ogg files directly into these theme folders.
Because my MusicManager in Godot is set up to scan these folders and automatically categorize tracks based on their filenames (using a simple 0-3 numbering convention for stem types), the transition from “Finished Loop” in Bitwig to “Interactive Music” in Godot takes seconds.
Refactoring a core system can be scary, but it’s almost always worth it when it removes friction from your creative process. By moving from Camelot Numbers to Theme Names, I’ve traded a rigid technical constraint for a flexible, human-readable system that lets me focus on what matters most: making the game sound great.
Stay tuned for more updates on the development of Fifty Things!