Fathom started from a simple ludonarrative pitch, where by giving the player a set of innocent NPCs, and then having these characters offer up their own vitality to help the player move towards a goal, an implicit plot emerges during otherwise typical gameplay. In Fathom, the player's goal is to absorb colour from these NPCs into themselves until they match the colour of a gate.

I've uploaded Fathom to for archival purposes. Feel free to download it and try it for yourself.

Concept art, by Quinn MacDonald


My job during this three week project was to work as a technical developer for a character artist, environmental artist, and project communicator. Since I was the sole programmer, it was up to me to define the scope of the project, and was ultimately responsible for assembly and system structure within the Unity project. My role also included user experience design through the mechanics of movement and puzzle designs, level designs, visual communication, and handling of playtesting sessions.


In our team's first meeting, the gameplay we settled on was a simple RGB-based colour mixing puzzle. RGB colours as a mechanic felt intuitive to us since we wanted the hitpoints of each NPC to be both communicated visually, and slowly-absorbed (non-discrete.) It was decided each NPC within the game world would be responsible for a different hue, tied to their vitality.

I developed a prototype the next day with a proximity-based colour interpolation mechanic.


Using colour as a core mechanic brought a fascinating set of UX challenges. Some playtesters, for example, had years of experience with subtractive colour mixing, through print design or mixing paints in art class. This quickly manifested when players were faced with a colour-mixing puzzle. Some players see red and green and assumed it would mix into a brown colour, instead of a yellow.

The solution was to give players a visual deconstruction of their current colour. I implemented a simple feature denoting the player's current RGB mix using three dots on the body of the player itself. We did our best not to include UI wherever possible, lest it detract from the finely tuned tone of the game world. I also switched out our current colour similarity threshold code (which used raw RGB to calculate similarity) to quickly convert the RGB colour to HSB format for the duration of the comparison. Hue is weighted in importance much more heavily over brightness or saturation. Players responded positively to this, as hue-based colour formats match human interpretation of colour more accurately. These two changes were both major breakthroughs with our players' ease of mechanical understanding.

Having three independent variables within a given RGB value let me design secondary mechanics involving the player's physical properties. Initially, the player propels through the world delicately and predictably, but as the player adds red, green and blue into their avatar, the buoyancy and strength of their character is changed. We accounted for this within our level design, and designed some small traversal challenges around this satellite mechanic.


As designers, we sought out to subvert failure-states, and a linear narrative. We accomplished this through our ludonarrative dynamic, and a unique core mechanic. NPC death in Fathom is unscripted, and occurs without fanfare or sorrow. It is a direct consequence of the path and competency of the player.

In our final iteration, we found players were adamant not to harm the characters throughout their first playthrough, even without being given a mechanical punishment for their actions. This reaction was fantastic to see, as it showed us that our mechanics afforded a sensitive and emotional playstyle to the player without instruction or suggestion. Some players even played the game a second or third time to solve the puzzles again in a more optimized way, saving the lives of all of the NPCs on many occasions.

Our team was selected to present Fathom at Kwantlen Park Secondary School following our submission, as a representative for our program. It was a surprise hit among younger audiences!