Design and Implementation of a Brain-Controlled Snake videogame based on alpha activity

Exploring modes of interaction in BrainSnake, a cooperative multi-brain BCI game based on alpha activity

Playing BrainSnake

BrainSnake

BrainSnake is a BCI version of the classic Nokia game Snake which relies on alpha activity of the player to control its main character (the snake, of course). It was born from the idea of creating the design for a BCI game that could circumvent some common limitations of alpha waves, which allow to track the user’s level of relaxation or focus and is commonly used as a passive BCI input modality (due to the delay it takes to induce and detect alpha activity effectively). We chose to follow typical design patterns of cooperative closely-coupled games, in which the actions of one player significantly affect the experience of the other player, such as complementarity of players actions, and interacting with the same object (in our case, the main snake character). Closely-coupled games were proved to be greatly enjoyable, but also to suffer greatly from the absence of communication between the two players. In our case, we were also interested to see whether players’ communication (or lack thereof) would have an effect on their relaxation levels, and hence performance.

Main screen of BrainSnake.

Game design and input modality

We came up with a control mechanism in which alpha waves could be used in a somewhat active way: by having one of the players close their eyes. This is by far the easiest and most time-effective way to detect alpha waves, albeit counter-intuitive for rather obvious reasons (like huh, not being able to see what’s going on in the game). In our experimental design, the snake in BrainSnake constantly moves around the screen until one of the players closes their eyes, gaining control of it, at which point the snake would halt and start rotating up to 90° (one player can rotate it clockwise, the other one anti-clockwise). When the player re-open their eyes, the snake proceeds moving forwad following its new trajectory. Not dissimilarly from regular Snake, the aim of the players is to collect pieces of food and increase their score while avoiding accidentaly biting their own tail or hitting the walls or other obstacles on the screen. We designed these game mechanics expecting players to rely on communication in order to achieve their goal, with one player acting as the blind “controller” and the other one as a “feedback provider”. We also setup an experimental condition in which the two players were not able to communicate in any way, to see how this would affect the gaming experience.

Equipment and implementation

We created BrainSnake sing the Unity game development software and programmed it in C#. Not having any experienced game developer in our team, we started out by following a basic tutorial on YouTube that was meant for a different type of game (Curve Fever / Achtung die Kurve) and adapted it to become our very own version of Snake. Our BCI system comprised a Biosemi Active 2 for acquisition of raw EEG signal data, and the OpenVibe software for data processing and communication with Unity. We filtered the incoming samples of electrical brain signals through OpenVibe to classify the user state as having either high or low alpha activity whenever a certain threshold is reached, which would then translate in a control input for the snake character.

Evaluation of the gaming experience

Setup for the co-present (left) and remote (right) experimental conditions.

References:

M van Almkerk, L Brandl, R Li, P Romeo, M Poel. (2018) BrainSnake: Exploring Mode of Interaction in a Cooperative Multi-brain BCI Game Based on Alpha Activity. The Eleventh International Conference on Advances in Computer-Human Interactions, pp. 39–44

UX Researcher @ FlixBus. Pan-European, uprooted globetrotter. Idiosyncratic. Passionate about UX, Human-Computer Interaction, and Digital Anthropology.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store