The Project
Afterlife is a short first-person shooter and puzzle game made in the Unity Engine. It was developed over a 3-week period by a 5-person team.

In Afterlife, the player awakens in a strange facility with little memory of how they got there. The goal is simple: find a way out by solving puzzles and inspecting the environment. On the way, the player is accosted by strange black-and-red orbs who attack on sight, and fights back using a similarly-sourced laser rifle they find on a table. Over time, the dangers escalate until a final showdown where the player finally escapes.
A disclaimer: due to its short development period, Afterlife does not feature any audio and features a variety of models and materials from the Unity Asset Store and art sharing websites. A full list of the assets used and their sources is included on the itch.io page below.
My Role
For this project, I acted as the team’s primary programmer. I developed the player character, the enemies, the level scripting system, most of the level assets, and the menus.

To avoid spaghetti code, I built the player and enemy scripts using a modular system I created for one of my older projects. Rather than communicate through hard references, scripts store state information on a centralized data object, allowing scripts to communicate anonymously. Doing so renders the scripts independent, allowing designers to add and remove behaviors without breaking anything.
Since most of the team were level designers, I also developed an event-based sequencing system to abstract each level’s moving parts as much as possible. Nearly all level elements (dialogue, doors, encounters, keypads, panels) use a shared interface that connect through to a single sequencer object.