Forest Fears is a game that was initially made for the Game For Change challenge. Over the 3-month development duration, we crafted this nature-themed 2.5D platformer game.
I worked primarily on designing the game, composing music, and implementing the audio, as well as building levels and recording cutscene videos.
The game is collaboratively created by me, Kai Dodson, Chenyen Liaw, and Evan Beck.
In the early stage of designing, we brainstormed the basic structure of our game, including the essential characters, plots, and other important elements.
We set up deadlines for solidifying our story, game mechanics, and art.
As we approached the end of pre-production, we started designing levels. We had our initial version drafted on paper, and the finalized one in Figma, where we collectively contributed.
Later in Unity, we were each responsible for building one section of the game scene, where we put every section together after we finished. We were also making slight changes while we were building the levels, in order to avoid any unreasonable setup, which might result in impossible jumps, etc.
Level Design in Figma
I integrated and implemented all audio in the game using the audio middleware Wwise.
All audio preparation work was done in Logic Pro. The sounds I utilized are either from copyright-free sources or those that I recorded.
By using Wwise, I was able to have better control over the triggering and pausing of each audio event.
Three soundbanks were used, each controlling ambience, sound effects, and music.
Interactive music is made possible through the use of Wwise.
The game features multiple areas that the player can explore as they progress in the game. As we have designed, the music changes, without being paused or having any abrupt gaps, when the player enters each area.
To achieve this, the music is bounced into individual clips while also separated into stems. As is shown in the picture, MUS_State_1 has only the Keys layer, whereas MUS_State_6 has all six layers: bass, bells, drum kit, keys, and lead. All these layers are different from each other, which creates the desired change from one section to another.
Each music section is bound to a Wwise state, which is triggered and manipulated in Unity as the player enters each trigger zone. The state then tells Wwise to change the music, based on what is set when designed.
Music Trigger Setup in Unity
Music Trigger Script
I used RTPC as a method to control the game volume and present certain effects.
To control volume, there is a slider in the settings page, which is connected to the RTPC parameter in Wwise. This RTPC controls the output volume of the master bus of the whole game audio system, where every sound is subject to change.
The RTPC and the slider are linked by script.
Another RTPC is used to change the volume of the vine swing. This RTPC is linked to the player's velocity, and the greater the player's velocity is, the louder the sound effect is.
I also created different footstep sounds, and they are played randomly as the player moves. Specifically, the footsteps sound is crafted so that they sound different when the player is stepping on dirt and grass. A Wwise switch container is used, and the particular switch is triggered by a raycast shot vertically down from the player to the ground, detecting the material of the ground block.
The footsteps, specifically, are triggered through animation events, which are broadcast each time the player model's feet touch the ground. This way, the audio is always in sync with the visual to avoid a discrepancy.
Footstep implementation code