Vertical re-orchestration or layering is one of the most commonly used techniques for creating adaptive music in videogames. It is generally based on adding or removing different layers to the score depending on the game state. Usually this technique is utilized to make music sound more intense in certain moments and situations. I want to push this concept a bit further and describe how we can use vertical re-orchestration to seemlessly shift between different compositions through some transitional layers. As an example I will use our little game from Global Game Jam 2016, called 7 Layers of Summoning. The game was developed in less than 48 hours by the team of four people in Espoo, Finland.
The idea behind this approach is to let the music adapt to balance of power in the game while it shifts from one side to another. It can be also treated as a positive feedback loop (check this article if you don't know what it is) to reward the player who is about to win. In simple words, I wanted music to adopt some themes, motives and moods of the character controlled by the winning player.
7 Layers of Summoning is a simple 2d game about a duel between Finnish shaman and a demon. Players can freely move horizontally and attack each other by dialing a certain combination of buttons on a PS4 controller. Background music serves as a game state indicator, showing which side is winning and how close it is to an actual victory. Here are the full versions of music themes for each of the characters:
In the beginning of the round we hear "zero layer" - a neutral composition made from different elements of both themes. When one of the players lands a successful attack, zero layer crossfades into the first layer of his character's theme. Next succesfull attack will make his theme sound more intense by adiing one more layer to it. Opponent's attacks will remove additional layers until the music crossfades back into the neutral state. Take a look on this gameplay video to hear how it works.
The system is designed in a way that neither zero layer nor any character theme layers can be played together with the theme of opposing character. Graphic representation of the system will look like this:
Vertical re-orchestration is all about constraints: this technique usually requires all assets to be done in the same tempo, time signature and harmony. Some of these constraints might be hacked under certain circumstances, and I'll give you a couple examples in the end of this post. However, 7 Layers of Summoning was developed on a game jam under serious time pressure, so I didn't have much time for experiments. Instead I decided to follow a simple set of rules:
Here you can listen full Demon-to-Shaman theme transition where each possible state of backgorund music is played for a full cycle.
I must admit that I made one serious mistake. I started working with characters' themes first and left zero layer for the end of production. Because of that zero layer turned out to sound boring and featureless, and I couldn't do much about it without revisiting my previous work. One reason for this decision was to play safe. I wasn't sure that I'll be able to make everything I had planned in such a limited timeframe, so if I failed, Shaman's theme would become a static background music theme for entire game. In any other circumstances it makes sense to start composing with a zero layer, trying to naturally develop other themes out of it.
That's it for 7 Layers of Summoning. Now let's think how can we push this method even further.
7 Layers of Summoning was developed in January 2016 by Lassi Vapaakallio, Laura Laakso, Ondrej "Omar" Martinek and Denis Zlobin.