Mystic Garden
December 2025
A farming sim with a witchy twist by WolverineSoft.
My role was SFX and implementation.
Spread-Only Attenuation Curves
Unlike Stardew Valley, in our farming sim you can harvest crops and interact with workstations from anywhere on the map. This brought up the question: how will those actions be spatialized, if at all? If you’re harvesting something to the left of the player character, should it sound like it’s to the left? Or should these kinds of actions be considered as UI interactions and be kept center? I went with spatialization because I thought it would make sense with the player’s perspective as an “overseer” of the game world. But as an overseer, an action should be the same volume no matter where it is on screen. So I made a custom attenuation curve that keeps the volume the same, but changes the Spread parameter over distance (distance between Witch and action). In my curve, there’s a radius around the Witch where if you perform an action it will sound very centered, but outside that radius there’s a steep drop of so that the panning of the sound becomes increasingly more severe. That way if you perform an action a little bit to the right of the witch, the sound doesn’t jump into your right ear. All of this together makes for a natural-sounding way of performing an unnatural action.
Ambience
Our composer wanted to write in free time without a key. This made me afraid. How am I going to make this modular? How can this not be just the same thing over and over? Thankfully, our composer wrote a 5 minute piece, which helped in that regard. And our piece was very sparse and subtle, often with moments of silence in between. This gave me an idea, and a way that I could turn it modular. I had this idea when I ran into the issue of: after the rhythm minigame (a short minigame for pulling out a weed), it feelt weird to resume the gameplay music right where you left off. But resuming it at the beginning every time would be weird too because what if you’re taking out multiple weeds in quick succession? Boom! A moment for modularity? I placed custom cues throughout the 5 minute piece in moments of silence or near silence, and set the transition so that after finishing a rhythm minigame, you would jump to a random custom cue. A player will encounter weeds fairly often, so this would essentially turn our linear 5 minute piece into something modular! Would you look at that.
Modular-ish Music
The ambience was core to the game because the music is so intermittent and subtle. The ambience had a lot of space to fill, so I spent a lot of time on it. In Reaper I designed a core ambience bed that wouldn’t change depending on where you walked. This had some wind, grass rustling, some birds. Then I placed a bunch of spot sounds all over the map like birds, leaves rustling, etc. I made the river using AK Ambient’s “large mode” and placed points all along the river.
In addition to these natural ambiences, we have the ambiences of when you’re inside the work station menus (the cauldron and tea table). I wanted these to bleed out into the game world when you’re not in-menu. Nailing the transition between game world and menu was a coordination of custom attenuation curves and an RTPC for opening the menu. This RTPC simultaneously ducked the natural ambience, disabled the spatialization of the menu ambience, and raised the volume of the menu ambience. I used an RTPC instead of a switch or state so that I could have control over the transition and how it faded between.
Boogie Bashers
December 2025
A multiplayer arcade king-of-the-hill style game by Dream Woven Games.
This was a brief contract as a sound designer.
This project was a stretch for me to play with more synthesized sounds. Even though I’ve learned a bit in school about how synthesis works, it still feels daunting to me to try and get a synthesizer to do what you want. But through this project I think I got more comfortable with the workflow.
The explosions and fire sounds are synthesized in Serum using different noise generators and envelopes.
The item pickups make use of BFXR, a great tool for emulating retro-style sfx. I then sent these through Soundtoys plugins like Crystallizer and Primal Tap to spice them up.
I also incorporate samples into the sounds when appropriate, like with the spotlight, where I really wanted that paparazzi camera flash feel.
Wwise Karting
August 2025
After completing the Wwise online courses, I put what I had learned into practice.
I downloaded the Unity Learn Karting Microgame from the asset store, and then designed a custom race course to try and allow me to use all of the Wwise skills I had learned:
Different road materials -> Switches
Driving through a cave -> Aux Environments
Long crowd stands -> AkAmbient large mode
A huge jump, and a small jump -> Switch Container
3rd Person POV -> Ak Listener Distance Probe
Engine -> Blend Container
3 2 1 Go! -> Unity Timeline (like a cutscene)
Motor Design using Blend Containers (and an Engine Simulator)
The one thing I hadn’t considered when choosing the karting game was the actual kart itself. When I started looking into how car engines are designed for games, I got a little intimidated. But after running into this AudioKinetic article on loop-based design, I remembered watching this really cool video on a car engine simulator that not only simulated the engine, but the sound it made too! So I downloaded the program, I browsed the community-made engines for one that sounded the most like a go-kart, and I “drove” the virtual engine at different RPMs and loads to get all of my samples. After editing those into good-sounding loops, I placed them all into a Blend Container and went to town, tweaking the crossfades, pitches, low-pass automation, volume automation, etc. I think it turned out pretty cool.
Contextual Collisions using Game Parameters
In my map I had a huge jump, and then a little jump. At first I was using the same sound for both, but it sounded weird because off of the big jump the car was landing with so much force but was making such a weak sound. To solve this I sent the player’s vertical speed to Wwise as a game parameter, and then mapped that parameter to a switch. The switch allowed me to have a switch container where if the player speed was above a certain threshold, it would play the heavy collision sound. I also added a wind blowing sound that got louder as you fell, which was also tied to the speed game parameter. Hooray!
Since the focus of this project was practicing implementation, almost everything you hear is a sample under the Creative Commons 0 license.
The engine sounds, however, come from a simulator made by AngeTheGreat, and the engine preset I used is by mannz. A huge thanks to the both of them!
But I would also like to highlight the one thing that wasn’t a sample, the tire rolling sounds:
Cor Draconis
May 2025
A fantasy city-builder by WolverineSoft.
My role was SFX, dialogue, and implementation.
Sound Effects
With the UI SFX, I really wanted the player to feel like a character in the world. So each time you click on a building or menu, it feels like you are truly interacting with that object. For example, the tavern and smithy sound like doors opening, welcoming you into their respective spaces.
At the same time, I wanted to reinforce the “godliness” of the player, by making sure that if you clicked anywhere, it would make a sound. For example, each tree you click squishes and makes a little sound. This plays into that sense of control, as if you could reach out and tap the game world through the screen.
Dialogue
The dialogue was made by recording voice actors making syllable sounds—for example, “ka, ke, ko, ku”—and then processing and chopping those up. I separated them into passing syllables and emphasis syllables (drawing from the dialogue system implementation for Celeste). The longer syllables are drawn out and expressive in intonation, whereas the passing syllables are brief.
The dialogue is implemented such that it isn’t actually dependent on the scrolling of the text. Instead each syllable plays sequentially (with brief, random pauses in between) until the text stops running. This way the speaker sounds more natural and doesn’t change depending on what text scroll speed you set in the settings.
Defenders of the Dune
2024
A beach-themed RTS by WolverineSoft.
My role on the audio team was making SFX/ambience, mixing, and some of the audio implementation.
If you’d like to see the details of the project, check out my blog!
Carrion
2024 - Redesign
A complete redesign of a clip from Carrion, by Phobia Game Studios.
SFX, Creature, Foley, and Ambience.
The video is courtesy of Indie James.
Vapor World: Over The Mind
2024 - Redesign
A complete redesign of a clip from Vapor World: Over The Mind, by ALIVE Inc.
SFX, Character, Foley, and Ambience.
The video is courtesy of WildGamerSK.
Void Fishing
2024
Music/SFX for Void Fishing, made for the Michigame game jam.
Music
Not all of the SFX made it into the game, so feel free to check out everything I made here:
Orbs
2023
Each orb represents a granular synthesizer playing in Max MSP. The pitch/timbre of the synths is controlled by the physics of the orbs, controlled by Processing. And depending on which wall they hit, a different effect is added (delay, chorus, phaser, or flanger). If you press the "r" key, you activate the reverb that turns on when the orbs get close to each other. You can also use WASD to control the acceleration of the orbs.
2023
Weggle
The name comes from how it’s just the game Peggle but with weather. The sounds were made using Max MSP, and the visuals using Processing. The programs communicate with each other to make everything work.
The weather sounds are made using granular synthesis, while the bells are made using FM synthesis.