Table of Contents
Many games today, especially sports games, have an audio component that is dynamic, or driven by the Action that is taking place in game. To build authentic dialogue using traditional methods, you would need to create thousands of assets and build complex Switch Container hierarchies for each possible scenario. With memory consumption at a premium, you need an efficient way to manage the assets in your project.
To overcome these challenges, Wwise introduces a different approach to manage dynamic dialogue. Every possible condition or outcome in the game is pre-defined in Wwise using states and State Groups. State Groups can be use to represent the different categories that exist in your game. For example, in a football game, the list of State Groups could include Teams, Players, and Actions. Each State Group or category also needs a set of corresponding state values. In our football example, the Teams State Group could include state values, such as Dallas, Pittsburgh, New England, and so on.
The State Groups and States are arranged into Dialogue Events where every possible game condition is re-created. These conditions called paths are then assigned to a particular voice object. As the game is being played, the current states are matched with those created in the Dialogue Events in Wwise to determine what piece of dialogue to play.
Let's say you are creating a golf game that will have a play-by-play commentary. You will need to create State Groups for each of the different categories in your game. Each State Group will then need all the different states that correspond to that category. For our golf game, we will need a variety of State Groups including Players, Clubs, Courses, Shots, Locations, Reactions, and so on.
The following illustration shows you how you could divide up some of the different categories in a golf game into State Groups and corresponding states.
After the State Groups and States are defined, you can start adding them to the Dialogue Events that are required for your game. For more information on creating Dialogue Events, refer to Creating Dialogue Events.