Working with States and State Groups for dynamic dialogue
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 predefined 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.
State Groups represent the different categories that can exist in your game, for example
Teams and Players in a sports game, or Friends, Enemies, and Weapons in an action adventure
game. You can manage the list of State Groups in the Game Syncs tab of the Project
Explorer.
To help you easily identify State Groups and States in the interface, Wwise uses a unique
icon to represent them.
Using States with dynamic dialogue - example
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.
You can create all the State Groups that you need for your project on the Game Syncs tab
of the Project Explorer.
To create a new State Group in the Project Explorer:
In the Project Explorer, switch to the Game Syncs tab.
In the State Groups section, do one of the following:
Select a Virtual Folder or Work Unit and click the State
Group icon in the Project Explorer toolbar.
Right-click a Virtual Folder or Work Unit and select New Child
> State Group from the shortcut menu.
A new State Group is added to the list of State Groups.
Replace the default name with one that best represents the State Group.
| Note |
---|
Each State Group name must be unique, and consist of only letters, digits, and
underscores. |
Continue to add State Groups as needed.
| Tip |
---|
You can double-click a State Group to load it into the Property Editor where you can
add information about the State Group in the Notes
field. |
Each State Group that you create can have many different values. These values represent
the different options within a State Group category. For example, the States for the Player Name State Group would be the names of each player in the
game. You can create all the States that you need for your project on the Game Syncs tab of
the Project Explorer.
To create a new State in the Project Explorer:
In the Project Explorer, switch to the Game Syncs tab.
In the State Groups section, do one of the following:
Select a State Group and click the State icon in the
Project Explorer toolbar.
Right-click a State Group and select New Child >
State from the shortcut menu.
A new State is added to the list of State Groups.
Replace the default name with one that best represents the State Group value.
| Note |
---|
Each State name within a State Group must be unique. |
Continue to add States as needed.
| Tip |
---|
You can double-click a State to load it into the Property Editor where you can add
information about the State in the Notes field. |
Deleting States or State Groups
You may need to delete a State Group or State that you no longer need. When you delete a
State Group, all States within that State Group will also be deleted. Keep in mind that if you
delete a State Group, it will be removed from all Dialogue Events that use it.
To delete a State Group:
In the Project Explorer, switch to the Game Syncs tab.
In the State Groups section, right-click the State
Group or State that you want to delete and select Delete
Selection.
The selected State Group or State is deleted.
| Tip |
---|
You can also select the State Group or State and press the Delete key. |