Summer 2019
A 2D Metroidvania game, created with Unity as a personal project. Sprites created with Gimp. The implemented save system writes binary values to text files to record the player's location and collected items. The game features a total of four connected areas, and utilizes items to create a system requiring backtracking to progress. The flying and swimming enemies utilize the A* pathfinding algorithm to track the player. The game also features a final boss fight.
March - May 2020
A 3D action game created with Unity (coded in C#) as a group project for a game programming course. The goal is to save tortoises by loading them onto a helicopter before the fire destroys all of the trees. The environment is procedurally generated, and it is different every time the game is played. The spread of the fire is simulated by instantiating particle systems in adjacent areas after a timer runs out. The player can access an upgrade store where they can spend points. The tortoises and helicopter utilize NavMesh agents to avoid the fire and follow the player, respectively. We received an A for the project, and it was demonstrated as a positive example for the following semester's class.
May - August 2021
A turn-based battle game published for iOS and Android devices by Massachusetts Digital Games Institute. During my internship during the summer of 2021, I worked as part of a team consisting of programmers, 2D artists, a sound designer, and a marketer. My role was gameplay programming using Unity and C#. I also worked on implementing the game's save system and analytics events. Our application was downloaded by over 650 users on Android and 200 users on iOS.
Summer 2019
A prototype for a combination between RTS and team-based FPS games. The player can toggle between overhead and first person views, and they can move their team's deployment locations around the map. In first-person view, the player can move around the map, enter and exit vehicles, and capture objectives around the map to deplete the opposing team's reinforcement counter. Respawning is not tied to the static objectives, but rather the units that the player can move around the map through the overhead view.
Spring 2017
Text-based Battleship game, implemented in Java. This was my final project for my AP computer science course.