We got the Neurosky Mindwave because measuring emotions sounded really cool. We found out it’s really good at knowing when you blink, so I thought it would be a great idea to connect it to SCP Containment Breach.
There’s basically three parts to getting this done:
- Disable automatic blinking
- Connect Mindwave to computer
- Blink in the game whenever Mindwave detects a blink
I thought SCP’s debug console would let you disable automatic blinking, but it only knows how to teleport you, put you in godmode, and everything except blinking really.
Then I found out SCP includes the source code with every release (since v0.6.5). I looked in the Main.bb file and found blinktimer. I could easily disable it.
SCP is written in Blitz3D using the FastExtension library.
The hardest part was getting the source code to compile correctly. This page told me everything I needed to know.
First it didn’t compile because I didn’t put the FastExtension library’s decl and dll files in the Blitz3D folder. Then it would compile, but every time I ran it, it gave me a Memory Access Violation. Then I found this page saying you need to have exactly Blitz3D v1.106. The first page said that too but I didn’t believe it.
So it finally compiled and ran. Writing code in Blitz3D is a nightmare (for me anyway) — typing a character takes 5 seconds for the IDE to reflect the changes. Searching takes just as long. But I finally disabled blinking and it actually works. My no-blink version is here (for SCP version 0.7.1).
The next thing I have to do is connect the Mindwave to my computer, and historically it’s proven to be a nuisance. It took forever to download the MindSet Development Tools and I’m not even sure it’s the right one but once I physically have the Mindwave again I can test it out.