XIII Remake

A Story of Audio

PRESENTATION

Here is a presentation of the audio production for XIII remake. I jumped onto the project in March 2021. In first, I checked what was already accomplished about audio for this game. I realized that it needed to be structured and organized, especially with the lack of time to produce and implement all content. The game has been already announced with the release date in November 2021. I started to organize the production and define the planning for people involved in audio especially other departments for them to be aware of the situation and all need to reach the standard for this kind of game.

The first contents already implemented before I joined needed to be verified and to be corrected. It has been important to think in a global way, to take into consideration of different parameters. The most significant of them was performance usage. How could we fill all contents necessary and still get good performance regarding the audio thread? I decided to take back the FMOD project, reset what was needed and sort everything correctly. Re-assign events in soundbank separately due to the needs from Unity side. All levels ended up being loaded separately and Weapon in a very specific way to save memory usage at each moment.

"More than 4000 audio assets"

It was required to put in place different systems to get the result we needed. At this time, by speaking to the audio programmer, we created an occlusion system and a gate system for acoustic purposes. This one has been one of the most important because It could impact directly the immersion of the player in game. Different other systems have been created during the production to save time and implement in a correct way all events. The difficulty from the code side has been to put in place all necessary systems for all different usage.

More than 4000 assets in total have been implemented in 9 months gathering Ambience, Sound FX, Dialogue, and Music.

OCCLUSION SYSTEM

The occlusion system is a main feature for the audio in XIII. It allows sound objects played in the game to be muffled depending on different obstacles (Walls most of the time).

For instance, if the player is locater inside a room and a Helicopter is located outside, we will hear the helicopter with the occlusion. As the player will go outside and be able to see the helicopter, the sound object won’t be any more occluded.

The occlusion system works as follows:

As fully enabled, we can use until 9 different raycasts to work in real-time simultaneously. They will all start from the sound object to the player game object. On the occlusion Component included on the sound Object, we can set a layer to separate which physical object we want to affect or not the parameter occlusion.

An additional feature has been added for the occlusion system to work correctly. It is about the gate system. It allows the sound Object, if the occlusion system is enabled and defined as occluded, to send the origin of the emitter at a specific point next to doors/gates set as open.

It will take into account the distance attenuation of the original emitter. The player will perceive the sound object coming through the door path.

REVERB SYSTEM

Reverb has been implemented using the snapshot feature from FMOD Studio. Different Indoor and Outdoor Reverberations settings have been created. It was necessary to give the mood of each place in game and enhance 3D events implemented. So Sound FX as Weapons Enemies, Animatable, Destructible or Ambience 3D or any other specific events playing in 3D was set with reverb sending the proportional amount of dry signal through it depending on the distance from the camera to the sound object.

From Unity side, Snapshot was using Box Colliders (Most of the time those used for Ambience switches) coupled to trigger action feature to switch between different ones.

Reverb has been crucial in the setup of the occlusion system for every event involved. Please refer to the related section.

Reverb has been crucial in the setup of the occlusion system for every event involved in. Please refer to the related section.

PERFORMANCE

The average performance usage was 4% of usage for the audio thread by profiling levels. Creating a culling system in Unity with different areas, it has been allowed to load and unload different parts of the levels only when necessary. It helps to save performance and memory usage for the audio thread. Memory usage was constantly less than 1Mbyte. By setting up assets in FMOD to different values and stream necessary ones. Some events have been loaded in Memory to avoid any peak of performance, especially for assets remaining constantly in game. Weapons, Footsteps, and some gameplay Dialogues were loaded in RAM.

WEAPON SYSTEM

XIII Remake being an FPS, Weapon audio is very important and central to the experience of the player. We needed a strong setup for it.

For each weapon available in game two events have been created. The first one is for the player and the other one for enemies. The main difference between both was that the player one was a 2D event and enemies ones were 3D event (Involving some additional setup on it as distance attenuation and reverb send)

Weapon for player:

Each weapon was set as using a parameter to switch between different Multi Instruments targeting unique behaviours as Equip, Unequip, Reload, Primary Fire, Secondary Fire, etc.  Those cues have been created, matching with animation.

For specific needs some of those behaviours were set as a nested event to provide the necessary result as looping sounds. It was used a related parameter to loop the cue. For automatic weapons, for example, it was essential to use this behaviour for the Primary fire.

Additionally, a specific send effect has been set on a different track with trigger cues to provide Impulse Response and so adapt Weapons fires to specific indoor and outdoor locations. In unity, this has been implemented using trigger action feature and box collider in a different area of the game

Weapon for enemies:

Those are basically using the same setup as the player one except for adding distance attenuation, reverb sends related to distance and removing the trigger for IR weapon track. Some useless cues have been removed to save memory usage.

Each weapon has been loaded in the RAM in a related soundbank for each, depending on the level and the use of it during the game. Loaded at the very beginning of each level, depending on the stuff of the player. Unloaded when unnecessary at the end of each level.

For weapons, the player could find during the level. It was using the pickup weapon event created separately to load the related soundbank for each weapon.

The aim was to save a maximum of RAM usage during the gameplay. Every useless weapon was needed to be unloaded.

AMBIENCES

Ambience 2D:

Ambiances 2D have been created using one FMOD event for each level. A parameter has been set in it and used as a switch between different needed cues of the related level. Cues could be Simple containers or nested events.

Nested events have been used to target specific ambiance loops, as Wind or Rain. Most of the time Weather cues. The reason was for the nested event to be used as 2D events and additionally 3D events.

FMOD does not provide any strong acoustic feature as in Wwise. To avoid any audio trouble regarding ambiance and perception of the environment, some 3D events have been located in the scene from both sides of doors/gates or any available path to allow the player to be constantly hearing ambiance loops from the other area. This aimed to give the player the feeling Weather or any other sound object was coming from a specific point. Those event emitters coupled with occlusion and gate system built a stable Ambience system, providing a great balance for the player to feel the immersion.

The main reference of this system has been the one created in Wwise with Rooms and Portals.

Ambience 3D:

To give a better support to the 2D Ambience, a lot of emitters have been created and placed all around the different scenes. It could have been Animals, Bleeps, Winds, Rain, Ocean waves. For some of them, nested events could have been used, referring to the common asset of 2D Ambience.

For some others, it could have been Multi Instrument, Scaterrer Instruments or simple Instruments

Multi Instrument:

For some specific sound objects, it was needed to randomize the way they were playing. Multi Instrument provides this feature. It has been able to randomize cue, pitch, and time delay between each cue.

Scaterrer Instruments with distance randomization have been used additionally to the main 2D Ambience.

For example, some animals, leaves, or metal stress were not visible in the game, the audio was necessary to be added to reach the standard for the audio immersion. A scatterer instrument snapped on the Camera/Player can provide audio object being played randomly in distance, time, pitch, and trigger different cues. While moving the camera, sound played will follow the orientation of the camera and respect the panoramic set in FMOD. This instrument was useful to power the base ambiance and to give more variety for ambiance.

This instrument has been triggered in Unity as a regular 3D event with the enable state feature.

MUSIC

Music has been an important feature of the game. While using the original score for the remake, It has been essential to set it up in a way that the player could feel the different scale of intensity in the game. In FMOD studio for every music, one parameter has been used to switch between different sections of the music. Referring to the action in game with enemies, we have been able to divide the sections into 4 different parts:

Stealth Mode: No enemies walking around, or the player not detected.

Alerted Mode: Player detected by enemies

Combat Mode: Player involved in the action with enemies

Switch Off Mode: End of music

Those 4 different behaviours were referring directly to AI feature and managing a specific parameter in music events of FMOD Studio.

For some specific cases, it was necessary to take the control of the music and skip AI behaviour to enhance the narrative purpose of the game.

An example which is known is in Winslow bank as the Alarm is keeping ringing, even if all enemies are being killed by the player, the music will remain in action mode instead of coming back to stealth mode, as the narration of this level involve FBI agents coming to the bank during the cutscene at the end of the level to arrest the main character. It was necessary to keep the tension through all the levels for the player to feel stressed.

It was sometimes necessary to start the music at a specific moment and not eventually at the beginning of the level. The same behaviour for the end of the music, it was great sometimes to turn off the music for the player to focus on the atmosphere of the area or specific actions in game.

DOOR SYSTEM

From FMOD side, an event per example door/gate has been created targeting different tracks with Multi Instruments. Those have been separated into two different sections: Open and Close. By using a parameter, it has been possible to switch between the two main behaviours available for this kind of event.

From Unity, in code, the parameter got called depending on the state of the door to call the related parameter and play a specific cue.

Door and gate have been crucial in the setup of the occlusion system, using a unity component called gate which will manage the signal path of events involving the occlusion feature.

If The door/gate is closed, the gate was set as blocking the audio passing through the related path. While being open, the signal was allowed to pass through the door/gate path. More details are in the Occlusion system section.

INTERACTIBLE-DESTRUCTIBLE

Most of the interactable of the game were doors, gates, or any objects involving a specific animation like levers or panels. Destructible was for most of the environmental objects such as boxes, ceramic jars, or glasses/windows. All assets have been created on animation and implemented in FMOD Studio with a specific event. When using the same cues for different contexts, only one event was used and loaded in each specifically related level soundbank.

From Unity side, both Interactable and Destructible have been triggered directly on the animation trigger action feature available directly on the mesh game object. It has been able to define the start and stop points of the event and related parameters.

SEQUENCES

Sequences were used most of the time with the same events as footsteps, clothes. For those, one event for each kind of sound FX has been created in FMOD Studio with all necessary components as distance attenuation and Reverb send.

From Unity they have been implemented in the timeline feature when necessary, matching with the animation.

Dialogue has been implemented as well in sequences. More details are in the related section.