As art of the Audio Programming theme this month, I thought it would be interesting to learn about the interactive/reactive score to Mini Metro, a game which was released late last year by developer Dinosaur Polo Club to broad critical acclaim.
I sat down recently with Rich Vreeland (aka ‘Disasterpeace’) to discuss the project. Rich was the composer and designed the music system in Mini Metro. Pretty much everything you hear in the game consists of samples that are trigged in real-time as a result of player actions.
Designing Sound: Where did the original idea for the music system come from?
Rich Vreeland: Dino Polo Club (the developer) reached out to me based on the strength of some my earlier delves into procedural music, such as January. There was an intent from the beginning to do something procedural, and after seeing the original prototype (which you can play on the Mini Metro website: http://dinopoloclub.com/minimetro) I knew the game would be a worthy counterpart to and challenge for a procedural soundtrack.
DS: Was the goal to create a soundtrack that worked as a core component of gameplay (providing the player with information) or more to be reflective of what’s going on?
RV: I tried to walk that fine line where the audio accomplishes both. From the outset I think we knew that a good audio design could supplement the user feedback system and help the player engage on a higher level. I also wanted the music to have a minimalistic, entrancing sort of quality. I think this desire came out of how the game made me feel when I played it. I kind of wanted to tap into that feeling further. One of the unexpected side effects of approaching the audio this way is that I think the music helps to actually counterbalance some of the stress the game can dole out. I find it to be a rather unique game, because of how it can be very meditative to play but also quite stressful when your system starts to overload.
DS: Are all musical elements tied to the player’s actions? When we play, we hear melodic / rhythmic elements, tonal / chordal elements and percussive elements as well as different evolving rhythms and harmony. What’s the controlling source for these musical components?
RV: Each city/level has an inherent set of musical qualities; access to certain rhythms, harmonic choices, and train engine sounds among other things. Which of those are played at any given time is somewhat controlled by the player through their decisions around the size and shape of their subway system. Each level contains strings of notes that represent the harmonic structure and the voice leading of the music. Each subway line has a rhythm and a note tied to it at any given time. Altering the subway line least recently altered replaces the oldest note in the harmonic structure with the next one in line. The rhythms work in a similar way. Altering a line alters the rhythm by shifting it to the next available rhythm in a list of possible rhythms. Sometimes the harmonic structure of the music will change depending on which week of gameplay you are currently in.
DS: What were some inspirations for both the design and the sound pallet you ended up using?
RV: The sound of the game was inspired by minimalism a great deal. I wanted to approach a sort unity between shape, motion and sound, and I think having the simple visual shapes helped me to realize that goal. I was inspired by the works of composers like Steve Reich and Philip Glass, and things like the film Dots by Norman McLaren.
For emotional state, I couldn’t get the old Nintendo Wii menu music out of my head.
DS: What was the design process like?
RV: Intense! We did quite a bit of prototyping, and even more thinking. There were many nights I would be lying in bed, utterly consumed with ideas about how to make the music system most effectively support the gameplay. There are google docs exploring relationships between objects, which objects will conduct which others, how rhythm and harmony will be explored, etc.
Below is an early concept from the development of Mini Metro. I was trying to figure out what the music might be like in the game, and one idea I had was to write a very simple piece of music that transpired over the course of one in-game week, that also captured the ups and downs of a stereotypical week, commuting each morning weekday to and fro, partying on Friday night, hungover on Saturday, etc. Each hour is about 0.83 seconds long:
Here are two early video prototypes. I didn’t take the time design all of the sounds, just enough to help set me off in a particular direction:
After a few failed attempts at using FMOD, we settled on G-Audio, a Unity plugin that isn’t designed for games per se´, but has a very robust system for executing the playback of sounds at rhythmic intervals. This allowed us to treat the familiar update loop like a sequencer, where instead of running 60 frames per second, we could have an update loop running 5 times a bar (quintuplets), or 16 times a bar (16th notes!), etc.
DS: How did you go about generating the sounds you ended up using?
RV: Most of the tonal sounds were designed with Serum, a software synth. For a lot of the UI sounds, I took a bunch of sine tones and ran them through S-Layer, a really powerful reaktor ensemble. S-Layer is great for designing sounds in a semi-chaotic environment … random in a range, if you will. I rendered 100s of random variations and used that pool of sounds as a starting point for many of the game’s sound effects. The sounds of the passengers are mostly sample based, mouth sounds and old drum machine samples, with lots of pitch and sometimes granular manipulation in Battery.
DS: You mentioned to me that there are some instances where the visuals react to the sound, whereas typically sound has to respond to visuals, what are some of those examples?
RV: In developing the music system, I noticed that passengers tended to spawn and perform actions in clumps. I suggested to Peter (the developer) that it might be better to have those actions fan out in a rhythmic way. This I ended up calling the ‘Arpeggio’ module. I actually prototyped this idea in the audio and put it in the game before even broaching the subject. Peter thought it was a good idea, and because the audio system was integrated relatively late in development, the game was set up to listen to the music system, and respond accordingly in this context. In a sense, this was one way in which Peter ‘gave me the keys’ to the game. Each level had a different loadout of musical ideas, many of which controlled rhythmic aspects such as the timing and rhythmic frequency of passenger spawn, pick up and drop off events. Imagine the difference between passengers being picked up by a train as quarter notes vs quarter note triplets … this difference effects how the entire subway system operates, and how quickly the trains are able to move passengers to their destinations! By making certain musical decisions, I could actually alter the feel of the game design in subtle but notable ways. I tried as best I could not to make drastic changes in this regard, so as not to disrupt the design intentions of the rest of the development team.
DS: Is there any control to stop things getting too chaotic, or does the system account for that in its design, either to prevent it or allow it intentionally?
RV: The game itself has many comprehensible limits. No city can run more than 7 lines at once. Each line is limited to 4 locomotives (not counting certain hacks people have discovered), and 4 carriages per locomotive. These sorts of limitations were helpful in designing a system that is able to handle significant dynamic shifts, from sparse and quiet to dense and loud. Some of the musical systems, such as the ‘Arpeggio’ module which handles the ‘flamming’ of passenger spawn sounds among other things, will only honor so many interactions within a short time frame. The music system is designed so that generally speaking, passengers of different shapes perform actions at different times of the in-game hour which is part of how the system mitigates sonic overload. In Berlin, circle and square passengers show up at stations on the hour, but triangles show up on the half hour, and other shapes show up at a quarter past or a quarter to. If more than 7 triangle passengers show up at 7:30 PM on a Wednesday, you’ll only hear the sound of the first 7, flammed out in 16th notes. Another trick we use is depending on the speed of the game clock, we tend to increase or decrease the length of the volume envelope for samples. In Sao Paulo, the tones (and their and fade in/out volume ramps) that represent each subway line get longer the slower the clock is. When the game is paused, the music is at its most ambient. We tried to design our controls into the system, and push failsafes only to the outermost periphery, so that in most cases they would be near impossible to detect.
DS: There are different cities in the game which represent new levels, each has its own sound. Where does that come from? Is it a change in the sounds themselves or the system control, and what was the creative direction for some of the cities?
RV: The sound sources stay the same, but the behavior and manipulation of the sounds for each level is slightly different. There are a few exceptions though. Some cities, like Osaka, have a unique train called the Shinkansen which is faster than the normal trains in the game, so I designed a unique engine sound for it. Other cities, like Sao Paulo have much looser rhythms and have a more ambient vibe, while Berlin is a good example of a city that has a very hard attack sort of sound, almost a dance music quality to it, so I added a kick drum to that level. I tried to create variation in the cities while using more or less the same set of sounds, by mostly focusing instead on what I could do given the strengths and limitations of our audio engine. That largely amounted to things like how to handle the volume envelopes that control the tonal sounds of the lines. Each city also has its own harmonic progression, and I tried to capture the feel of some of these cities through this practice, though a lot of it is fairly abstract. There’s also a different approach on rhythm in different cities. I use swing rhythms in New York and St. Petersburg, and I use the mechanism that does swing rhythms to create uneven rhythms in cities like Cairo. Some cities only use duplet rhythms, and some only use triplets. Paris is a unique city rhythmically because it uses quintuplet and septuplets in addition to more traditional rhythms. There are also things like pitch variation in the passenger percussion, which changes slightly from city to city.
DS: Any plans for a soundtrack?
RV: A soundtrack is up in the air at this point. A part of me would very much like to create one, but it will be a unique challenge to take something so procedural, and so reliant on the gameplay and turn it into a standalone album. We’ve talked about the possibility of creating a listening app that runs the Mini Metro simulation in the backdrop, or perhaps giving the game’s samples out to let other artists take a crack at writing music using the materials.
DS: Are you at the point where you can just listen to the sounds and get a sense for how someone’s game is going without visual aid? I could see this kind of system being very applicable to games for the visually impaired, have you considered that?
RV: I hadn’t considered that, but I definitely wanted the sound to tell the story of the gameplay! I think on some level you get a decent sense of what is going on. You can roughly tell how many passengers are in the system, how many lines there are, how many trains are moving about, and whether any of the stations are overloaded. Those are in my opinion the most important elements of the system from a gameplay standpoint, so that is what I tried to focus on.
DS: What’s next for Mini Metro?
RV: Mini Metro was nominated for four IGF awards, including the Grand Prize and Best Audio! We’ll be in San Francisco at GDC representing our baby. We’re also slated to have a mobile version of the game out very soon. I think mobile is kind of the perfect platform for an entrancing game about subway systems.
DS: Yes, absolutely. If they’re on the subway, they might as well play one!
Big thank you to Rich for taking the time to speak with us. For more on Rich and his works, visit the links below…