The DirectMusic Solution


After defining the music design goals for Russian Squares, I turned to DirectMusic. I thought of the music in terms of small "cells," or phrases, that correlated to rows in a level — one cell per row. Given my experience with DirectMusic, I saw three possible solutions to the core design objective. We could use DirectMusic primary Segments as the main musical unit, so when a player cleared a row, a transition to a new Segment occurred. We could build the composition out of secondary Segments that layered onto or peeled away from the mix sequentially. Alternately, we could use Styles and their groove levels as the core musical unit; this way, the game transitioned up and down the groove levels as the player cleared rows or the game added them.

I experimented with the primary Segment solution. I thought Segments allowed for more flexibility with the form, such as tempo changes and longer, less repetitive phrases. However, our first few tests showed some glaring problems with this approach. It worked well when the music changed every minute or so, but when the music changed more often, it sounded a bit stilted or unnatural. In addition, the programmers told us that primary Segments would not respond as quickly or efficiently in the game as groove levels.

Next, I tried layering secondary Segments but quickly learned that this method was a logistical nightmare, both technically and musically. Getting more than three or four secondary Segments to line up musically and respond quickly to game calls was not practical. I also experimented with a muting/unmuting system using controlling secondary Segments to get the same effect, but again it did not turn out to be practical for this design.

We use Styles and groove levels in this application, as they respond quickly. Each groove level associates with a row. If the player clears a row, the game increases the groove level by one, and if the game adds a row, it decreases the groove level by one. Therefore, the game engine slides the set of groove levels up and down as the game progresses. Each groove level consists of a musical phrase that is two to 12 measures long and transitions easily to the next groove level. We use measure boundaries as transition points between groove levels, as they allow for relatively quick transitions while remaining musical. There are 45 groove levels for each composition.

Using the Style/groove level system, we take full advantage of DirectMusic's intros, ends, and breaks. Anytime a new game or new level begins, DirectMusic plays an appropriate intro leading into the appropriate groove level. When the game ends or the player completes a level, the music seamlessly plays an ending. When the game pauses, a DirectMusic break plays until the player resumes the game. All of this gives the game score a polished and professional feel.

We use secondary Segments and layer them over the groove levels for the musical accents that emphasize specific game events: row cleared, row added, blockers, and the clock running out of time. Even though the groove level changes when the player clears a row or the game adds one, we want a consistent underscore that occurs simultaneously with the row change. Another secondary Segment plays every time a blocker appears in the game. These secondary Segments play on the grid boundary (in this case, the next sixteenth note) of the underlying groove level so that they sound virtually instantaneous, yet rhythmically line up with the music. As time is running out on the clock (ten seconds to go), a looping secondary Segment plays until time runs out or the player clears the row. This Segment begins on the beat boundary so that the "tick tock" sound lines up with the beat of the groove level. Each composition uses a different sound set for these secondary Segments. This way, all the sounds are integral to each composition and add coherence. For example, the clock for Spin Cycle is a buzzer sound; for Bubble Matter, it's a wooden "tick tock"; Gravity Ride uses the clank of metal spikes to mark time.




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