Game Programmer
Projects
Tower Tanks
In Development
Team Size: 14
Game Engine: Unity
Role(s): UI Programmer, Gameplay Programmer
While I have contributed to many of the overall systems of the game, my best contributions shine through my UI Programming and Gameplay Programming work. Tower Tanks is an engineering intensive game that contains a lot of systems working together at once, which creates the need for UI to help guide the players through the chaotic scenarios that they tend to get into. This game takes a lot of inspiration from couch co-op party games and comes with the constraint that all players are looking at the exact same screen. I put a heavy focus on creating HUDs that communicate what each player is doing and giving information about the combats that they face together. In addition to combat, I am responsible for engineering systems for building tanks that allow for multiple players to use the same UI tools at once, such as selecting structures and placing rooms. Tower Tanks is a project that evolves over time as it gets more complex, so feedback and iteration have been crucial in the development process, in order to make the game into something more refined, polished, and overall fun.
Key Contributions
Engineered a tank building system, allowing players to choose between 3 unique tank equipment loadouts, pick 4 mountable rooms from a list of 8 randomly assigned room types, and customize the tank by picking between 9,800+ preset tank name options.
Designed a custom local connection / disconnection system that extends Unity’s Input System to allow for dynamic multiplayer interactions with up to 10 players. Maintains multiplayer data persistently between 4 scenes.
Integrated an analytics system that measures statistics for the game’s session, tracking data such as tank designs, player interaction times, and damage dealt by players. Exported into a spreadsheet to save on parsing through 8+ hours of weekly playtesting footage to obtain valuable statistics.
Arbiter
In Development
Team Size: 12
Game Engine: Unity
Role(s): Lead Programmer
While the project had been created and prototyped in a functional state, my job as the new lead programmer was to take these old pre-existing systems and optimize them to make way for new scenes and new functionality. While the core simulation loop has stayed consistent, the project has grown into something much more versatile to work with. My optimizations have allowed for new functions such as variable hall widths, density areas that spawn an assortment of objects, an spatial ambience system, and much more. The goal of my work is to make things as easy as possible to edit for both the designer in terms of appearance and the proctor in terms of simulation functionality.
Key Contributions
Refactored the pre-existing alley system to allow for more modularity of how the scenes are laid out, such as variable hall widths. Added systems for creating new scenes based on assets assigned through predefined data files.
Implemented assets from the art and sound team, creating designer tools to allow for more control over the visual and auditory experience of the simulation.
Reworked the entire configuration settings system, optimizing how config files are loaded / saved so that they can be easily created, read, updated, and deleted as needed.
Worm Punk
Released May 9, 2023
Team Size: 13
Game Engine: Unity
Role(s): UI Programmer, Network Programmer
Worm Punk is an online multiplayer VR PvP game that challenged me to adapt to a new type of game development environment. As the UI and network programmer, I conducted extensive planning and research into VR games to ensure that my work integrated seamlessly with that of my team. Through my research, I was able to create a user interface that felt good to interact with in the VR environment and communicated information across a server-client network through RPCs. I am responsible for getting the game flow working, from booting up the game to getting into a round. I created interactable screens for joining public / private lobbies, interactable objects to show / edit settings for the host to change across the network, and getting players readied up for each round of combat.
Key Contributions
Created a lobby spawning and readying up system, a wrist menu displaying tutorial & game info, and an achievement storage & notification system.
Engineered a real-time online leaderboard, flexible matchmaking, customizable room settings, and integrated voice chat.
Designed an interface including physical levers, dials, and buttons; player HUD for speed, elevation, and kills; personalized nickname/color setup; and networked Jumbotron displaying round time, kills and ranking.
Beyond This Life
Released April 19, 2022
Team Size: 3
Game Engine: Unity
Role(s): Programmer, UI Artist
As the programmer and UI artist for this point-and-click game, I meticulously planned, researched, and implemented several core mechanics, focusing on creating an experience that mimics those of traditional Japanese visual novels with our own twist on it. These included developing an inventory system with usable items, creating in-game interactable assets, and building simple puzzles like keypads and locked doors. Additionally, I developed systems that made the structure of the game very robust. This helped make the game into something that is more user friendly to the rest of the team and make asset implementation easy and streamline the development process very nicely.
Key Contributions
Added a point-and-click system for environmental interaction and a point-and-drag system for player movement across the 2.5D world.
Designed a tooltip-equipped inventory system to give players item information and a draggable item system to use inventory items in the game world for puzzles.
Created a designer friendly custom visual novel system with auto-reading, text skipping, sprite display, still display, and history log functions to emulate the Japanese visual novel style found in other game engines like Ren’Py.