Anarchy Online is a science fiction MMOG that takes place thirty thousand years in the future. The player can move around freely in a futuristic and fantastic environment, fight monsters and take on quests to improve the abilities of the character and to acquire new and better equipment. One of the important goals of the game is to live in it and take part in the society inside AO.
Initially, the composers (there were three of us working on the music for AO; Morten Sørlie, Tor Linløkken and myself) thought that writing music for this game was going to be like our previous game, The Longest Journey (TLJ). TLJ was a single player adventure game, and fairly linear in form, and with pre-defined situations and animated sequences. In other words, the music for TLJ was composed to fit very specific situations in the game. We soon realized that we were going to have a different approach to the music in AO.
This article sets out to share our experiences with creating music for an MMOG, and to describe our solutions to some of the problems we encountered.
There were several things we wanted to achieve when we set out to create the music for AO. We wanted a musical tapestry to compliment the beautiful graphics, and we wanted music that would last beyond the first few hours of playing. We wanted the music to change according to the location and actions of the player, and we wanted CD-quality music.
The most obvious challenge was to create music that wouldn't get repetitive or irritating to the player. AO has potentially thousands of hours of playing time, and this meant that we had to come up with a method of both presenting the music and composing the music that would be suitable for many hours of exposure.
It was quite clear that we had to create non-linear music, both for the sake of interactivity and variation. DirectMusic was being introduced around that time, but for different reasons we decided to design our own system using full CD-quality audio. This system will be explained in more detail later in the article.
Before detailing how we handled the challenges presented to us in AO, I would like to talk a little bit about musical focus in an MMOG.
In any game, it is important to know what the goal of the music is, and how it should interact with the player. In an online game, you can rarely control the timing of things, but you can map out all the possible situations and use that as a good starting point for the music production.
Any element that interacts with the player, be it the environment, monsters, players, items or even the game interface, should be considered for music and musical effect.
Compared to a single player game there is little or no room for creating linear musical emotional development and drama in the MMOG, and for that specific reason we choose to focus on the external elements around the player character.
Having music playing endlessly at one location was a bad idea, and so we found that having the music fade out and then in again at regular intervals was a good solution. It gave the player time to absorb the emotional effect of the music, and then subsided to let the player experience the environmental sounds on their own. After a while, the music would come back, play for a while and then fade away again. Finding a good balance between how long the music would play and how long it would stay silent was the key. Short pauses would make the music annoying and too long pauses would make the music ineffective in maintaining the feel.
We were not content with having two-minute loops of music playing over and over again. The music became too predictable, and with a potential playing time of thousands of hours, each piece of music, no matter how long, would become predictable and boring.
The human mind is designed to recognize recurring patterns. This is how we learn to identify things in the world -- through our senses in an organised pattern: Recurring sounds, visuals, smells etc. Unfortunately, recurring musical patterns - otherwise known as loops - start to get annoying after a while, especially if they go on and on and on. Even though the music doesn't draw any attention to itself, the pattern that it is repeating will.
Our solution to this problem was to create a tool that allowed us to combine many small samples of music into a continuous track (this tool will be described in more detail below). It allowed us to create a single track built up of many smaller pieces which were combined on the fly to create an ever-changing soundtrack.
Most music has certain characteristics that draw the listener's attention. This is most commonly achieved by having instruments with high activity (including vocals), sharp dynamic changes or pronounced harmonic changes. To create music that is unassuming to the player, we had to make sure we limited the use of those characteristics. A lot of the work here lies in the composing of the music, and the threshold between music that draws attention to itself and music that remains unassuming largely depends on how a piece is composed.
Specific Elements of the Interactive Music in Anarchy Online
We created a tool specifically to handle the music in the game. We had listed the requirements for the music, and designed a program that would allow us to meet all those requirements. This tool, the SIM tool (SIM stands for Sample-based Interactive Music), could do all this for us.
Before the description of the tool itself, there are a few things to be mentioned about the composition process. The tool required short pieces of music, which, in the end, would be played sequentially to create the interactive track. The composer had to compose all the short pieces of music and sample them. It was important to sample each piece separately and make sure the reverb at the end of the sample was retained. This was important to ensure continuity in the music. Once this was done, the pieces could be put into the SIM tool.
The SIM tool allows the composer to define the rules for playing back the music. Each sample has a list of possible new samples which can be played after it; possible transitions. The composer must enter the tempo and meter of each sample. This way the tool will start the new sample at exactly the right beat, but allowing the reverb from the previous sample to be played to the end. The new sample then has its own list of possible new transitions, and so on. In the end, this creates an endless string of samples. See the diagram (figure 1) for a visual representation of how this works. Each one of these tracks is called a "layer".
Each layer can change into any other layer at any time. For example: The player moves from a forest and into a desert area. It is daytime. The "forest day" layer is currently playing. Once the player enters into the desert, the SIM tool will find out if the current sample playing has a transition to a sample in the "desert day" layer. If it does, then this is the sample that will play next. If the sample has no transition to the "desert day" layer, the tool will find the shortest possible path to the "desert day" layer via other "forest day" samples.
This system is fairly easy to understand. Working with it is an entirely different thing. In AO there are over 750 individual musical samples. All of these are connected to a number of other samples that are again connected to a number of other samples. A typical sample has 3-5 transitions within its layer and a fair number of transitions to other layers. The amount of transitions the composer needs to oversee is vast, not to mention the testing of these.
The layers function is used primarily in the combat music, which changes to reflect how well -- or badly -- the player is doing in combat, as well as illustrating the strength of the opponent. The combat music has 14 layers which can be activated and stopped at any time, depending on the situation. Mostly it reflects if the player is winning or losing, but it also reflects the size of the enemy. If it's a huge monster, the battle music will be more intense, and if the opponent is tiny, the music will be less intense.
Each layer of music in AO is endless, meaning that unless it is stopped, fades out, or changes into another layer, the music will keep playing forever, jumping from one individual sample to another. Each sample has multiple transitions and will rarely move into the same next sample twice, and so the music is never played the same way twice. In linear time, AO contains about two hours of music, but when played back with the SIM tool, the amount of unique music is almost infinite.
There are certain obvious drawbacks to this system. Since the music samples are set to change only at certain points during playback, it takes a few seconds to change into a different layer. As long as the music is playing within the same layer, everything is fine. This is especially evident in the combat music. In certain cases, the music will keep playing a few seconds after the enemy has been killed, or if the player has been killed, the combat music will keep going for a few seconds before changing into the "death" layer. These were limitations we were aware of, and chose to live with. In our opinion the advantages of the system greatly outweighed the drawbacks.
Even though the tool was designed for Anarchy Online, the game doesn't utilize all of its functions. The fact is that while developing and working with the tool, a number of ideas and uses came up which we were not able to implement for technical and time reasons. One of the features - that is in the current tool, but not in the game - is the ability to cross-fade samples based on chord progression. This is defined by markers in the sound file. This will allow for more rapid changing of layers.
As mentioned earlier, introducing music when there's nothing happening on-screen can be tricky. The player has been conditioned to respond to music starting up through TV, film and games. Usually, it signifies that something is about to happen or is happening. If the player is standing somewhere inside the game, looking around, and the music starts up, it will peak his interest, because it seems as though we want him to notice something or prepare for something.
So how can we "tell" the player that nothing is happening,
but still start up the music?
Our solution was to do it gradually, the music fades in very slowly. As mentioned earlier, the music itself has to be calm, otherwise it's not going to work. Another way of doing it is to start the music up gradually. Start with a single instrument and slowly build on that. Someone said that the best film music is the one you don't notice. The same can be said for this type of music as well.
Starting up the music with percussion or at high volume will certainly make the player sit up and take notice.
Musical Style in Anarchy Online
Nothing has been said about the musical style of AO so far in the article. The reason for this is that it is of no consequence in relation to the ideas behind the music and how it works.
Choice of style is often a product of what we're good at. In Funcom's case, we were three composers with different styles and compositional techniques working together on one project. Instead of nailing down rules, we kept everything pretty open. We were allowed to explore the different sonic facets of AO, and I think, in the end, the game benefited from allowing that kind of variety.
A lot of the music is based around the traditional sound of a film score, using orchestral instruments to pull the player into the setting. With that as a basis, there was still a lot of room for experimentation and adding all kinds of other elements. We used a lot of synthetic elements, a range of different percussive sounds, and even a whistling choir. The end result of this was a patchwork of styles and moods which made every area and time in AO special.
We actually used the ambient sounds for the game for reference during some of the composing, adding the sounds to the compositions to see how they would fit together. This not only allowed us to go back and change certain elements of the music to fit the ambience, but also to go back and change the ambient sounds to fit the music better. Working both ways like that definitely helped establishing both the music and the sounds as a whole, and definitely influenced the style of the music.
When working with music for a game, there are certain expectations as to what the end result will be. How it will all work in the end. We had high expectations for the music system in Anarchy Online, and most of the goals we set, were achieved. Everything can't be perfect though.
One problem we had was with the combat music, which was designed to differentiate between large, medium and small opponents. Unfortunately, at launch not all of the monsters in AO had size defined in the code. This resulted in the music sometimes giving the impression that a monster was really hard, even though it was puny, and making large beast seem like they were push-overs. Most of the monsters have have been corrected over time though.
We set out to create varied music by using short pieces of music to avoid repetition. We didn't realize that at some point, these short pieces themselves can be recognized and considered repetitious. We think it's infinitely better than what was before, but it's still something to consider.
Certainly there are improvements that can be made to our existing system, and to the way we use music in our games today. Most importantly, we are going to have to look at more advanced systems for identifying player behavior, to more accurately tailor the music to the player's actions and performance.
I'm hoping that this article will spark some ideas about how to present music in an online game, and also, perhaps about how to improve the way music is handled in these kinds of games. I suppose it's all about seeing the possibilities of a system and working with them, rather than focusing on the limitations.