Quarantine

Game

A short game I developed for our Game Audio exam at Sonic College.

We were each tasked with making a game, integrating FMOD, and designing/implementing the audio, making use of techniques like dynamic mixing, dynamic footstep surfaces, and more. For my project I chose to make a first person, retro, horror game where the player finds themself home alone at the dawn of a zombie outbreak. I tried to create a cozy, yet uneasy atmosphere with heavy rain, thunder, and dark lighting. I really like when games allow you to interact with various objects in the environment, so I added the ability to interact with footballs, chess pieces, light switches, window curtains, and more – all of which have an element of sound.

My sound design process

  • I didn’t want the player to feel like they’re in a horror when the game first begins. I wanted to first envelop them in a more cozy (yet mysterious) atmosphere with no non-diegetic sounds. When the player then hears about the zombie outbreak on the radio, a more horror-like ambience begins playing. This ambience changes volume through the game with snapshot mixing.
  • To fit the retro vibes, I wanted the radio to sound dated. I achieved this effect by removing both the low- and high-end frequencies with an EQ, leaving only a narrow frequency spectrum in the mids which gives it a tinny sound. I then added pitch warping and scratches with the iZotope Vinyl plugin to create an old-school record player feel.
  • When the player turns the power back on towards the end of the game, I really wanted to put the zombie in focus. The ambience therefore goes away almost entirely, and the player is left with this short silence until it’s interrupted by the zombie breaking down the door.

My implementation process

  • For the rain ambience, I added a low-pass EQ in FMOD to simulate indoor occlusion. This low-pass filter then opens up when the player moves close to a window, simulating less obstruction. This gives the ambience a more realistic effect without needing to implement a true occlusion system.
  • To create this fake occlusion, I wrote a C# script that calculates the distance between the player and each window, translates it to an FMOD parameter, and performs automation on the EQ when the player is within a certain distance of the nearest window.
  • Additionally, a second ambience layer of rain hitting the window plays from each window’s position. For added flavor, I wrote a script that allows the player to open and close the window curtains, which also corrects the low-pass filter accordingly.
  • For the radio system, I wrote a switch in C# that changes the radio channel on each interaction by playing a new track in FMOD. The first two channels are disrupted by radio static which loops seamlessly. When the third channel finishes playing music, it also fades into the looping radio static.
  • I made a dynamic footstep system with a raycast pointing down at the player’s feet and checking the tag of the floor object. It then runs this tag through a case switch to see if it matches any of the cases. Depending on the tag, it will then change the labeled parameter of the footsteps event in FMOD accordingly. I have created tags for each floor object that the player might stand on – wooden floor, tiles, and garage concrete. If the tag does not match any of the cases, it will default to wooden floor.

What I did

  • - Sound design
  • - Game development
  • - Audio implementation

What I used

  • - FL Studio
  • - FMOD
  • - Unity