Version

menu_open

Interactive music project structure

Wwise offers you great flexibility when it comes to putting an interactive music project together. There is an almost infinite number of ways to assemble interactive music objects into a game score. However, adopting a coherent strategy at the beginning of a project can save you time and effort later on. Two of the basic structures that can be applied to interactive music projects are as follows:

  • A vertical project structure is one in which you re-sequence the game score by shuffling the tracks contained in Music Segments. This is similar to the track mixing which is used in music production. It can help you make a varied score out of long, multi-tracked segments.

  • A horizontal project structure is one in which you vary the game score by changing which segments are played at any given time. To do this, you can arrange short discrete segments in the Interactive Music Hierarchy, much like you would arrange objects in the Actor-Mixer Hierarchy. In this way, you can make a compelling score from a selection of short Music Segments while minimizing console requirements.

Typically, you'll use a combination of both these structures to make efficient use of the resources you have available for your project. A good structure lets you show off your music in its best light, and use your console resources to best effect.

The following sections provide details on implementing either of these structures or a combination of the two.

Implementing a vertical project structure

A vertical project structure is one based on the repetition and variation of a small number of segments, each with multiple tracks. A basic vertical project structure might appear as follows:

In this example, a four-track Music Segment is used as a basis for interactive music. In the upper part of the illustration, the segment is being played back without any state being specified. The bass and drum clips are set into normal tracks that repeat the same clips each time they repeat. However, because the guitar track is set to be a sequence step track, the clips in it are played back according to an assigned sequence. The piano track is set to be a random step track, so its clips are played back in random order. In the case of both sequence step and random step tracks, the key to this variety is to create sub-tracks containing alternative clips to the one in the original track.

In the lower part of the previous illustration, the tracks have been modified to respond to state changes. When the game is in the relatively peaceful Exploration state, no drums are heard. Instead, a piano track (made of various sub-tracks) plays. Upon transition to the more exciting Fight state, the volume of the piano track drops to be inaudible, and the drum track volume rises. The guitar volume increases as well. The overall effect is one of music shifting to match the game action.

In a vertical project, you can vary which tracks will play using:

  • State changes

  • Random step sub-tracks

  • Sequence step sub-tracks.

A vertical approach is particularly suited to projects with a few, complex pieces of music, with relatively infrequent shifts between states.

Implementing a horizontal project structure

A horizontal project structure is one based on the hierarchical arrangement of several short segments. A basic horizontal project structure might appear as follows:

In this example, two Music Playlist Containers hold Music Segments corresponding to two game states: Exploration and Fight. In the first container, segments are arranged in a Random Group, so they will play back in random order. In the second Container, the segments are arranged in a Sequence Group, so they will play back according to a predetermined sequence. When a transition from Exploration state to Fight state occurs, the last segment playing in the Exploration container transitions to the first segment in the Fight container. This creates an effect of complete change from one type of music to another.

In a horizontal project, you can vary which segments will play using:

  • State changes

  • Random Containers

  • Sequence Containers.

A horizontal approach is suggested for projects involving many short, relatively simple pieces of music, and is especially good for projects with frequent state changes.

Implementing a combination project structure

The majority of projects created with Wwise use a combination of horizontal and vertical elements. You can decide how much of each type of structure is best suited for your project. For example, you could create a different segment for each of your states (horizontal structure), but vary the track playback in each using random sub-tracks (vertical structure).


Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise