Looking to connect?
This is a record of every completed game + TV project I've worked on.
Displayed in reverse-chronological order, by development end date.
Fall 2024 (Features Released December 2024)
XDefiant was my first project using Snowdrop, Ubisoft's proprietary C++ engine that's similar to Unreal Engine. I spent ~4 months working on the "VS Bots" game mode, meant as a more casual game mode and first-time experience flow for players. I dug into legacy C++ code, improved server-client replication, and resolved issues with the player bot AI behavior.
Features Worked On
"VS Bots" PvE Game Mode
Things I'm Proud Of
Independently discovering and fixing a major server-leak issue. While monitoring server debug logs, I noticed that PvE servers persisted long after the last player exited the game. This was caused by the legacy match-exit code not distinguishing between server-controlled (Player Bot) and client-controlled players. I fixed this before release, preventing a massive waste of cloud resources.
Implementing same-team lobby backfilling with player bots, which allows players to play the "VS Bots" game mode even when player count is low. This was also used for setting up the FTUE (First-Time User Experience) onboarding game modes.
Improving client replication of server-controlled player bot actions by debugging legacy C++ systems for animation states and agent abilities. Now the bots climb (not run up!) ladders, and you can see when the bot has an ultimate ability activated.
Finding and fixing an issue where bots had unlimited grenades. Everyone kept saying "Oh wow, the AI really likes using grenades!" Turns out it's because it was hardcoded to be an infinite-ammo weapon that they could spam over, and over, and over... (thank you, old debug code that never got removed)
Summer 2024 (Released January 2025)
Fun fact: Mythic Quest, the real TV show about a fictional game studio making fictional games, features footage of real games custom-made for the show! While working on Season 4, I explored the feasibility of showrunner ideas through rapid prototyping, provided showrunners with multiple iterations of scenes, collaborated with producers to set deliverable expectations, and found solutions that balanced showrunner feedback with technical constraints.
Scenes Worked On
Episode 1: "Boundaries" - Cozy Galaxy scenes
Episode 2: "1000%" - Playpen/Condo Games scenes
Episode 3: "Breakthrough" - Cozy Galaxy scenes
Episode 5: "Second Skeleton" - Nursery FPS, Void, Cozy Galaxy scenes
Things I'm Proud Of
Delivering the "Nursery FPS" scene, a high-fidelity 1-minute sequence rendered in Unreal Engine 5, designed to look like it was filmed in VR. I was responsible for defining the project goals and technical pipelines for a team of 15+ animators, artists, and technical designers.
Reducing manual revision time for the "Condo Games" scenes by building a playable simulator that let showrunners finalize character outfits, animations, and positions in real-time.
Developing inventory, building, and NPC dialogue features for the "Cozy Galaxy" scenes. They're (intentionally) highly reminiscent of Animal Crossing, one of my favorite games!
Encouraging open, meaningful communication with the members of our "Nursery FPS" team. This allowed me to stay updated with their progress, provide technical assistance, delegate tasks based on individual expertise and interest, and adapt quickly to unexpected showrunner requests.
Late 2023 - Early 2024 (Released March 2025)
An ambitious 29-minute episode of television, spun-off from Mythic Quest. I improved and created the tools used to film the episode, focusing on eliminating the pain points faced by cinematic designers and the rendering process.
Things I'm Proud Of
Improving the camera "Capture Tool" by adding automated batch rendering, scene in/out times, export quality options, and lag detection. These additions turned an extensive rendering process, originally requiring constant supervision, into a single "fire and forget" action.
Developing a "Character Recorder Tool" to capture live gameplay (character animations, camera movements, ability VFX) directly as timeline animations. This meant our cinematic designers could quickly create combat sequences by playing the game, as opposed to manually animating them.
Summer 2021 - Fall 2023 (Released November 2023)
The first project I worked on at Ubisoft's Red Storm Entertainment, developed in Unity for the Meta Quest 2 and Meta Quest 3. Over the course of ~2.5 years, I prototyped, developed, documented, and shipped gameplay features related to player locomotion, interactive cinematics, combat, and unique VR activities.
Gameplay Features Worked On
Animus Pulse + Scout
Pickpocketing
Weapon Caches
Gondola
Dice Game
Breakable Planks
Cuttable Ropes
Hanging Traps
Isu Fragments (Collectibles)
Edible Props
Musical Instruments
Things I'm Proud Of
Independently pitching and prototyping Edible Props and Musical Instruments as "quick win" features based on player feedback from User Research. My proposal was praised by the Creative Director and Lead Producer for adding enjoyment to the game while carefully considering production impact.
Being selected as 1 of 3 representatives (alongside the Creative and Technical Directors) to lead a closed-door press event in San Francisco one month before release, where I personally assisted an IGN reviewer with the game. I was commended for my helpful and passionate attitude.
Modularizing gameplay mechanics (specifically the Gondola, Dice Game, and Pickpocketing) so designers could "plug-and-play" them into levels with minimal assistance required. This expanded one-off interactions into game-wide features.
Early 2021 - Spring 2021
Fight your friends in this multiplayer party-fighting game where you use weapon recoil to move around the map. Choose your arms, go into battle, and try to come out on top!
Roles: Gameplay Programmer, Online Programmer, Systems Designer
ARMED FORCES DESCRIPTION HERE
My Responsibilities Included
ARMED FORCES RESPONSIBILITIES HERE
November 2020 - January 2021, March 2021
Defeat waves of enemies taking over your living room with this mobile AR tower defense game inspired by The Clone Wars
Roles: Gameplay Programmer, UI Programmer, Systems Designer
Using Google's ARCore SDK for Unity, I helped develop an Android app that allows the user to create and play a tower defense level in AR space. The user can place enemy spawn points and different tower types to populate the level, as well as waypoints to create paths for enemies to follow. New towers are available as players earn credits from defeating waves of enemies.
My Responsibilities Included
Learning and utilizing Google's ARCore SDK for Unity to use real-world planes in AR simulation and allow the user to select a desired plane
Designing an adaptable system for making new AR objects
Creating tower objects with different mechanics, such as ones that deal AOE damage, slow down enemies, or target the furthest enemy
Designing particle systems for tower radii and spawn selection
Creating UI elements that allow the user to select AR objects to place
Spring 2020 - Spring 2021
Teaching club members how to utilize game development tools such as Unity, C#, and GitHub throughout three semesters
Roles: Instructor
As a General Officer, and eventually President, of the Video Game Development Club at NCSU, I conducted workshops to teach our members skills for using Unity and GitHub. These workshops included beginner tutorials on setting up a work environment, introductions to Unity features such as the input system and UI, and examples of how to create different 3D and 2D game mechanics.
My Responsibilities Included
Preparing and conducting 2-hour workshops once per month, each with an average attendance of 20 members
Assisting club members outside of workshops if they ran into issues while developing their own projects
Creating written outlines detailing everything covered in the workshop
August 2020 - November 2020
Networked game engine built from the ground-up in C++
Roles: Sole Developer
I learned the fundamentals of game engines by developing my own with C++ in CSC 481 - Game Engine Foundations. Concepts taught through this project included multithreaded loop architecture, networking, event handling, and scripting. My engine is designed for expansion and allows for the creation of different types of games.
My Responsibilities Included
Implementing a REQ-REP networking model with the 0MQ library to allow multiple clients to connect to a server's game instance
Designing and implementing a entity-component game object model for different object types within the engine
Implementing game time so that all movement-based actions in the engine can be sped up, slowed down, or replayed at will
Creating an event management system for various engine features
Utilizing the Duktape and Dukglue libraries to implement scripting capabilities with JavaScript
Developing two small games with the engine: a multiplayer side-scrolling platformer and a single-player arcade shooter
September 2020 - October 2020
Visualization of data from Sneakaway Studio's browser application Tally Saves the Internet! currently displayed across NCSU Libraries
Roles: Particle Systems and UI Designer, Physics Programmer
I was contracted through the NCSU Libraries to assist in developing a visualization of data from Sneakaway Studio's browser application "Tally Saves the Internet!" This visualization is displayed throughout the NCSU Libraries in locations such as the Immersion Theater, Game Lab, and Visualization Studio.
My Responsibilities Included
Creating particles systems to visualize different types of data
Manipulating character and particle physics in an existing wander algorithm to create the desired particle and trail effects
Implementing user input so the user can control characters or view statistics using a touchscreen, keyboard, or game controller
Creating UI to display character statistics
October 2020
Defeat skeletons, collect coins, and run from an approaching wall of doom in this 2D action-platformer with a procedurally generated endless mode
Roles: AI Programmer
Developed in a week for VGDC SPOOK Jam 2020, this 2D action-platformer has the player defeat skeletons, collect coins, and traverse over obstacles while running from an approaching wall of doom. Two game modes exist: a pre-designed set of levels, and a procedurally generated endless mode of my own design.
My Responsibilities Included
Programmatically assigning a sprite tilemap to environment objects
Designing and implementing a procedurally generated endless mode with varying elevation levels, coin amounts, and enemy locations
Debugging and restricting the endless mode algorithm to ensure it only creates possible levels
June 2020 - July 2020
Standalone party system visualized with a GUI
Roles: Sole Developer
The system works by itself, so it can be reused as the party system in a full game with minimal adjustments. The system allows for party members to have stats, attacks, and equipment, as well as for the party to have reserve members and equipment that can be moved at will.
My Responsibilities Included
Designing and creating the classes in the party system and their interactions with each other
Testing the party system with test cases for each function
Designing and creating a UI system that connects to the party system
Collect memes and prepare for battle in this funny mobile game
Roles: Gameplay Programmer, UI Developer
Developed in a week for VGDC Spring Jam 2020. The player partakes in rock-paper-scissors-esque "meme battles" to gain memes. As the player collects memes, they must engage in increasingly longer battles to unlock more memes for their arsenal. The game is themed as a messaging app and allows the player to "text" opponents for funny interactions.
My Responsibilities Included
Designing and implementing a system for earning and storing memes
Implementing all UI elements, such as the opponent selection screen, chat screen, and message bubbles
Debugging various UI-related issues
January 2020 - April 2020
Explore molecules and compounds in AR with this mobile app used as a companion to a physical card game
Roles: Sole Developer
This project is a companion app to a physical card game designed to teach chemistry concepts. Its primary function is to show players how certain ions (represented as cards) could combine to form compounds. The app uses the augmented reality platform EasyAR to detect cards and create visualizations in augmented reality space.
My Responsibilities Included
Utilizing an existing AR platform to trigger interactions with image recognition
Importing models from Jmol for use within the application
Working alongside a team on a physical card game to ensure AR compatibility
Creating links to online articles within the app so users can learn more about ions and compounds
Developers can use this open-source system alongside Oculus' SDK for Unity to detect and parse user hand gestures in VR
Roles: Sole Developer
I used the Oculus Quest's built-in hand tracking capabilities to detect and parse the user's hand gestures. Detectable gestures include letters from American Sign Language, rock-paper-scissors, and communicative gestures. The system is expandable and allows developers to create their own gesture libraries.
My Responsibilities Included
Utilizing the Oculus SDK for Unity to get real-world hand movement and pose data
Using vector math to parse hand data and translate it to gestures
Ensuring the system is expandable so other developers can create gesture libraries
Creating a tech demo to demonstrate the library's capabilities and show developers how the system can be used
January 2019 - Spring 2020
Beware this VR escape room where you have to escape while undergoing symptoms of psychosis
Roles: Programming Lead, Gameplay Programmer, Systems Designer
A virtual reality horror game where the player must solve problems while undergoing symptoms of psychosis. I was brought onto the project as a gameplay programmer and was later promoted to programming lead.
My Responsibilities Included
Creating "symptoms," which are various effects that plague the player
Restructuring the development of "symptoms" to be more efficient and designer-friendly to implement
Implementing shared functionality, such as destructibility, for objects that the player can grab
Creating interactive objects for the player to use, such as books, handles, cups that fill with water, and a fold-down bed
Organizing and delegating tasks for the programming team
Fulfill orders while putting out fires, fixing queso machines, and avoiding flying ingredients in this deteriorating VR taco truckĀ
Roles: Gameplay Programmer
Developed in a weekend for Global Game Jam 2020. The player must fulfill taco and nacho orders while also repairing a deteriorating taco truck. Ingredients must be prepared before being combined, fires will have to be extinguished, and queso machines will require attention as the player frantically tries to complete the job. This game was developed for the Oculus Rift, Oculus Rift S, and Oculus Quest systems.
My Responsibilities Included
Programming the ability for players to create tacos and nachos with different ingredients
Modifying a refill system developed by another team member so the appropriate meshes appear
Managing the GitHub repository and merging feature branches
Follow the journey of an Aztec tlacotin to stop the apocalypse in this stealth-puzzle game
Roles: Gameplay Programmer, Level Designer
A puzzle-platformer following the journey of an Aztec tlacotin to stop the apocalypse of the Era of the Fifth Sun. In the end, it is revealed that the apocalypse is actually the Spanish Conquest, and the mythological beings and events encountered throughout the game are how the Aztecs perceived the atrocities.
My Responsibilities Included
Creating the four player characters' abilities
Creating three types of enemies, each with unique behaviors
Creating interactive elements that lure enemies and affect the environment
Creating a designer-friendly dialogue tree system that gives the player up to four branching choices for each line of dialogue
Using animation blend spaces to animate the player character
Designing and building levels
Video Game Development Club at NC State onboarding project for the Fall 2019 semester, designed and directed by myself
Roles: Project Director, Systems Designer
After being promoted to a General Officer in the Video Game Development Club at NC State, I designed this onboarding process for new members to encourage learning and involvement in the club. Members formed teams and created small minigames connected through the Byte-Sized Bonanza framework.
My Responsibilities Included
Designing and creating a minigame menu that includes a search bar, tag system, and sort orders
Designing and creating an easy-to-implement system for developers to create minigames
Overseeing production and keeping track of over 20 developers
Assisting in the learning process of using Unreal Engine, Visual Studio, and GitHub
Managing the GitHub repository
Use sketches of your targets to hunt them down as an assassin traffic cone
Roles: Sole Developer
The player must hunt down specified targets as an assassin traffic cone. Targets are identified solely by the hat they are wearing, and each one has their own path they walk along on the map that the player must memorize.
My Responsibilities Included
Creating a random target system to determine which character must be killed next
Creating simple AI that follows a path in the scene
Programmatically changing NPC appearances
Implementing aerial and ground attacks for the player
Implementing a score system that assigns points based on attack type
Designing three different endings based on the final score