As part of my journey to become a great game sound designer, I have started researching the various tools I will need to implement my audio into a game engine. It is one thing to create interesting samples, but another thing entirely to integrate them into an interactive environment, which is exactly what FMOD helps you do. Perhaps the easiest way to tell you about what I’ve learned about FMOD is to tell you the difference between FMOD and a regular DAW (Digital Audio Workstation), because it essentially is one, though with features relevant to the game industry and interactive media in general.
Events are much like channels in your usual DAWs like Pro Tools, Logic and Ableton, but there are a few big differences that are important to game development. Events, unlike channels, can contain either single sound files or multiple. They are the components that link directly to the objects or scripts in the game engine, and they can be 3D-panned relative to the object they are attached to in the game engine. Within events, you can randomize pitch and volume to create variation between otherwise-repetitive samples.
A multi-sound module means that within one trigger region (simply a region in other DAWs) in an event, you can assign multiple samples that can be randomized on playback. By using multiple multi-sound modules in one event, you can create a huge amount of depth to the sound that is being played back, making it easier to create convincing, dynamic sounds using fewer heavily-processed bounced tracks. This saves on processing power in the long run, which is incredibly important in making a game run easily on multiple platforms that may not support excessive processing power.
Parameters are settings that you can create for your event that are able to be manipulated by the game’s scripting. One example of how parameters are used is in a footstep event. You might have multiple types of footsteps for different textures, such as water, grass, dirt, concrete, wood. These would all have their own multi-sound module in the same event. You can create parameters to determine which of these modules are played back in the game depending on which surface the player is walking on. You can also use parameters to control where in the timeline of the event the playback will occur, meaning you can transition between different parts of a score (chorus, bridge, verse) depending on the scripting of the game.
FMOD is a great tool and I hope to use it on various projects in the future, and hopefully learn WWise eventually as well, as it seems to be the choice of audio implementation tools that is used in more complex AAA games such as Doom, Overwatch and others, allowing for even more flexibility than FMOD.