Project Overview
During the 2020-2021 school year, I've had the pleasure of being on Team Honeycomb as the Audio Lead for Vesna, a 2D puzzle platformer.
The main concept for the game is you play a character trapped in a factory filled with spooky guards and other hazards. With the help of a time stopping device, your goal is to puzzle your way past the guards and out of the factory.
The main concept for the game is you play a character trapped in a factory filled with spooky guards and other hazards. With the help of a time stopping device, your goal is to puzzle your way past the guards and out of the factory.
Starting Out
In starting out designing the sound for Vesna, I encountered my first huge learning curve. I discovered that it's very difficult to conceptualize a game's soundscape when there is no game.
Everything I had done before this in the field of sound design had been for something that had already existed. All the animations, sample games, and game capture I had explored previously were already there for me. All I had to do was put assets in them.
In starting Vesna, I had a completely blank slate to do whatever I wanted with creatively, within the limits of what the tech team could put together, of course.
The first thing I did was to turn the unfamiliar into the familiar, and make myself something to put audio to. I stitched together some concept art from the art team into a video for me to try some sound effects on, and even start composing music.
Here is that first sample of the audio:
Everything I had done before this in the field of sound design had been for something that had already existed. All the animations, sample games, and game capture I had explored previously were already there for me. All I had to do was put assets in them.
In starting Vesna, I had a completely blank slate to do whatever I wanted with creatively, within the limits of what the tech team could put together, of course.
The first thing I did was to turn the unfamiliar into the familiar, and make myself something to put audio to. I stitched together some concept art from the art team into a video for me to try some sound effects on, and even start composing music.
Here is that first sample of the audio:
Some of the initial inspirations for the audio were games I enjoyed and fit the artistic vibe of what Team Honeycomb was shooting for.
I liked the industrial rhythmic elements from tracks in Valve's Portal 2, I'm always inspired by CD Projekt Red's storytelling through music in The Witcher 3, and I needed the creepy aesthetic from Playdead's Limbo.
Now, with a sonic starting point, I could start creating sounds that I thought I might eventually need for the final game.
I liked the industrial rhythmic elements from tracks in Valve's Portal 2, I'm always inspired by CD Projekt Red's storytelling through music in The Witcher 3, and I needed the creepy aesthetic from Playdead's Limbo.
Now, with a sonic starting point, I could start creating sounds that I thought I might eventually need for the final game.
Recording Material
One of the first things I did for Vesna's audio was to record as much material as I could for reference and use in sounds down the road.
In my parents' garage I spent many hours recording random little things until I felt I had a good basis for the game's sonic palette.
I chose to record in the garage, since the game takes place in a factory. If my base material already had a hard, echoey quality to it, it might jumpstart my sonic range into a better place while creating the assets. On the right is my recording setup, utilizing mostly my SM57 for preliminary recordings. My recordings that are in the game so far:
|
FMOD Studio
Before working with Team Honeycomb, my experience with FMOD Studio was fairly limited. Throughout this process, I've learned more about FMOD than I ever could have imagined.
SFX
During my brainstorming for implementing a sound effect, I ask myself how a sound can be as responsive to the player, while being unique from instance to instance and adding to the world of the game. In this, there are a few sounds that fit my criteria very well.
One of which is pushing a box across the ground:
One of which is pushing a box across the ground:
In order to stop the BoxDragPush event, I've got two separate events that fade the audio into the reverb or play a collision sound with a sharp cutoff.
Another Sound that is particularly well implemented is the time stop mechanic. In Vesna, you can stop time in order to solve certain puzzles. The sound has to match that very well and give the player ample feedback as to what in happened in the game when they pressed the x key.
This implementation is pretty similar to the box sound, where there is a main looping event for the duration of the time stop with a separate event to end the effect.
This time, I use a snapshot to lowpass all the audio ingame while time is stopped. The resume time event has another overriding snapshot that adds back in the lowpassed frequencies from before.
This implementation is pretty similar to the box sound, where there is a main looping event for the duration of the time stop with a separate event to end the effect.
This time, I use a snapshot to lowpass all the audio ingame while time is stopped. The resume time event has another overriding snapshot that adds back in the lowpassed frequencies from before.
Another cool and similar effect are the lights that are in the game. These lights are dangerous to the player, and must sound dangerous to warn the player.
There is one event that constantly loops, which creates the light humming. It's a nasty, gritty noise that the player shouldn't want to stay near. There's a second event that uses a snapshot to duck out the first one whenever the light flickers. That event is easily tied to an animation of the light flickering. A third event controls the sound coming from the guard in the shadow of the light. This third event generates more and more guard whispers the closer the player is to the light.
There is one event that constantly loops, which creates the light humming. It's a nasty, gritty noise that the player shouldn't want to stay near. There's a second event that uses a snapshot to duck out the first one whenever the light flickers. That event is easily tied to an animation of the light flickering. A third event controls the sound coming from the guard in the shadow of the light. This third event generates more and more guard whispers the closer the player is to the light.
Dynamic Music
In order to augment the player feedback, important considerations went into making a dynamic music system.
In Vesna, it is important that the player knows that the guards are bad. The music helps convey this by switching between a calm state and a high energy section with instrumental or tempo variation. This is achieved with a simple parameter that tells FMOD how close the player is to the guard so FMOD can switch the music.
For the final level where the player is chased by a guard, there are a few different zones the player goes through on their way to the end. These zones each have a slightly different piece of music that ramps up in energy as they progress.
All of the states of the game are controlled by one overarching music event that switches the music as the game progresses from level to level and back to the menu. This is not only easier on the programmers, but allows me to write nice, smooth transitions between pieces.
In Vesna, it is important that the player knows that the guards are bad. The music helps convey this by switching between a calm state and a high energy section with instrumental or tempo variation. This is achieved with a simple parameter that tells FMOD how close the player is to the guard so FMOD can switch the music.
For the final level where the player is chased by a guard, there are a few different zones the player goes through on their way to the end. These zones each have a slightly different piece of music that ramps up in energy as they progress.
All of the states of the game are controlled by one overarching music event that switches the music as the game progresses from level to level and back to the menu. This is not only easier on the programmers, but allows me to write nice, smooth transitions between pieces.
Mixer
One of the most important thing about Vesna's audio is the reverb.
In order to not use up all of the audio processing resources, I've put all of the reverb on one bus, which I pass all sound effects and the ambience through.
I've got another bus which I pass all the character sounds through before sending them off through the reverb.
Throughout the whole game, I've used a lot of snapshots to automatically mix the game for certain situations. For example, I lowpass everything during the time freeze event, I cut out the light buzzing when the light flickers, I quiet everything down for a short while when the player gets to a checkpoint, I lowpass the ambience when the player gets close to getting caught by a guard. For Vesna, snapshots have been a great way to emphasize a moment using the mixer.
In order to not use up all of the audio processing resources, I've put all of the reverb on one bus, which I pass all sound effects and the ambience through.
I've got another bus which I pass all the character sounds through before sending them off through the reverb.
Throughout the whole game, I've used a lot of snapshots to automatically mix the game for certain situations. For example, I lowpass everything during the time freeze event, I cut out the light buzzing when the light flickers, I quiet everything down for a short while when the player gets to a checkpoint, I lowpass the ambience when the player gets close to getting caught by a guard. For Vesna, snapshots have been a great way to emphasize a moment using the mixer.
Impulse Responses
Since the game takes place in a factory, reverb is extremely important to produce a large sonic space in game. As FMOD's stock reverb isn't the greatest, I decided it was worth it to get my own impulse response.
I spent a bit of time experimenting with creating impulse responses for Vesna, and for my own sound library.
Check out my process here:
I spent a bit of time experimenting with creating impulse responses for Vesna, and for my own sound library.
Check out my process here: