Devlog #4 - Music Workflow
Hey there, in this week's devlog I will talk about my workflow for making music for //TODO: today and also show a breakdown of one of the tracks that are already in the game, as well as a little sneak peek of some new music!
I already started thinking about the style of the soundtrack while the story was still being planned. Early on there were a few aspects that would definitely carry over into the final game: there was going to be an AI, it should be fairly light-hearted, and also down to earth.
So what I thought of for the music was that it should be relatively simple in both composition and timbre and have a prominently digital sound without feeling cold.
Along the way I also got some more direction and references and quickly realized... that I was suddenly surprisingly far outside of my comfort zone.
Either way, I started trying some things out and by the time the game was in production I had made a few demos, some of which were approved and turned into full tracks.
Since time was limited, re-usability was an important factor for the music and I made a list of all the moods we needed in order to have a fitting track for every moment in the story.
With some special moments and character specific themes this list grew some more until the end of March and as you can see there's still quite a bit to be done...
In general my workflow for this project is making a demo to show the style and atmosphere of a track → adjusting the structure to improve songwriting and make it loop-able (and ideally not repetitive) → and finally, mixing & mastering to get the most out of a track.
Other than that every track is slightly different. Sometimes I start with drums, sometimes with a melody, and other times I just experiment with sound-design until I find something I like.
I also compiled a brief list of guidelines for the kinds of instruments and sounds I use for this particular project:
- Simple waveforms (for a slightly chiptune-y feel), portamento (or legato)
- No, or very little bitcrushing/distortion!
- (Electric) Pianos, Music box, Glockenspiel, etc. for analog/orchestral elements
- No complex sample libraries → GBA era game music
- Drum-machine-like drums
- Maybe "distorted"/AI-like voices (without actual words)
There are multiple tracks where I bend or outright break some of these rules but I think they still helped to keep things a little more consistent.
And now I'll show the structure of one of the tracks in the game.
It's called Defragment and if you played //TODO: today in its current state it's probably the last track you heard.
Originally it wasn't supposed to feel overly negative but I ended up liking the direction it was going in and also realized that even if it was more neutral, there wouldn't be many opportunities for it to be played in the game.
Below is a video showcasing the different elements in the track but since it's going through them relatively quickly I'll also write down my process.
I started with a simple vocal loop that more or less fit the direction I wanted to go in. Since it was supposed to be in the background I added some pretty heavy EQ to cut both low- and high-end, and added some subtle distortion.
Next was a synth pad that is just a very simple FabFilter Twin2 patch with two Oscillators and LFOs but since it sounded too soft for what I wanted, I used a bitcrusher to reduce the sample rate and to add some more grit to it.
The drums are very simple. Just some samples, EQ, and a reverb bus to give them a little more impact.
Since every element so far was basically just adding to a backdrop, I added another instrument (which ended up being a music box) that played a variation of a melody that was used as a complimentary layer in the main theme.
It definitely added to the track but still sounded a little weak so I added a layer to support part of this melody with a piano sample library and a processing chain I'm using in a few other tracks as well.
At that point the structure of the track was more or less final but it still lacked something. Mostly low-end but I also felt like it could use some more complex synths.
I had some pretty gnarly sound design samples that I sliced up and processed pretty heavily. Unfortunately they didn't fit in tonally but using a pitch shifting plugin and some MIDI notes that problem was solved pretty quickly.
And that's pretty much it!
Of course it wasn't quite as straightforward to get there and I had a few more iterations of pretty much every part of the track but compared to some other tracks it still didn't take too long to make.
But what now? The track is written, it loops in the DAW, but how do you get it to play exactly the same in the game?
Most of the music in //TODO: today doesn't loop from start to finish but rather has a designated loop section. This allows you to have the track gradually build up while keeping a fairly smooth transition with every new loop.
For Defragment it basically looks like this:
The time selection is the section that loops and all you need to do is export each section as it's own audio file.
Within Ren'Py you just have to write:
play music "music/defragment.ogg" noloop queue music "music/defragment loop.ogg"
And you're good to go!
The intro will only play once and after that it'll just loop through the loop section until the music is stopped.
Anyway, I hope you enjoyed this little insight into the music making process for //TODO: today.
Now, to close things off I will post a little sneak peak of a track I've been working on these last few days.
It breaks pretty much every rule I listed above... but that's okay! Because it's the theme of the character that doesn't fit in with those guidelines anyway!
This track is not completely final and will probably still change a bit but to give you an idea of how it will sound, here's Phoenix's theme in its current state:
Part-time composer. Working on audio things for Boys Laugh +