Using the EmoKey I am now successfully able to control the game using my mind.
The EmoKey is a tool to map the EmoStates into keyboard inputs.
It can use combinations of keys or any of the keys on the keyboard.
To set up the EmoKey, you have to create an EmoKey mapping. The EmoKey mapping has a couple parts to it. First, you should add the "rules". By setting up the rule you name the command and choose what keyboard input will correspond to your command. For example, if you want to replace the space bar in a game with input from the headset, you would add the spacebar as the "rule". The "behavior" of the key allows you to choose whether you want activating the key to hold down the key or not. The "connection" that goes with this "rule" is what you want the command to do. For example, if you want the spacebar to make the player jump, you would choose "lift" in the drop down menu. The mapping connects to the control panel rather than the neuroheadset or EmoEngine so that it is possible to set it up with different/certain users and to configure the settings before using it. The "value" of the connection allows you to control how easy it is to activate the key. A lower value would mean it takes less power to activate the command.


A couple things I ran into when using the neuroheadset to control the game:
- Sometimes the EPOC randomly crashes and I don't realize this while in the game, so I keep trying to move the block without realizing the signal has been lost.
- Setting up the input to replace the keyboard keys in the control panel instead of in the EmoKey does not give an option to save, while the EmoKey does. (Mapping will be lost when the control panel is closed)
- Setting up the space bar to correspond to "lift" unintentionally triggered the fullscreen option in the Control Panel.
Next, I redesigned level 2 of the game. Previously, when I reduced the game to only one command, forward, it was too easy to to win and it would only be a matter of time before you would get to the end of the game.
In order to make the game more easily playable, I reduced the game to two commands, forward and up (or fly/lift). I changed the game so that there are now spaces in the floor plane. Since the player can only move forward, I also made it so that all the goal blocks that won the player points and the final goal block would be in a straight line. However, to make the game more interesting I incorporated the command jump by making it necessary to jump over the breaks in the game plane or else the player would lose. In addition, I moved the goal blocks up so that the player would have to jump to reach them as well.
The game now tests the players ability to command 2 different commands at the same time, since it is necessary to not only move up but up and forwards. In addition, the player has to control how much they move forward to avoid falling into the next gap in the game plane in front of them.
View of game from side
Game view
Finally, in order to make it easier to see where exactly in the game the player is (difficult originally to estimate depth because of the perspective), I attached the camera to the player so that the camera follower the player as it moved.