Video Game Music Implementation with Wwise Part 2 In part 1 we looked at how to edit, export and label your tracks for implementation in Wwise. In this post, we are entering the ubiquitous realm of game audio middleware to learn how to manipulate and implement all of those tracks…
Video Game Music Implementation With Wwise Part 3
In part 2 we talked about how to prepare your project, import your audio clips and set them up for proper playback in Wwise. In this post, we will be dealing with creating a music playlist and music containers for playing back those audio clips in a randomly generated sequence every time.
CREATING THE UNPREDICTABLE:
Sometimes we don’t want to play our audio clips from start to finish in the same way every time, but we want them reproduced randomly every time when we trigger the music part in our game. This is called resequencing and it is sometimes referred to as a horizontal approach to dynamic music integration. In order to work with this, you need to create an object called a music playlist container.
We will create the music playlist container by selecting all of our music clips in our previously created music work unit, right-click, choose New Parent, and select Music Playlist Container from the drop-down menu.
Now that we have created the new playlist container, we can name it appropriately, so if our container consists of action music, the appropriate name would be Action.
We see that the tempo has changed again, so we need to fix that and make the tempo the same as the tracks, so we will again go to the container’s general settings in the top centre tab of our project window and change the tempo from 120 to 130BPM as we did with every audio clip that is stored inside the container.
Just in case, check if the tempos of the audio clips have stayed the same. If one of the clips is in a different time signature to the container, we need to go to that music clip and select the option Override Parent in the upper centre tab of the project window when the proper audio clip is selected. This will ensure that the music container changes its signature according to the clip that’s being played.
POPULATING THE PLAYLIST:
Now that we have the container set up, we are going to drag and drop the music clips to the playlist of the container. When we click on the container in the left tab, the Music Playlist Editor will show up in the bottom centre tab of the project window. By the way, bear in mind that we are still in the Interactive Music layout of the project window.
Now we can test the playback of our tracks to see if everything is in sync and that the transitions are done correctly. Remember in part 2 where we were setting up pre-entry (pre-roll) and post-exit (tail-out). Now we will hear if we did it correctly.
In order to playback the playlist, we need to select the music container (called Action in my case here) and the transport bar options will become available. Like in any DAW, you can press space to start playback. When playback starts, the blue arrow will show to the left of the clip that’s being reproduced.
So now that we know that playback is working correctly, we have noticed that our audio clips are being played back in a continuous sequence from first to last, and then it stops. How do we make it run randomly you may ask? In the playlist window at the bottom centre, there is a small label called Sequence Continuous above the music clips. We need to change that to playback in a random way. We click on the small arrow pointing down to the right of Sequence Continuous and we select Random Continuous.
Now when we start our playlist, the music clips will start to play back in a random sequence every time until we make it stop. When the transition between clips is about to happen, you will notice two blue arrows next to the clips are being transitioned.
Sometimes playing back some parts can get annoying if they are being reproduced too often, but we can easily fix that issue by tweaking the weight of the audio clips in the playlist. You can see the weight information to the right of the audio clips in the playlist. The ones with bigger weight will play back more often, while the ones with lower weight will play back less often. This is good if you want to make the rhythm parts of your music sequence play more often and the thematic material jump in from time to time.
Next to Weight, you can also tweak the loop count of each clip if you want some of them to play maybe a few times continuously before transitioning to the next one. Because this is interactive music for a game, we don’t know how long the player will be in the area or a state of the game where this music will be playing.
For example, this action track will play for a boss fight, but we don’t know how long the boss fight is going to last, so what we could do is to change the loop count of the entire sequence to Infinite, just by clicking on the loop count number to the right of where we set up Random Continuous, and we switch it to infinite count instead of just 1.
GROUPING THE SEQUENCES:
Another good approach to playing back the music in our sequence is to divide the playlist into groups. For example, we want our music clip featuring the main theme or the start of the combat to always play first whenever the player engages into combat, whilst the rest of the music clips should be played back in a random sequence.
We do that by clicking on New Group and just drag the music clips we want to divide. i.e. the starting music clip to be one group (or maybe a few of them if you made a few variations of the start of the combat), and the others should be in another group. We need to take care of the playbacks of each of the groups again, so we could set the first group to Sequence Continuous with loop count set to 1, and the other one to Random Continuous with the loop count set to infinite.
You can create as many groups as you want, only your creativity is the limit. For example, here’s some free advice that helped me through a lot of projects:
Create a group for music clips that are starting your sequence. It can be only one or a few of them if you want to randomize the start of your sequence, and you set it up as Sequence Continuous. That’s for smaller or longer intros. Only one loop count.
The second group should be the main bulk of your music sequence with the majority of the clips playing back in a random continuous way with one loop count and different weight of the clips.
The ending part of your action segment should be in the third group with maybe just one track that ends the sequence, and that one is set to a loop count of 1 in a sequence step. And then you set up the main group to infinite loop count. This is how your music will play back with the intro first, followed by the main part, and then the end part.
Take a look at the screenshot below.
This will take some time to reproduce in full, so one trick is to make the playback speed of the music container faster in order to go through everything properly without waiting too long. Just make sure to return it to 1 once you’re done, otherwise, playback will be insanely fast. The lower left tab of the centre tab of the music container is where you change this. Below the big fader. 😉
That’s all for part 3. Next time in part 4 we will explain how to use the layered approach with sub tracks in order to add various stems into your music sequence.