I found that this was an unusual process. To date I have been deeply immersed in most of the games that I have collaborated in. The closest to this was my involvement with “Valour” where the programmers went in hard to start with, set a lot of things up and then had much less contact with the designers as they advanced their ideas through the game play.
To even mention “Valour” send shivers down my spine and it is not a comparison to the final product of “Be Brave”, created by Savik Fraguella. My involvement was even less, in the scheme of things. I created the software to get Unity to accept an incoming pulse beat from the wearer and feed that pulse rate into an system that would emit a “Fear Factor” rating that Savik would then be able to use to influence the content of his game.
I quickly, over the space of about 2-3 weeks, completed this task and handed it off to Savik to await any problem that might emerge. There was one situation where the program would quit and then restart as the level was changed but this was quickly over come by making it a persistent singleton that could start during the main menu and then remain through the levels but destroy itself when either quitting, or completing the level(s).
Savik, at one stage, did borrow the equipment needed to test the game, but he either didn’t install the FTDI drivers, or there was a problem installing them. I referred him to my blog post regarding the project for installing them.
As we got closer to Open Day, where the game would be displayed, I regularly checked with Savik if he wanted the Arduino to test the game, but he wasn’t interested, focusing on the art work of the game. It wasn’t until the day before Open Day that I realised that there were some problems.
The pulse rate wasn’t getting through to the build of Unity. It still processes the information quicker in Unity than in the build but that is another story. I narrowed the information coming into Unity in order for the information not to clog the ability for the build to run. Instead of collecting all the information, I narrowed to Arduino to only send information that I could use, which was the actual beat rate.
Video showing the Pulse rate through a simple GUI and the Fear Rating being influenced by the pulse rate. (I must apologise for spelling “Serial” wrong)
With some help from my tutor, who performed some Unity black magic, I was able to get the build to work properly. When I find out what black magic was performed, I will amend this post with the information.
Savik showed some quite advanced scripting skills that impressed me, both with him knowing that they existed in the first place, and with the application in a game setting. Using Pims Algorithm to randomly generate a level so that the exit was not close to the entrance was among the concepts that I found interesting. I would do well to sit with Savik and discuss how he came to implement them and other ideas such as, apparently, using the fear state to assist in the generation of the level.
What I have learned through this project is not to adopt a “set and forget” mentality. By remaining closer to Savik as he progressed through the making of the game, I would have been aware of the problems with my component much earlier, and I also would have gained a better understanding of how he utilised and adapted those scripts that left me with a positive impression.