A glowing spirit above the player in a vaulted Katharsi environment

Katharsi

Student Project

Play on Steam

"Katharsi" is a puzzle-adventure game, featuring light-based puzzles, a voiced companion reacting to gameplay, and a story about grief.

My main responsibility was designing and implementing the narrative, which included writing voice lines, creating cutscenes, and designing levels.

  • Team size: 15
  • Duration: 8 months
  • Platform: Steam
  • Engine: UE5

My Contributions

Overall Narrative

The story focuses on dealing with the death of a loved one and everything that happens in the game is purely metaphorical for what happens in the characters mind.

The goal was to put less restrictions on puzzle, combat, and level design, while also gaining the opportunity to tell more story through those exact disciplines, for example with surreal surroundings or puzzles where you use light to drive away darkness.

Surreal towers and a glowing spirit in Katharsi

Companion

Our silent protagonist is accompanied by a voiced spirit companion, who they can send out to interact with the environment and solve puzzles.

I made the protagonist silent to reduce voice over scope and to help players project onto him. On the other hand, creating drama with just one character talking became more difficult. The companion is the center of both story and mechanics and the reactive barks, based on what the companion is send to, provide extra player feedback.

The spirit companion interacting with the environment

Voice Lines

I wrote reactive barks for eight different trigger conditions, as well as a number of scripted voice lines. None of them interrupt the gameplay.

Voice lines are played during gamplay, so players can ignore them if they want to. Scripted voice lines are used for storytelling and tutorials, and never played during sections where players focus on puzzle solving. When a bark condition is triggered, a line is chosen semi-randomly with more barks in the pool for frequently triggered conditions.

An excerpt from the Katharsi voice-line script

Level Tools

I prototyped several level design tools, like buttons that open doors and objects that are destroyed when their weak spot is hit by the lightbeam. The biggest one was the enemy spawn and respawn system.

The spawning system was complex because puzzle states should be saved while enemies should respawn unless the room was cleared previously. For performance, only the enemies of the current room are spawned in at a time.

Enemy spawn and respawn system flowchart

Grave Room

I designed the last room, including a three stage puzzle, voice lines and a final cutscene with a smooth transition from the gameplay camera.

The rooms focus is the narrative conclusion, so I kept it simple and only used puzzle elements introduced previously. It has three stages each followed by a scripted voice line to conclude all narrative topics. Players send the companion into the grave at the end as a symbol for acceptance.

The final grave room and its puzzle

Cutscenes

Using the Unreal Sequencer, I created 11 short cutscenes and two longer ones. They include movement of cameras, objects, and the player, as well as camera blends and triggered events.

Most cutscenes are aimed at giving feedback to the player: Which door did they just open; what effect did this button press have? The others primarily tell the story, but also establish the playspace and provide some time for important voice lines to play.

Testing

Weekly, I tested the game by playing it myself and by putting the game in front of new players. I condensed my notes into a document and shared it with the team.

Testing our game early and often made sure we catch issues soon and can decide what to prioritize. I color coded the entire document, so everyone can find feedback connected to their work, without losing much time.

Color-coded playtest notes shared with the team