Sound System

Overview

This section will tell you all about sounds and their setup and integration with the engine. The sound system itself is a hierarchical class system that supports several sound libraries on any platform.

It offers interfaces and is used by sound entities in a level, or even by code to systematically play sounds. The main focus was set to support FMOD-Ex library by Firelight Technologies, but there is also a basic XAudio port for Xbox360 and a dummy system.

A typical production cycle to integrate a new project contains the following steps:

  1. Create a new project (e.g. "addon") using the FMOD Designer tool (FPD).
  2. Add groups, events, sound definitions.
  3. Organize sound assets into wavebank(s).
  4. Build the project by hand or with Crytek's internal automatic build process (FEV, FSB).
  5. Reference a sound event name in your code or Editor to load the project and play the event (e.g. sounds/addon:rubberduck:squeeze)

FMOD-Ex Sound Library

The FMOD-EX sound library is the successor of the sound library used in CryENGINE1. The new version allows a very similar interface to directly play wave files, but the data-driven concept is also provided in the form of the Sound Event System.

Dummy Sound System

The DummySoundSystem can be activated to prevent problems in sound development or to disable loading of sound assets to speed up production on non-audio relevant tasks.

If the CrySoundSystem.dll does not properly load, this output mode is selected; or, it is forced to be used by setting the CVar s_DummySound to 1.

If there are problems with the sound system, or to save resources by turning off sound, a dummy sound system can be used. Also, by doing so, expensive development time can be saved.

Further Reading