Sister is a 3D narrative platformer about familial conflict. It was produced over the course of six weeks and contains singleplayer five levels themed after the five stages of grief.

This game was a collaboration between myself and Kisa Rodriguez, built in Unity (with assets from the Unity Asset Store), coded with C#, and designed with a bottom-up approach. I designed and implemented various in-game mechanics, including movement, environmental interactions, and combat, as well as designed the first three levels.

Sister is available for download here and is on GitHub here.

design choices

level one

The first level of Sister is representative of grief. For this level, I focused on an environment that would be interesting to traverse and somewhat easy to get lost in, but also easy to correct yourself should that happen. This level serves to introduce the narrative, and was designed to have a symmetrical feeling to it in order to convey the idea that the player character is stagnant in their thought process, despite the fact that the relationship (what is being mourned) is decaying. I created a forest scene where the player crosses through a maze of interlaced branching paths to reach the other side, which resembles the very beginning of the level but where the nature around the player has very obviously decayed. This serves as environmental storytelling, but also visually indicates to the player that they have successfully made it to the other side of the level.

Several points of interest in the level introduce the player to various mechanics of the game, including the dialogue and points systems. The level was kept small in scale so that a player would know if they had made a wrong turn and ended up back where they started without wasting too much time continuously wandering around.

level two

The second level of Sister is representative of anger. For this level, I was interested in the idea of anger burning out as a segue into the Bargaining level. The level is a series of increasingly complicated mazes that layer on top of each other (representing increasing levels of emotional exhaustion) until they hit the bottom layer, where the player must defeat three enemies that patrol back and forth in order to progress. The end of each maze is highlighted in yellow and is where the player drops from the current level down to the next one. Each time a maze is completed, its Game Object is deactivated so that it does not obstruct the player’s view of the next layer of the maze.

In order for the player to be able to see the full maze properly, the camera is pulled out (instead of closely following the player as it does in the other levels), which also gives the illusion that the player rotates the map around instead of moving the player character. This level also introduces mechanics such as the movement power up (which doubles the player’s speed and jump height, though jumping is disabled in this level in order to prevent the player from escaping the bounds of the maze) and combat.

level three

The third level of Sister is representative of bargaining and follows a more linear level design ideology. For this level, I designed a two possible paths to the end platform, under the premise that the player can only choose and proceed with one (stepping on one path will cause the other path to deactivate). The deactivation of the unchosen path is representative of the idea of offering and losing.

Teleportation pads are introduced in this level and serve different purposes based on the side that the player chooses. The inclusion of teleportation pads in this level emulates the idea of taking shortcuts in trying to fix a relationship. The more maze-like, black path has teleportation pads that move the player progressively closer to the end, whereas the much simpler white path features teleportation pads that move the player backwards, forcing the player to either consciously utilize or go out of their way to ignore the teleportation pads depending on the side that they choose.

mechanics

The primary goal from a programming perspective was to create a game with four additional mechanics beyond basic movement. I implemented a basic combat system (including four different attacks, each of which do a different amount of damage and have a different animation, and defending, which nullifies damage but also prevents the player from moving), a collectible-based points system, environmental hazards (mud balls which would halve jump height and movement speed as well as teleportation pads), and power-ups (which double jump height and movement speed).

Our game also included a dialogue system made with Inky and an exitable menu that could be used to reset the current level, reset the game entirely, or quit the game.

Each of these mechanics were implemented in a week or less.