Lesson 1

Table of Contents

Creating an Event

For everything that happens in the game that may need an audio response, a programmer has added lines of code to transmit a message informing Wwise about what has occurred. This message is referred to as a Game Call. Game Calls are just simple messages that say things like “Hey, the ice gem was thrown”, but in reality this message is sent as a string of text or numbers. When this message is received by the audio engine, any number of things can happen as defined by you, the game audio designer.

The first thing that you need to do is to create an Event, so that Wwise can catch an incoming Game Call. Think of it like a game of catch between the game engine and the audio engine. The ball being thrown from the game engine is the Game Call, while an Event is a type of object within Wwise designed specifically to catch Game Calls. The important thing to note is that each Game Call needs an identically named Event to be received by Wwise.

  1. From the main menu select Layout > Designer or press F5.

  2. In the Project Explorer view, click the Events tab.

    It’s in the Events tab where you’re going to allow Wwise to understand the incoming Game Calls that Wwise should expect to see transmitted from the game engine.

    Within the Project Explorer’s Events tab you see a folder titled Events and within that folder there is an object called Default Work Unit. Work Units serve as the foundation for Wwise. Work Units contain information related to a particular section or element within your project and help you organize your project.

    In many games, many people or even companies are concurrently working on different parts of a game. For example, one team may be working on all of the magic sounds, while another focuses on ambient sounds. In this scenario, each team could have its own copy of Wwise and create their own unique Work Unit that houses their assigned Events. Later in the production, multiple Work Units can be brought into a single project in order to bring all of the elements in a game together.

    [Note]

    Work Units are actually XML files created within the project structure of Wwise.

    Anything you create in Wwise is referred to as an object. Be careful not to confuse this with the Game Object term discussed earlier in this lesson which relates to items within the game. Objects in the Wwise interface are represented by small square icons. There are over 20 types of objects, each providing unique functionality for how you can create and control sound within Wwise. Objects exist within a hierarchy and typically Work Units are at the top of this hierarchy. Like the bricks that make up a building, these objects are building blocks that can be used for purely practical applications, or they can be arranged in intricate and creative ways. For now, you’re going to create a single Event object within the Default Work Unit that will serve as a glove that will be used to catch the ice gem Game Call that is being transmitted from the Cube game engine.

  3. Click the Default Work Unit within the Events folder.

    When an object is selected, an icon bar is displayed in the Project Explorer that shows which other types of objects can be housed within the selected object. When you hover over the icon, a tooltip indicates the type of object represented by the icon.

  4. Hover over the fourth icon to identify it as an Event object.

  5. Click the Event icon to create a new Event object within the Default Work Unit.

    A new Event object is created and you are prompted to type its name.

    How you name an Event object is critical. It is imperative that the name of the Event object perfectly matches the name of the corresponding game call being transmitted from the game engine. Just like dialing a phone number, if you’re off at all, it won’t connect.

    To ensure that this works well, typically the sound designer decides what kinds of things the sound engine needs to be aware of, and creates the Events for each of these things in Wwise. The sound designer then informs the programmer of the Event names so that they can program the game engine to transmit Game Calls with the same name. In our scenario, the game engine for Cube has already been programmed, and the names for the calls have already been defined, and Fire_IceGem_Player is the name for the call used each time an ice gem is thrown.

  6. Type Fire_IceGem_Player and press Enter.

    [Note]

    Wwise will later create software code based on your project. In that code, all object name references are handled in lower case, therefore object names are not case sensitive.

    [Tip]

    Selecting an object reveals its associated properties in the Event Editor to the right, which you can confirm by the Fire_IceGem_Player - Event Editor in the view's title bar. Different objects have editors of varying complexity. Most have a Notes field that is incredibly important because you can add extra information to avoid any confusion about the Event name. With a name like Fire_IceGem_Player, the Event likely relates to the ice gem being thrown, but not all Events are intuitively named. Notes provide a way to provide more information to help you and others who might be reviewing your work to better understand what you’ve created.