Projects
Personal Projects
[Click For More Info]
MOSHPIT
Project Lead
Unity 3D | Wwise | C# | PC
A top-down rhythm action game where you must play on beat to react to the enemies and environment.
Awards
ICS Student Project Expo 2nd Place Prize
IEEE GameSig Showcase Finalist
More Info
MOSHPIT started out as a UC Irvine capstone project for my senior year, where I wanted to challenge myself to intentionally make a game that would integrate Wwise into Unity and most of the gameplay had to be dependent on the music or audio experience.
Download itch.io
Sankofa
Creative Director
Unity 3D | C# | PC
A historically-accurate adventure game where you play through an Anansi Spider Tale while learning about Akan culture.
More Info
Sankofa was a collaboration with the UCI's research program to develop a game based on West African culture and mythology. More specifically it would delve into the lifestyle of the Akan people of coastal Ghana while using an Anansi spider tale, or Anansesem, as the narrative hook. Much of the project was designed based on references in Dutch, Spanish, and British documents while also paying attention to the current landscape of Ghana.
Play Game Unity WebGL
Download Sankofa Website
Watch Trailer YouTube
Professional Projects
[Click For More Info]
Sonic Colors Ultimate
UI Engineer
Proprietary Engine | C++ | Console
Sept 2021
Integrated mouse capture to provide PC support on UI screens
More Info
Sonic Colors Ultimate was the last project that I worked on at Blind Squirrel Games before going back to finish my undergraduate degree as a full-time student. While on this project I was primarily responsible for handling mouse capture to support the PC builds. Most of the functionality was created through the proprietary engine that was created for this project, but some work had to be extended to other areas such as the multiplayer screen. In creating support for the mouse capture it was important to understand the flow of action so that it would be comparable to a console build. At times, it was important to switch between the two to ensure that the experiences would be equivalent.
Mass Effect
Legendary Edition
Audio Engineer
Unreal 3 | C++ | ISACT | Console
May 2021
Ensured stability of audio integration between Unreal 3, ISACT, OpenAL and the release builds
More Info
Most of my time on Mass Effect I spent towards ensuring stability of the audio pipeline. It would be my responsibility to fix any and all bugs that may have to do with audio. Most of the time the issue would have to do will a sound source being null or a pointer overflowing, but testing across platforms was what proved whether an issue was consistently fixed.
Drifters
Loot the Galaxy
UI Engineer
Unreal 4 | C++ | Blueprint | PC
Apr 2021
Prototyped a variety of UI elements including a killfeed messaging queue and ability bar with state changes
Created an audio manager to mix volumes and initialize voice chat
Made UI elements on screen space relative to world space
More Info
In the majority of time that I spent on Drifters, I was prototyping and creating the first pass of the UI system. I was in a lot of communication with a UI designer, as well as multiple other engineers, to ensure that all of the displayed information would be relevant and helpful. Much of the UI's functionality, such as update events and changing of states, were made in C++ first and then converted to Blueprint nodes to plug in the relevant widgets.
Because no one else was working on the audio for the prototype, I also took on those responsibilities. On moments where I had extra time I would flesh out more audio features for the prototype, including but not limited to, plugging in sound effects, initializing voice chat, and changing the music based on gameplay.
Borderlands:
Game of the Year Edition
Audio Engineer
Unreal 3 | C++ | FMOD | Console
Apr 2019
Created a 'walkie-talkie' voice filter using only FMOD SDK
Filtered out important dialogue for filtering
More Info
Borderlands was a game that I worked on voluntarily during my overtime to get more experience with audio engineering. It became the first official credit that I received in audio engineering and became some crucial experience towards understanding some DSP fundamentals. For starters, on this project I did not have access to FMOD's visual editor. All of the features that I made had to be done through either scripting/programming in Unreal 3 or utilizing FMOD's SDK.
The primary task that I was given was implementing an audio feature for when you're talking to someone and then walk away. In Borderlands 2 if you do this then it switches over into the voice showing up on the radio. This means that in order for this feature to work, the voice effect has to turn from a 3D attenuated sound to a 2D sound with no attenuation. It also means that I need to create a voice filter, using distortion and a low-pass filter, to create the effect of sounding like a 'walkie-talkie.' The last piece of the puzzle was the make sure that only important voices would use this feature and not random barks from enemies. After looking at Unreal's wave instance data it was clear that I can filter those out as well.
Star Wars:
Jedi Challenges
UI Engineer
Unity 3D | Wwise | C# | Augmented Reality
Oct 2017
Made Wwise soundbanks load based on the planet selection
Created UI for augmented-reality gameplay
Integrated Wwise events into character and enemy animations
More Info
This project was my first foray into augmented-reality on a professional project. It was a collaboration with a few other companies and one of the primary challenges was developing a localization pipeline across all of the companies. I created that pipeline and moved on into doing more work for the UI engineering. The most prominent UI elements that I became responsible for were the battle tooltips, enemy health bars, and victory/defeat fanfare. The additional challenge to making UI for augmented-reality is to scale and billboard the UI element relative to the player (or camera) position.
Star Wars: Jedi Challenges is also the project where I was able to work closely with the Star Wars audio team to help with integrating features that were built on Wwise. Not only does this mean integrating new Wwise events for sound effects on characters and enemies, but also restructuring how soundbanks are loaded. Before only one default soundbank was being used across the entire project, but to be more efficient in space, the soundbanks are split based on which planet you would visit. This became a much better standard for loading and unloading soundbanks.
XCOM 2:
War of the Chosen
UI Engineer
Unreal Script | C++ | Flash CS6 | Console
Aug 2017
Added controller support to 'tactical photobooth' feature
Implemented looping background music to the launch window in C++ based on calculating the duration
More Info
XCOM 2: War of the Chosen was an experience that allowed me to try out C++ in a professional experience for the first time. Since we were utilizing Unreal 3, we did not depend on the engine to make changes, but instead made those changes through script. Most of the beginning phase of me working on this project involved me fixing bugs related to UI issues such as alert popups, save file dialog boxes, and ability icons. This was also the first project where I became familiar with the localization pipeline as I became responsible for importing any new localization packages and then ensuring that they were integrated appropriately.
In some cases I had to go outside of my comfort zone to learn something new for the sake of solving issues. Some of which includes me going into older Flash files and scripting in that system to solve an issue. Another instance, which started my interest in audio programming, is where I was taught how to create a looping background track on the launch window. To calculate the duration of a song, if it is using constant bitrate, the duration (in seconds) = file size (bytes) * 8 / bitrate (bits/second).
Mafia III
Level Designer
Fusion Engine | Console
Oct 2016
Built combat encounters in an open-world game
Created racing tracks based on already built locations
Used XML and the Fusion Engine to change properties of objects such as money drops and cover points
More Info
My primary role was to create damage objectives strewn about New Bordeaux. These damage objects varied between areas where mobsters left money bags to pay off corrupt officials to combat encounters where the player can do damage to the racket by destroying supplies and taking out the henchmen. However, the goal for all of them was to create a narrative on the micro scale to enforce the overall narrative of that district.
In non-combat damage objectives I would also modify the economy XML to make sure that the value of money being left was appropriate. For combat encounters I would have to rely more on changing properties of world interactions for animations, placing spawners for enemy types and civilians, adjusting trails so they follows specific paths, and scripting events such as reinforcements driving through a gate. These were the most common tools that were at my disposal.
I also became responsible for building some of the racing maps in the DLC that came afterward.
Bioshock:
The Collection
QA Tester
JIRA | Console
Sept 2016
Tested full playthroughs on multiple consoles
Used Test-Track Pro and Jira for bug-tracking
Utilized tools to detect problem areas in the game
More Info
Other than the standard testing practices of playthroughs, reporting issues, and reproducing bugs, Bioshock added other tools and hardware to test in tandem. I would often have to do playthroughs while running a program that exports "heat-maps." These would pinpoint trouble areas where the framerate would drop. This informs the engineers where optimization would be needed to most to save on time and effort. I also became familiar with PlayStation Neighborhood and Xbox One Manager. I also grew familiar with bug-tracking software such as Test Track Pro and Jira.