Postmortem: Monsters Ate My Birthday Cake

I intend to use this blog to reflect on projects after they end, in hopes that we may all gain some perspective from the process.

This project took a circuitous route to completion. I made contact with the developer in January of 2013 and created a few sketches for the Kickstarter in February. We didn’t start writing music for the game in earnest until January of 2014, a full year later.

Ideality vs. Reality

In an ideal world, I would be able to focus on one project at a time, and embed myself in the development process from the beginning. This would allow the music to evolve with the game, and inform early decision making in other disciplines such as art and design. The unfortunate reality is that the creative and financial economics don’t always add up. Devoting myself to a single project for long periods is often unsustainable. It’s been my experience that I can only give a project my full attention for a few months before I burn out and need a change. As a result, it has benefitted me to jump onto projects later in the process, and to change my focus from time to time.

This project follows that trend. I created most of the material for the game in two spurts. As you might expect, the first spurt happened before the game came out. This spurt covered most of the basic music (map, title, village, levels, etc.). There was ~15 minutes of music in the game at release, and I found this unsatisfactory. In most cases, there was a single 60 to 90 second loop in use for 15 - 20 levels on its own. Also, I never found the time to match the amplitude readings of the various tracks. While most of the early reviews seem unfettered by the quantity of music in the game, there were comments about the volume levels.

Freelance Scheduling

Having a year and a half and still being unable to deliver the proper amount of content in time for the game’s release is a result of a few things. As a freelancer, I often sign onto projects well in advance of when I expect to start working. This tactic is in part due to how long some of these projects are in development, and also a scheduling tactic on my part. In recent years, I’ve tried to focus on one project at a time for as long as possible before switching. I’ve found this reduces stress and makes my work more cohesive. I will often wait for the best time to begin, based on my availability, the progress of the team, and whether there are playable builds. There are times when more than one project sets its due date around the same time. When projects coincide, I must figure out how to work on them at the same time while still meeting all their deadlines. This conundrum is why Monsters Ate My Birthday Cake only shipped with 15 minutes of music.

Unsatisfied with the amount of work on display, I went back and played through the game quite a bit. I took notes and tried to figure out all the places that required new music. I spent the next month or so writing, and by the time of the first big update, the soundtrack length had quadrupled.

Music Coverage

In an attempt to create a musical balance, I developed a technique to approximate how often each track plays. Without the actual numbers to figure that out, I settled for the number of levels assigned to each track. Here are two pie (or should I say cake?) charts, to show the music usage. These cakes only account for interactive levels, not cutscenes or map screens:

Music, On ReleaseMusic, After Update

After the update, I was able to reduce the burden on each piece quite a bit. Track 01 and 02 of each zone trade off in code, so that you’ll never hear either twice in a row. The rest of the tracks belong to special levels. Special levels include those that introduce new monsters, side paths, unique encounters, etc.

More Music for Cutscenes

I applied this same approach to cutscenes as well. On release day, most of the cutscenes used the same music. As of the update, every cutscene has a unique blend of tracks.

Dark Realms

I also introduced music for the “Dark Realms”. This gameplay mode occurs when the player enters a ground tear. The screen loses its color, and you have access to a different version of the level. The tracks in these sections are variations of the original music, but with a few differences. They are frequency shifted, pitch modulated, and lower in volume. These changes add to the variety even more.

Map Screen Variations

Another addition was musical progression for the map screens. Each zone has a map screen where you access the levels, and as you unlock new levels, new versions of the music unlock as well. The map music changes altogether when you unlock the next zone. Here is a breakdown:

Map Music, On Release Five tracks, five assets. One track per zone and one for the world map. No variations.

Map Music, After Update Nine tracks, twenty-four assets. Two tracks per zone and one for the world map. Four progress-based variations per zone.

Moving Assets Around

Before the game’s release, a black screen intro provided backstory, and I wrote a piece of music for it. I thought it worked quite well, but we removed it to allow the player to jump into the game quicker. Instead of letting the track go, I managed to find an interesting place to use it. There are bottles scattered throughout the game that contain messages. When you discover one of these bottles and read the note inside, the background music dies out and a short piece of music plays in its place. The idea was to characterize Niko (the protagonist) as becoming immersed in the reading of the message. It is a somewhat unorthodox usage of music (reminds me of the game ‘Ōkami’), but I believe it adds a little extra immersion to the game.

Volume Leveling

I have given some thought to having in-game assets mastered over the last few years. That said, when the time came to make a decision, I decided to forgo the option. I tweaked assets often, and until the last moment. I find the concept and workflow of mastering, at least in the traditional sense, to be somewhat incompatible. I searched for an alternative that would get me at least some of the way there, and I found Leq. Leq is the Sound Pressure Level in decibels, equal to the total sound energy over a given period. While not a silver bullet by any means, Leq allowed me to bring the assets close together in perceived volume, in most cases. I chose to use A-weighting, which uses a response curve that favors higher frequencies, much like our ears. I also found it matched up well with the response of mobile devices, which tend to be poor at reproducing lower frequency sounds. This was a factor because the game is available on iOS and Android. To calculate Leq, I used a tool called AudioLeak, which will output a single dBFS value. I used these values to attenuate the signals of the files to desired levels.

An Idea That Didn’t Make the Cut

There is one idea that didn’t make the grade. I wanted to have the music change depending on which monsters were at your disposal. In levels, music would crossfade between different versions as you switched between monsters. We also toyed with the idea of changing the map music in the same way, depending on which monsters were available. The levels concept would have worked well, but I decided to dismiss it and focus on quantity instead. I also planned to write a jingle for each monster that would play if you beat a level with them, but never got around to it. Some ideas, while good, are not important enough to use.

Consensus: A-OK

All in all, I am pleased that I took the time to beef up the music in this game. I can look back at it and be proud, instead of having reservations and wondering how it could have turned out better. I’ll always have some of those what ifs, but by giving the music the extra love, I am far more content with the result.


I’ve also written a post on some of the techniques used in Monsters Ate My Birthday Cake. Some of these include: subtle fifths, hocketing, genre writing, repurposing, quotation, soundtrack preparation, pitch bending, groove shifting, ritardando, reharmonization, developing sound libraries, overdoing it, and Kondoisms! (Koji, that is) Thanks for reading!