Staring at cats on the internet – Gameplay with your brainwaves

I was chuffed when my friend Alex asked me to take part in the Tech City Showcase as part of International Women’s Day. Being an advocate of technology and maker culture, it’s always a thrill for me to share my passions, especially if my work might spark new creativity or interest in others.

If you’ve been following me in other channels, you’ll know I’m in transition to a new role in the video game industry at the moment, so I didn’t have any one particular project I wanted to talk about. Instead I took this as a challenge to put something fun together.

A few weeks ago, at the Superhuman Make-a-thon, we used Neurosky MindWave headsets to try to hack human brainwaves. I thought this would be the perfect opportunity to get back into Processing and make a simple app.

The MindWave device fits on to your head like a regular headset with an extra arm that presses firmly against your forehead and a clip for your earlobe. The forehead sensor detects electrical signals being emitted from your brain and the earlobe clip subtracts your heartbeat from that signal.

Most of the apps available for the device focus on the detection of relaxation and attention. From moment to moment, our brainwaves constantly shift between different frequency ranges which have been attributed to varying mental states based on scientific research. For example, in a relaxed state your brainwaves will reside predominantly in the 8-13 hz range (alpha). As these shifts happen all the time and the moment you start thinking about it you go into a different state, it can be quite difficult to tell physically, from one second to the next, whether you are more relaxed or not.

This makes it hard to build game controls around the feeling of relaxation, unless the player is being trained over a longer period to become sensitised to it and can recall that feeling for the purposes of gameplay. Neurosky’s certainly tried to do this with their Force trainer, which gives visual feedback in the form of a levitating ball when the player is more relaxed. For my game, it seemed more apt to pick a physiological action with immediate feedback.

One of the other pieces of noise in the signal is eye blinks. Similar to heartbeat, this shows up as a blip in the waveform and is difficult to detect or remove. Neurosky’s done some work in this area as it stands as a hinderance to the reliability of the product. Their software does some automatic filtering for eyeblinks and the API will very courteously let you know when a blink event has occurred. This piece of unwanted information turned out to be just the thing I was looking for.

I was inspired by the memory of kids playing at staring contests in the schoolyard. When we were young we had the ability to turn anything into a game and staring was one of those timeless games that made for a lot of cross-eyed fun. What better way to make adults play it with proper scoring and high-tech gadgets.

The Internet Cat Staring Contest simply asks players to hold their stare for as long as possible, giving them a timer to see who could stare the longest, with an Internet Cat to stare back.

Time ran short for a leaderboard so I kept one on paper which actually worked better as everyone could check out the scores when the game was being played and players could add their own names and timings to the sheet.

The game was a big hit, quick to play, requiring no learning and eliciting a lot of off-screen fun as friends tried to make players blink. Scores ranged from 26 seconds to a whopping 126 seconds! Talk abut self-control.

By the way, congratulations to Isabel Sierra who is our Internet Cat Staring Contest world record holder.

I’m making the code open source on Github (, so if you have / get a MindWave device, you can try it out. You can also tweet me to come share the game with your next event.




Tags: × × ×

One Comment

  1. Pingback: A quick note about the recent @TechCityIWD | One Size Fits One

Leave a Reply

Your email address will not be published. Required fields are marked *