Yacht Club Games (2024)
Yacht Club Games is an independent game studio best known for 8-bit inspired game Shovel Knight. I was brought on as a Tools & Engine Programmer at the beginning of January 2024, where I worked on their proprietary C++ engine known as Propeller.
Blendshapes
The biggest contribution that I made to Yacht Club Games was implementing blendshapes into their custom engine. The first step was to have one of the artists create a series of blendshapes in Maya, and then export those blendshapes into Autodesk FBX files. Then, I added a function for parsing the blendshape data out of the FBX files to Yacht Club's 3D model processing tool, creating new sections within Yacht Club's proprietary model format to hold the blendshape information. With the guidance of the engineer that wrote the rendering engine, I was able to create an efficient system for loading and rendering the blendshapes.
Collision Deformers
When blendshapes had been implemented into Propeller, my next task was to implement non-linear collision deformers to the engine. These are based on the modifiers of the same name in Maya - bend, twist, and wave, for example. Adding these was a challenge in two ways: first, the existing modifier system had to be updated to support a new kind of modifier; and second, they required extensive use of linear algebra.
East Coast Games Conference (2023)
In February of 2023, I applied to be speaker at the East Coast Game Conference in Raleigh, North Carolina. My proposal, a talk looking at the impact that modding video games has had on my life and career choices, was accepted - mostly to my surprise - and I attended the Conference as a VIP. My talk was recorded, and can be viewed on YouTube below.
Virtual Heroes (July 2022 - December 2023)
Virtual Heroes is a Serious Games studio under the umbrella of Applied Research Associates (ARA) that creates training scenarios and simulations for the public and private sectors. During my time with Virtual Heroes I contributed to multiple Unreal Engine-based projects and worked with AR, VR, and robotics technologies.
Unreal Engine ARC4 Simulation
One of my first major contributions was showcased in a promotional video released by ARA for one of their projects. To highlight that project's integration with ARA's ARC4 augmented reality technology, I created a robust implementation of that AR technology using Unreal Engine 4's UI systems. Actors placed in the scene could register themselves with the UI upon spawning, and that would allow the UI to show them as both icons in the world and as icons on the compass at the bottom of the screen.
This timestamped video shows the ARC4 simulation in action.
Burncare Scenario Editor
Creating tools for content creation is a huge interest of mine. When a project at Virtual Heroes popped up that required a tool to author event flows for training simulations, I volunteered to spearhead the design and implementation of that tool. Using C++ and Dear ImGui as the GUI library, I created the Burncare Scenario Editor: a node-based tool that aimed to make it quick and easy for medical professionals to write training scenarios for medical students learning how to treat severe burns.
Gears for Breakfast (January 2019, June 2020 - June 2022)
In January of 2019, Gears for Breakfast had an opening for a gameplay programmer that would focus on helping them ship their flagship game's second DLC pack - A Hat in Time's Nyakuza Metro. As I was between my internship with Thomson-Reuters and my first Junior semester in college that January, I decided to apply and was hired for a one-month trial period. During that month, I worked with Unreal Engine 3, fixing bugs, tweaking existing gameplay objects, and even prototyping some new ones of my own.
My favorite of the things I prototyped was a ticket booth; it was intended that NPCs from the environment would join the line, wait, and then walk off-screen and despawn when they reached the front of the line.
When I finally graduated in May of 2020, I reached out to Gears for Breakfast once again, and was once again hired. The studio had moved onto a new, currently-unannounced project, created with Unreal Engine 4 (and later, 5). I served a very similar role as I did in 2019, with more of a focus on creating new gameplay elements.