CS Work


Hyperfist

Hyperfist is a fast-paced, first-person, melee combat game all about delivering the most radical punch ever. After the deed to planet Earth was acquired by the robotic Khi Corporation in order to terraform the whole world into a huge planetary parking lot, you, Earth's local punk, decide to fight back against the capitalist corpo robots, so that you can punch them in their stupid robot faces. Try out the Demo on Steam!

As the Technical Sound Designer on Hyperfist, I primarily work on audio implementation, real-time interactive system development, audio feedback systems, and gameplay programming support.

Contributions include:
   - Beat-based hitstop synchronization
   - Rhythmic environmental behaviors
   - Per-level dynamic ambience system
   - Environmental triggers for player-induced sounds
   - Custom time-dilation system for enhanced player experience
   - Cinematic sound design for cutscenes


Acoustic Ray Modeling Simulation (ARMS)

A Physically Modeled Acoustic Room Simulation that visualizes and filters audio files based on how rooms attenutate sound due to different materials, and microphone/speaker settings. Check it out on Github!

Key features:
   - .wav file I/O for digitally processing samples to simulate them within given rooms
   - Physical ray modeled reverberance
   - Schroeder (Sabine Formula) modeled reverberance
   - Built using SFML to visualize rooms and their physically modeled rays

   - Custom scripting system with features such as:
       - Custom material creation
       - Custom room generation
       - Customizable microphone settings
       - Customizable speaker settings


JUCE Moore Reverb

A JUCE application built for testing, visualizing, and applying Moore Reverb to user files.

Key features:
   - .wav file I/O
   - Moore Reverb DSP
   - Impulse Respone Graph
   - Real-Time Parameter Control


Cretaceous Clash

A 2D robot-and-dinosaur-themed turn-based strategy game built in C/C++ on a five-person team between September 2024 - April 2025 using our own custom engine.

While this project has completed its lifecycle as a school assignment, my team and I are currently refining and polishing it for a planned Steam release in Summer 2026.

Contributions include:
   - A custom OpenGL/GLFW based graphics system
       - Custom shaders
       - Batch rendering
       - Depth drawing
       - TrueType font support
       - 2D Meshes and Textures

   - A custom FMOD based audio system (with code samples below!)
       - Auto-ducking music to bring out SFX
       - Seamless fading between themed-variations of tracks
       - Lowpass filtering system on focus loss or menu activation
       - Adaptive beat tracking

   - Designed, recorded, and implemented SFX/Music
   - Level selection system to allow for replayability
   - Used JSON through JSON For Modern C++ to serialize all entities, components, and scenes
   - Led task management and tracking for the team
   - Wrote up a technical specification providing a high overview of our engine and its systems


WebSynth

A browser-based polyphonic synthesizer using p5.js that features four distinct waveforms and real-time visualization. While initially developed as a tool to help teach high school students the basics of programming, it evolved into a personal project exploring audio synthesis through visualization.

Key features:
   - 4 selectable waveforms
   - Polyphonic playback for chords and harmonies
   - Interactive drag and drop GUI
   - MIDI-style input using a standard computer keyboard
   - Live visualization of frequency, amplitude, and MIDI note data

A key technical challenge I faced during this project was attempting to mitigate the audible 'clicks' from oscillators as they started and stopped While I implemented solutions such as amplitude ramping and ADSR envelopes, I found that the key issue lay within the lack of granular control given through the p5 framework. Through this experience I have learned valuable information in synthesis visualization and look forward to re-implementing this through C++ and portaudio and/or juce in the future to gain greater control over the audio stream and produce seamless output.


Rogue Waters

A 2D procedurally generated pirate-themed rogue-like built in C/C++ on a three-person team between January - May 2024 using our own custom engine and the DigiPen Graphics Library.

Contributions include:
   - Grid-based level generation where the values of each index corresponded to a tile type
   - Procedural level generation with focus on ensuring all enemies were accessible by the player
   - Collision between player and level objects based on tile types
   - Player controller, stats and behaviors
   - UI to indicate health and level time remaining
   - Health system that gave player health back based on if all enemies were killed
   - Combat system between player and enemies
   - Three enemy types with different stats to add variety to gameplay and levels
   - SFX/Music design and implementation


Nomentum

A 2D momentum-based platformer built in C on a three-person team between October - December 2023 using DigiPen's own C Processing framework.

Contributions include:
   - Tile-based level builder
   - Physics and collision system to handle complex platforming mechanics
   - Debug drawing for all interactable objects
   - Enviornmental interactions such as doors, levers, spikes, slimes, and level clear flags
   - A timer system for keeping track of the length of each session to encourage replayability
   - Final boss level map, gameplay, and boss behavior
   - SFX/Music design and implementation