Remanence

DigiPen Game Project 2023–2025

Remanence was a 12-month long game project at DigiPen Institute of Technology, made in Unreal Engine 5 with Wwise integration. I joined onto the team on the 9th month.

“City” level segment

Player standing in front of a save checkpoint

Remanence is a first-person souls-like that rewards players for mastering the sword combat mechanics. In the remains of a world where technology has progressed to the level of seeming magical, players take the role of a survivor of the apocalypse who aims to rise against the robotic cult that has destroyed the world using nanomachines. Armed with only a sword and little remaining nanomachine power, players must master sword combat and seek revenge on the cybernetic overlord. In their path is an army of machines with a variety of attacks. Some war machines are fast and nimble while others are slow but hit hard. It is up to the player to figure out the best approach to dispatch their opponent.

What I did:

Player in the final boss arena

Working with other sound designers:

As one of three sound designers on the team, in this project I learned how to work with other sound designers, including an audio director. Coming into the project on month 9 of 12 required me to become familiar with the sonic signature with the game prior to designing any assets. Additionally, not having to work on music on top of other responsiblities that remained with the audio director allowed me to iterate and refine each system and sound I made. I primarily worked on the ambience system and environment sounds.

Player attacking the weakest enemy

Ambience system:

I constructed an ambience system from scratch and made sounds for many environment props throuhought the level. The ambience system consisted of several beds all in a blend container, allowing the player traverse back and forth between the different ambience beds. It was also a psuedo-generative system using Wwise silences to randomally play different ambience sweetners at varying frequencies. For example, there is a chance to hear a monster roar far off in the distance. For sound congnizance, I kept track of which monster you would fight next using a Switch Container. This meant if a monster roar were to play, it would be a roar from your next opponent, instead of just a random chance of any monster roar!

Player in front of an “evil save station”

“Subway” level segment

Environmental sound design:

Just as important as ambience beds, I made many environmental SFX such as, flickering signs, sand waterfalls, exposed cables, flags flapping in the wind, and “evil save station” (more on that further down the page). All of these were placed in engine with emitters to spatialize the sounds. I even had custom Attenuation Sets. For example, there are dozens of sand waterfalls throughout the level while there is only one area with the flag flapping sound. For the sand waterfalls, you could only hear them clearly if you got very close. Otherwise, with the way they were placed, you could hear them at all times getting in the way of the ambience beds. Since there was only one spot with the flapping flags, I made it so you could hear that sound at more reasonable distances, reenforcing the identity of the “City” level segment.

Screencap of the Reaper project for the evil save station

Unmute the video to hear the sound synced with the animation!

Cool sound I made:

One of our most intricate environmental props were these “Evil Save Stations”. They were a retextured checkpoint that would move up and down automatically. To start, I began with the sound for the orignal save station. I ended up only keeping a few of the metal sounds, while the rest of the sound was designed by me. As I always do, I like to design to picture whenever possible. On the right, you’ll find a screencap of the Reaper project and the video that I used to design the sound.

Reverb zones:

Originally, we had planned to use AK Convolution Reverb. I planned out 5 main reverb zones and had volumes created in Unreal to route certain buses through the Game-Defined Auxiliary Sends of the different convolution reverbs. We encountered a lot of issues with this. While I have sucessfully implemented AK Convolution Reverb in past projects, we ran into many issues for some reason. After a week of fruitless debugging, we decided to scrap the convolution reverb and use the Wwise RoomVerb, despite the reverb feeling less organic.

3 examples of the different level segments that had their own ambience beds (click to enlarge!)

A creative challenge:

One major challenge I faced during this project was that I wanted the player to be able to hear the transition of the ambience beds in both directions. I wanted that natural sound of your environment naturally changing as you traverse through a space. To achieve this, I added all 5 ambience beds into a blend container. I then created an RTPC which was used with volumes in Unreal that were “transition zones”. The RTPC allowed the gradual blending of the ambience beds, as the player traverses through each transition zone, they can hear the gradual transition between the beds. It was important to me that the player could expereience this in both directions. So, I worked with my audio programmer to change the value of the RTPC as the player changes their position inside the transition zone. While this worked most of the time, sometimes the player could walk “past” these transition zones. It took a lot of tweaking to make sure that the player always went through the transition zones properly, but there were still a few spots where it would not work consisntely.

Screencap of Blend Container in Wwise holding ambience beds

What I learned:

This project taught me many things. If I had to choose one, it would be the advantage of having multiple sound designers, allowing them to specialize and focus on reiteration. While I previously already enjoyed making environemnt sounds and ambience systems, being able to focus on primarily those, cemented my love for this particular area of sound design.

Creature design by Ben Tuttle

Tools used:

Reaper

Wwise

Unreal Engine 5

Google Sheets

iZotope RX 11

Adobe Audition