Project Overview


I hope that this section gives you a good idea of how we structured the entire project, from both a technical and musical perspective.

Style and Feel

The feeling that we wanted in our music originally stemmed from the style of playable races in Asheron's Call 2. The Tumeroks, which pull reference from tribal cultures, would play drums to channel magic, rather than the traditional wand or scepter. Lugians, another playable race in the game, pulled their reference from places like Tibet and brought to mind the sounds of Tuvan throat singers and Tibetan monks. The Humans would represent what people expect, sonically, from an RPG, the traditional classical element, orchestral scores, and church choirs.

Our first step was to create a piece of music for each race that encompassed these elements and set the mood for each race. We later used these pieces in the character creation screens to enhance the mood of each race. Once we were happy with these pieces, we created a score that combined the sounds and melodies of all three pieces to set the style for the game itself.

With this settled, we began to work on the design for the in-game music.

The system evolved over the course of many months until it arrived at a point with which we were satisfied. A brief overview of what we finally settled on is as follows:

  • Location in the game world determines the current ambient score. This sets basic things like tempo, key signature, Chord-Maps, and a background musical score. This "master Segment" is attached to a specific combination of a terrain and scene (such as grass with willow trees) or on the physical geometry of a dungeon area.

  • Each monster in the scene adds a musical element to the score. Much like a subtler version of Sergey Prokofiev's "Peter and the Wolf," each of these parts can have many variations.

  • Players may hold a musical instrument in hand, such as a lute or drum, and play various emotes, which emit a 3D-located melody or rhythm from their instrument. If they do not have an instrument, they can beat box.

  • Each monster and avatar may add or subtract from the intensity level of the music. Each monster or potentially aggressive avatar in the scene adds two to the groove level, while each nonaggressive avatar subtracts one. The default groove level with no monsters or avatars in the scene is 30. This allows us to define a relative intensity for the music based on the rough state of the area. If the area contains mostly avatars, it is unlikely that anyone is in any danger, and the music becomes calmer. Conversely, if the area has a reasonable number of monsters in it, the groove level will rise, and the music will become more intense.

Time Feel

Like many other projects, what we set out to do was quite a bit smaller than what we ended up creating. Our original thinking centered on getting the Tumeroks to be able to cast spells using drum rhythms and allowing them to play together in an interactive drum circle over the background score. Our first step in this was to get a series of bar-long rhythms working together with one-beat fills that would sound pleasing while played during any beat of the measure. Each part would have to be satisfactory by itself, yet add to the feeling of the group.

One of the experiences that we really wanted to emulate was the push and pull of time using polyrhythms. By incorporating the traditions of certain world music, such as African and Latin, we were able to transition and modulate between the feel of multiple time signatures while remaining in a single time signature. For instance, playing in 6/8 using a rolling six feel, then playing four dotted eighth notes against that to create the polyrhythm of "four over six," and then using those dotted eighth notes as the primary rhythmic pulse creates the feeling of playing in 4/4 while remaining in 6/8. Using polyrhythm like this can obscure the bar line and allude the ear as to the placement of one. This allowed our Tumerok drummers to fire off spells at any beat without disrupting the flow of the music.

click to expand
Figure 20-1: Tumeroks are deeply in tune with the spirits of the world around them. They channel magical energy through drums to attack their foe.

We chose a master tempo of 80 in the time signature of 6/8 because it is slow and leaves plenty of space. Using 6/8, we incorporated multiple time feels, including 3/4, 4/4, 6/8, and 12/8. They can work by themselves or against each other. Doubling the tempo to 160 beats per second is still a comfortable pace and gives us an entirely new palette of time feels to work with. We built even more complex feel changes and polyrhythms from these fundamentals. A 9/8 feel constructed of triplets off of the quarter notes in the 3/4 rhythm is difficult to make work as a fundamental, but it can be a nice polyrhythm if subtly used.

The Stack

Using these fundamentals as a base to work from, Geoff Scott, the composer on the project, went into Fruity Loops and began to compose the initial drum patterns. Using the sounds of a Djembe, Dun Dun, and Todotzi, each drum would incorporate a different time feel. As we created each pattern, we referenced it against the previous patterns, creating a large "stack" of rhythms. Writing this way ensured that everything worked against everything else and provided insight into the music's architecture as a whole. It was important to balance the timbres of the drums, spreading the thin and thick or high-and low-pitched notes across the measure so that no one beat became overly accented. We then reviewed each rhythm to make sure it was satisfactory on its own as well as in the context of the entire score.

Once we were happy with this, we moved the data into DirectMusic. We then composed a series of small fills on each drum that would represent the different types of spells in the game. We grouped these spells into similar categories, such as attacks, enchantments, heals, summons, buffs, and debuffs. We gave each category its own rhythmic figure. When the user casts a spell using a drum, the rhythmic phrase creates an accent. A call and response event occurs when several players cast spells.

Background Score

Our goal for the background score was for it to sound almost as part of the environment's sound design itself. We wanted to keep things relatively simple and ambient and avoid ear-catching resolutions and stabs. We also knew there would potentially be a very large number of melodic parts playing over a given background score and that those melodies would be the primary force adding tension and resolution to the composition.

We chose modal pads with ambiguous harmonic movement — sweeps and swells of color that provide mood over traditional melody. Like our rhythmic scheme, the lack of harmonic resolution would not tire the ear. Similar to the concept used in Indian music, we stated the given scale as a raga (the tonic droned and then played upon for an entire afternoon), creating a meditative space without the repetition and destination of a cycling chord progression.

To give the music a sense of global awareness to the player's current predicament, we used various modes to color the music accordingly. A player standing alone in an area would hear the background score in the Lydian mode, but as creatures fill the area, the music transitioned to Phrygian, giving a darker tonality. If monsters continue to outnumber the player, the music might transition to a diminished mode while a quickening drum groove begins to pulse.

Monster Melodies

After we had some basic background music working, we wrote a few melodies, which we tied to individual monsters in the game. When one of these monsters is in the area, the melody warns the player of its presence. We wrote these melodies as if they were part of the background score, but designed them so that they could play on any measure in the score. We tried to capture the feel of the creature in the sound of its DLS patch and used information about where different creatures would appear to better mix the parts with each other. While we could not rely on this information as being correct, it gave us a good point to test and design from, as in most cases we knew what creatures were likely to appear together.

Player Melodies

With a basic background score and our initial stack of rhythms established, we started to create the player melodies for the game. These would be two-bar melodies, which the player could trigger anywhere in the game and would start playing on the next marker placed every two bars in the music. When multiple users play multiple melodies, they get the feeling of playing music together.

We started by composing against our rhythmic stack, using a bass and lute sound. We created ten melodies for each instrument and pulled from multiple time feels contained in the existing drum rhythms. Creating this stack was probably the most difficult aspect of this project. Geoff and I went home with intense headaches on more than one occasion, as wrapping our heads around all of the data was quite a task.

Geoff's approach to the initial instrument, the lute, was to write using counterpoint and harmony, while keeping the melodic range as tight as possible to leave room for the other instruments. The initial lute parts used two scalar melodies with three-part harmony countered against each other, while pulling rhythmically from the four and six feels. We based the harmony on one chord structure and concentrated on the color of that chord's chord tones and tensions, while being aware that the melodies would transpose to new chords and through chord progressions.

Like the drum rhythms, each part needed to be sustainable by itself, as well as in a group. We maintained a careful balance between making the parts interesting and not making it so interesting that it became repetitive or dominated the mix.

Dimensions of Musical Space

One of the key concepts that allow this project to work compositionally is the defining of musical space. We designed the rhythmic feel for the game to allow as many avenues for musical space within time as possible, providing multiple time feels within a single time signature and tempo. We applied the same concepts to the melodic space, as we needed to account for passing tones and tensions across each beat of the music. While it's natural to think about the melodic content as following the same time space as the rhythmic content does, melodic instruments have a quality that many percussive instruments do not — the length of the note. In many ways, this is yet another avenue of musical space to explore. The final area of space is that of timbres. When the sounds of the instruments are different enough, the ear has a much easier time distinguishing them from other notes of different timbres.

These concepts of musical space became very important as we began to add more instruments to the stack. As the stack became larger, it was too unwieldy to manage as a single entity, and it was necessary for us to write new parts with only subsets of the stack available. Our ears could not truly hear 30 lines at once, let alone over 200. However, once you understand how we wrote the original melodies and the concepts of musical space, it no longer becomes necessary to have the entire stack available for listening. You still need to test against subsections of the stack, but eventually most of it becomes something that you do not think about on a theoretical level but just hear and do. In most cases, we tested each stack of ten melodies against a selection of about 20 melodies from other instruments.

Expanding the Stack

Our first alternate instruments were simple repatchings of what we created previously. The lute melodies were now available in a marimba or harp sound, and we even added several new drums as well. Simple repatchings gave us a wealth of variety with little work, but we wanted to add new musical feelings to the mix. All the instruments so far were of the same characteristic — a quick attack with a fast decay.

Next, we added three instruments that filled a very different role — long tone ambient sounds. We created the Ice Lute, Virinidi Lute, and Barun Lute to give the player music long tones. In the case of the Virindi Lute, each melody is three bars long and stresses upper structure arpeggios and intervallic play. The Ice Lute uses a cold, breathy, pad sound and uses the tensions of the chord and a forced ambiguity of harmonic structure while maintaining the color of the mode. This allows the instrument to float and weave through the harmony, rather than define it. The Barun Lute follows this same formula but with a very different timbre, more hollow and dry sounding than the Ice Lute.

We also added flutes, which have a very different sound characteristic that any of the instruments mentioned previously. I wrote unique melodies for them, which stress the use of long held notes and harmonies. We designed each melody to provide a contrast with the original instruments. Each melody has a harmonized version.

Modes and Chords

Once again, I must stress the evolution of this project as a key motivator in how we did things. Once every basic component was working, we embarked on a long series of tweaks to make the overall project more interesting and discovered ways in which we could have done things better the first time. However, each of the restrictions that we placed on the project eventually became a motivator in some new way to expand the project.

One such restriction was writing the background melodic score in a single mode. While this made it much easier to write over and provided the feel that we wanted, the player music suffered from the lack of active chord changes. Individual parts would sound repetitive if the players did not actively change the part that they were playing. The solution was to write modal chord changes and map individual parts to each of these changes. DirectMusic allows you to define up to four versions of each chord, allowing us to have multiple layers of chord changes and map each instrument to a different layer. The bottom chord layer would never change, which meant that all of our modal background score and monster melodies would play the same as they always had. The second and third chord layers, however, would be for the player music to follow.

There are, however, distinctly different ways for musicians to follow chord changes. If we consider a basic blues as our example, a bassist playing through the changes will often move with root motion. That is, the bassist plays a line on the I chord and then plays that same line on the IV chord. Meanwhile, a soloist might play through those same changes without root motion by creating melodies that adapt to the current chord scale but do not move with the changing root.

click to expand
Figure 20-2: Here is an example of one of our chords. Chord track 1 is set to CMin7, the first chord in the mode of Dorian. This is the mode for the background music. Chord tracks 2 and 3 are also in the mode of C Dorian, but their chords are set to an EbMaj7 chord.

Look at Chord track three. Notice an EbMaj7 as it would be played above C. Chord track two, however, contains the inversion of the chord, which is closest to our root chord of C minor — in this case, the third inversion of the chord.

What we define here is how a bass part and a melodic part move through the chord progressions. We map bass parts to chord track three and follow root motion up to the Eb. Melodic parts, however, choose the closest acceptable notes to what they originally play, much like a guitar player going through changes on a solo.

This technique opened up a wealth of emergent behavior in the player music. The player music follows chord changes that are not present in the background score, yet work perfectly with the background score behind them. A user busy chatting while they play no longer sounds repetitive but instead actively follows chord changes. As we take the liberty of hiding interesting changes in parts of the world that may not even have a background score, there is an invisible landscape of musical changes waiting for the players to discover.

Groove Level

In our first pass, we went through each background score and set various styles to respond to different groove levels. Our default groove level is 30; nearby monsters add two to the groove level, while players subtract one. As monsters outnumber the player, the groove level rises, and the system introduces new parts into the mix to intensify the music.

This only provided a scope of density and did not create the change in color and mood we desired. For this, we added additional code to change the primary Segment based on the current groove level. As the player goes up in groove levels, the chords chosen for the music become darker. For instance, an area in a base mode of C Dorian will move to C Phrygian, and finally to a C whole-half tone scale, providing a much darker sound. Like all of these Segments, we wrote secondary chord changes for the player music to follow.




DirectX 9 Audio Exposed(c) Interactive Audio Development
DirectX 9 Audio Exposed: Interactive Audio Development
ISBN: 1556222882
EAN: 2147483647
Year: 2006
Pages: 170

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net