-
Served as Project Lead and Lead Producer
-
Designed and concepted the core game mechanics from game modes to movement
-
Implemented Movement System
-
Implemented Network Programming via Unity Relay and Lobby
-
Implemented Virus Tag Game Mode
-
Handled UI and Animation Programming
Tools Used:
-
Unity Game Engine
-
Netcode for GameObjects
-
Unity Relay
-
C#
-
FMOD
-
GitHub
-
GitHub Projects
I designed and produced this multiplayer 1st person platformer as a part of my senior capstone sequence at UC: Santa Cruz. I lead the team, collaboratively designed the core movement mechanics, and was part of the programming team. I implemented the main movement system, network programming, virus tag game mode, and did UI and animation programming.
In Untitled Parkour Game you play a game of virus tag. At the beginning of each round one player is selected be "it" and each player they tag also becomes "it." The round lasts until either all players are tagged or the timer reaches zero. It's all about using guile and all the available movement options to chase down or escape from your friends.
The Concept and Early Stages
Credit: Will Gadd
Some brainstorming notes from the first team meeting



The Idea:
A first-person, multiplayer platformer with a focus on movement, momentum, and player interaction through classic school yard games like tag
The Core System:
Untitled Parkour Game centers around a single system: the movement system. From the very beginning we knew wanted it to be fast, fluid, and give the player a sense of speed, flow, and momentum. Once we nailed down the list of movement options it took many interactions of tweaking the game feel to achieve those goals.
Early Design Napkin Sketches


Credit: Jia Mei
Execution and Implementation
Movement System Implementation
When coding the movement system there were two major goals I set out to achieve. First, the system needed to be easily expanded upon so we could rapidly prototype and test new movement options. Secondly, it needed to include as many game feel levers and knobs available directly in the Unity editor so designers could rapidly iterate version of the system. To achieve this I chose to use implement the system using a state machine, which also had the added benefit of allowing for easy implementations of animations and sound effects.

Diagram of Movement System State Machine


Screenshots showing off some of the game feel tuning options
Network Programming
After I completed implementing the movement, I handed off the fine tuning to other designer and shifted to the network programming. This project was my and team's first time developing a networked multiplayer game, so opted to keep things as simple as we possibly could. So we turned to the recently released Unity Relay package which makes connecting players very simple. As I soon learned, while connecting players was easy, making all the other aspects of the game function in a networked environment was a much taller task. The main challenges were implementing the Virus Tag game mode and all the accompanying UI elements. Throughout the whole process I learned a ton about using Remote Procedure Calls and other key networking concepts.
.png)
Diagram of Control Flow of a Round of Virus Tag


