What happend before:
A few weeks ago, on the 17th of April I did attend to the first european neurogame jam which was an event about creating games utilizing the ability to read brainwaves through an off-the-shelve eeg neuro-headset such as the Emotive Epoc.
Sadly the timeframe that was set for that game jam (just a couple of hours) was way to short to actually build something, so we ended up having Jens and Iris do their presentations – which tought the rest of us about how the technology works, and the basics about the toolchain Iris created. After that we spend most of the time coming up with and discussing ideas and aspects of what one could do with this technology, while some of us did give the devices a spin, and we had some fun comparing brainwaves – but in the end we didn’t have the time to actually build something.
Also there is still a few problems with the technology – the two main points probably are:
- While the machine learning that Iris build into the toolchain works extremly good, it has to learn all commands that can be used with in a game for every user, every time it is used (as taking off and putting it on again might already change what the device is picking up from you) – this means games build upon this would still have a ramp up time of 10+ minutes from “I want to play” to “I can play now”.
- Latency is too high.
I left having had a good evening with some very interesting discussions, but I thought the next time that I’d hear about the technology would be in a few years when it is more ripe to work with it, and more devices are available.
So how did I end up building a game?
A few weeks later Iris contacted me, as she for the evaluation of her work still needed someone to implement something using her toolchain.
Now the catch: the toolchain is build for unity3d, which had very little experience with – but the invite was still standing, so last Monday I visited her at the teco and after a short refresh on what i had learned during the first european neurogame jam, we set to build the game.
Knowing from the game jams that i’ve been to that time is extremly valuable, and knowing that not knowing unity would cost me some time, I set myself the following goals before thinking about an idea:
- the game must be completely playable
- as the game should have a quick “let me try that out” experience, doing a long learning-phase was a no-go.
- asset creation? uhm.. not with less than 6 hours left
So i came up with a very very simple game – the character of the player is a simple ball which needs to get from the floor to the ceiling, using a set of steps – where some steps are white, and some steps are black. The ball would fall/jump through white steps, while it could stand/move on black steps.
Now the controls for movement would be regular keyboard commandos (to avoid frustration factors like learning phase for the user)
The twist? To get up to the ceiling the player needs to switch the colors of the steps. The control of changing the colors is linked to the game using Iris toolchain to watch the brainwaves of the player, and find the very distinctive pattern that happens when someone blinks. Whenever a blink is registered the game then changes the colors.
So to win the player needs to jump from step to step, blinking in the right moment, thus allowing him to reach the top.
The main problem building it was my unfamiliarity with unity, but since unity is using c#, at least i didn’t have to learn an unfamilliar language. (I think what took me the most time was actually trying to figure out how to color the objects. And what did also cost me some time was that changes done while the game is in “play” mode are forgotten afterwards).
Well in the end the game worked, and we had quite some fun trying it out – multiplayer (or extra-hard-mode) is when one does the jumping and the other the blinking ;)
So where can you see this game?
Well that is a bit of a problem at the moment, even if I’d provide a download, you would need the toolchain Iris build as well as an emotive epoc headset (which is quite expensive).
So the best I can offer is this video: