Dimensional Rift is an asymmetrical co-op wave defense game where one player is the hardened space warrior, Sam, and the other is the cheery and naïve farmer, Freida. When Sam jumps through a portal to Freida's world, they bring with them an alien invasion. The pair must work together to repair and defend Freida's farm. Freida evades enemies, collects coins, and rearranges the farm to help Sam navigate as they defeat aliens and rebuild buildings. However, there's a catch: Freida navigates her world from a top-down perspective, but Sam navigates it like a 2D platformer - meaning Freida's walls are Sam's platforms.

I co-lead Dimensional Rift development along with Adrian Ma as part of CMU's Game Creation Society Fall 2022. Below are three areas I contributed considerably to, although my greatest contribution was made via management duties with the audio and programming teams.

Itch.io Game Creation Society GitHub

Building System

As you play Dimensional Rift, you gradually build up your base with revenue-generating farms, moveable hay bales, and static buildings to be used as platforms. I wrote all of the building code in the game (except for hay bales being moveable), including placement on the grid, enemy targeting and health, and farm growth and harvesting.

Dialogue Pipeline

Throughout the game, Sam and Freida converse about themselves and their situation, growing closer as you survive more waves. I worked with the lead writer to implement a pipeline from .txt files into the game, where different conversations require different levels to occur. I also combined my own code with that of another programmer and an artist that triggered and displayed the conversations into a fully functional conversation system.

Game Flow

Much of my time was devoted to writing classes that were the basis for larger systems. For instance, I wrote a class to represent waves for the game designers' ease of use. I also wrote the code to trigger waves using C# events with attached wave objects, and helped other programmers integrate their features into the system. I go into more detail in the leadership section.

Team Leadership

Dimensional Rift was my first time leading a full team on a game - I had lead small sound teams before, but those experiences were much different. Much of my time spent with this game was spent aiding, consolidating, and refactoring the work of others. For the sound team, I mostly let the members decide on creative direction and acted as a producer until near the end of the project, when I stepped in to fill some holes in sound effects and implementation. However, for the programming team I answered lots of questions, integrated people's code, and fixed their bugs/git issues. It was my first time in a managerial code role, but I found I did enjoy it quite a bit.