The Contrarian Press

I made The Contrarian Press with a few other recent CMU Graduates for the GMTK 2023 game jam. To our surprise, we placed 11th out of almost 7,000 submissions, including #4 in creativity. We are now expanding the game into a full experience targeting Steam. I did all the sound effects and adaptive music, as well as programming an automated Google Sheets to Scriptable Object pipeline and other general gameplay programming.

Tanks In Advance

Tanks In Advance, my final game and second as game co-lead in the Game Creation Society, has players fight alongside their past selves from previous rounds to defeat their opponent in a tank battle. I co-lead a team of around 10 members, managing the programming and sound teams, learning to be a VFX artist, and working as a gameplay programmer. In the end, we created a remarkably polished game for GCS and won the Best Sound award.

Pig's Blood

Pig's Blood: A Rabid Wolf Hunt is a detective noir-style visual novel where you must review evidence, interrogate suspects and call them out on their lies to solve the murder of one of the Three Little Pigs. This was my fourth and final game with Weekender Studios, my team for CMU 53-471. I programmed most of this game, including building a scripting pipeline for writing, making visual effects, UI, and more. In addition, I wrote over ten minutes of music and over 2000 lines of dialogue.

Giuseppe

Giuseppe is a puzzle platformer about a time-traveling immigrant mouse who must prevent his ship to America from sinking. It was created for CMU 53-471. I did most of the programming for this project, which involved integrating modified time-rewind & player movement libraries, creating several puzzle mechanics that integrate with the time-rewind system, creating extensible classes for timed events and reversible sound effects, and a Unity shader/render feature for desaturating the environment during time rewind.

SongBox

SongBox is an interactive audio-visual experience and tech demo made as my capstone at Carnegie Mellon. I used Max/MSP with RNBO for the audio engine, building an audio plug-in and using it to generate all the audio within Unity. This technology would let me do very complex adaptive audio synthesis if I require it for a game, but has too much overhead for projects that are workable in another software. However, Max/MSP audio plug-ins are a great tool to have in my toolbox.

I Was A Mediocre Basketball Player

I Was A Mediocre Basketball Player is an arena shooter where the player fights basketball monsters. It's the second game I worked on in CMU 53-471. I did a lot of the programming, including toon shading, enemy behavior, and a slam dunk special move. I also wrote music, made sound effects, and voice acted.

Rooted Rumble

Rooted Rumble is a snake-like game in which 4 players compete to collect water drops and avoid running into each other as underground roots. It was made for the Global Game Jam 2023, and was the first game with my team for CMU 53-471 Game Design, Prototyping, and Production. I did some programming, working on menus, game state, and outline shaders, as well as the adaptive jazz soundtrack that evolves as players lose. Both the music and sound effects were also made by me.

Aperture

Built nearly from the ground up in C++ using OpenGL, Aperture is my most technically impressive game by far. In it, the player explores a small island, taking pictures of the native flora and fauna. As a programmer and sound designer on a team of three, I implemented a texture pipeline, shadow maps, camera depth-of-field, hardware occlusion culling, and other custom shaders, along with game logic, picture grading, UI, and more.

Dimensional Rift

Dimensional Rift is my seventh game in CMU's Game Creation Society, and my first as a game lead (along with Adrian Ma). In it, one player navigates the world from a top-down perspective, while the other navigates the same screen as a 2D platformer. In addition to managing, supporting, and supplementing the sound team, as a gameplay programmer, I implemented a versatile building placement system, a dialogue pipeline, and more. As a lead I also had to understand and integrate all the other members' code, fixing bugs along the way. In the end, we won both the "Best Audio" and "GCS Gold" audience choice awards.

Assorted Minigames - CMU 15-466

As part of CMU 15-466 Computer Game Programming, I built 5 mini-games in C++ using OpenGL. Each focuses on implementing a different aspect of a game engine; in order, an asset pipeline, rendering 3D models/environments, audio, text rendering, and navigable walk meshes. Then, we would use that new feature to make a game. Each project had a one week deadline, and the last two games were made on a team of three and two, respectively. The below links lead to the full code repositories for each game.

Cubespace - President's Cup 2022

As a research assistant at Carnegie Mellon University's Entertainment Technology Center, I developed a multiplayer video game in Unity with Mirror for the 2022 President's Cup cybersecurity competition. I was one of five programmers and the only sound designer on a team of over 20. We designed minigames and an interactive spaceship for a reusable framework for delivering cybersecurity challenges. I personally worked on game logic, state synchronization, and designed an audio manager with audio source pooling in Unity, along with designing over twenty sound effects.

Minion

Minion is a procedually generated roguelike I worked on in Spring '22 in CMU's Game Creation Society (GCS) using Unity and FMOD. As Sound Lead, I focused on sound and sound implementation, where I worked with three other musicians to implement a soundtrack that seamlessly transitioned between sections when the player was in danger or a boss enemy showed up. I also created and implemented over 20 sound effects and did some bug fixing. This project won "Best Tech" in GCS.

Guilty Goose

Guilty Goose is a bird fighting game I worked on in Spring '22 in CMU's Game Creation Society (GCS). As Sound Lead, I implemented a few sound effects in Unreal Engine with FMOD and wrote some metal music for the soundtrack. I also implemented a system in FMOD where an audience would clap to the music when a combo happened and cheer when it finished, but it was not added to the game due to the combo system not being finished. This project won "Best Sound" in GCS.

Lightly Heavy

This VR space-shooter was developed by Sebastian Yang in 36 hours for the HoyaHack hackathon. I only wrote music for the project. This game won the U.S. Space Force award.

Haunted

Haunted is a VR horror game where the only way to die is to flinch. As the solo audio person on a team of over 20, I implemented 42 sound effects in FMOD (using Google Resonance) and Unity/C#. These sounds included voice-over and an adaptive piano instrument that generated progressively frantic music the faster an object moved. This game was created in Fall '21 as part of the Game Creation Society (GCS) at CMU.

polyrhythm

Polyrhythm is a rhythm game where instead of reacting to incoming notes, the player listens and detects patterns to proceed. As my first solo project, I created a fully adaptive soundtrack with a mapping pipeline from FMOD to Unity that included note visuals and color palette transitions, along with the UI, visuals, game logic, and rest of the game.

Death Road To Doggie Town

For my first game jam, I joined the Game Maker's Toolkit Jam with two artists and one programmer I had never met before, and we created this infinite runner where you ride a skateboard attached to a chihuahua as you run away from a horde of zombies. I wrote the soundtrack and designed/implemented the sound effects in FMOD and Unity. I also served as a gameplay programmer, implementing the infinite road generation and UI. We placed 442nd in presentation out of 5,755 submissions, and 1,481st overall.

Escape From Lab 8

Escape From Lab 8 is a procedurally generated roguelike made in Spring of '21 and my third game in CMU's Game Creation Society. In it, I found my niche as an audio implementation specialist, although I also did a decent amount of gameplay programming. I created the procedural animation system and built on weapon code. It was my first full game using FMOD with Unity, and I implemented an adaptive soundtrack using layering and over 35 sound effects from scratch, many of which were adaptive. This game won the "GCS Gold" award for audience choice.

Zombox

Zombox is an isometric zombie shooter inspired by the game "Boxheads" that I worked on in Fall '20 in CMU's Game Creation Society. It was a great learning experience - from my first ever sound design, to my first time collaborating on music, to having to pivot from audio to a main programmer due to many members leaving the project - so while I'm not super proud of the final product, it set me up for success in the future in audio and programming. Plus, I made a cool boss intro, so it's not all terrible!

Octave

Octave is an 8-directional rhythm game designed for play on an arcade cabinet. It was my first of many projects in CMU's Game Creation Society, and was built in the Love2D engine using Lua. I served as a gameplay programmer, working on features like hit detection and feedback.

12 Years A Student

My first full video game, 12 Years A Student, was completed at the COSMOS UCSC summer camp in 2018. Despite our team of 4 having almost no Unity experience, we managed to put together a decent task management game in a week and a half while having a lot of fun. I was most proud of my homework problem generation and homework UI, although I also worked on many other areas. This experience taught me how much I loved making games and makes me smile to this day.