Memoria Navis

A story-driven and meditative game that uses your brainwaves to enhance the experience

Technologies

Unity, C#, BrainFlow

Diciplines

Gameplay programming, Game Design, Bio-Sensor(brain-computer-interface)

Duration

~250 Hours per person (6 people)

Project Description

In this project, I was part of a team of 6 students tasked to make a game for our client, Roel Heremans. In one of his previous projects (The NeuroRight Arcades), he made arcade machines that sparked self-reflection in the user about the current and future state of neurotechnologies. These arcades use an EEG brain-computer interface (called Enophones) that can read your brainwaves.

This is where our project starts. We were tasked to make a game using these Enophones while keeping the self-reflective style of the NeuroRight Arcades. We ended up making Memoria Navis, a game where you take control of a spaceship that was originally controlled by a wiped human consciousness. Using the brain-computer interface, you help the ship regain its memories by using the ship with your thoughts and memories. There's more to the story but that is the basic outline.

My Contributions

I was one of two programmers on the team responsible for creating most of the functionality.
The main problem I had to solve was to create a system that reads the EEG signal from the brain-computer interface to be able to use it to influence the game. I used a library called "Brainflow" to read and process the signal read from the headset. This was very hard at first as I had never worked with this kind of technology before.

One of the biggest systems I made was the "meditation orb". At a certain point in the game, you will have to meditate to merge your memories with this orb. When you are meditating, the game will read the EEG signal coming from your brain and use that to influence the parameters of the orb. So depending on what electromagnetic signals your brain was sending out during your meditation, the orb would change color, size, turbulence, and cohesion...

I also made some gameplay mechanics like:
The movement of the spaceship, making sure it feels good and somewhat realistic. We wanted to make the game as accessible as possible so the ship is controlled with only the mouse.
The AI movement behavior of the "sparks" (an entity in the game you have to chase and catch). I used a blended steering script to determine the desired movement direction. This was a combination of wandering around, chasing/fleeing from the player and some random input.
Some systems to spawn/despawn asteroids (or other debris) around the player to create the illusion of flying through a never-ending asteroid field.