The Edison Reaction Timer (RT) game is a multi-player wireless console game. The objective of the RT game is to hold a push button down at the start of the game and release it when an LED on the console lights up. The console has an Edison module which calculates the player’s reaction time from the turning on of the LED to the release of the button. The players get three trials and the lowest sum of the scores defines the winner. Anyone caught cheating is disqualified in that round and severely penalized. The scores are calculated on the Edison attached to the console and sent to the server (a PC in our case) via built-in WiFi. The server manages players entering and leaving the game. It also displays the individual player scores on each of the rounds on a big screen and announces the winner. A Gen2 Galileo was our WiFi hotspot. The server and each of the consoles were connected to this hotspot.
We also have the Edison play in “Robot-mode” if there are not enough players. It can also play by itself in 2-4 player mode for the demo without any human players. In robot mode, a random delay is used for the robot player’s reaction time to be fair to the human competitors.
The console game was originally built by Mikal Hart (mikalhart) on Gen1 Galileo without the WiFi capability and was displayed on Austin Mini Maker Faire in May 2014. Shown below is a picture of enthusiastic players from the Austin Mini Maker Faire.
Moving to Edison from Galileo was pretty simple. The Arduino sketch could run on either platform without change. We added the wireless capability by using the Linux networking stack directly in the sketch and wrote additional code to interact with the server on Windows. In addition we wrote a new game interface which included audio, video, and graphics that enhanced the gaming experience. This project was showcased at the IDF 2014 Edison demo booth. Here is a picture of our setup from IDF.
For the IDF project we used the Arduino expansion board for Edison. However, a custom printed circuit board with the Edison module with its built-in WiFi would bring a small form-factor to this console. Further, we can have the Edison module replace the PC server as it has enough on-chip memory and processing power to support our requirements.
We experienced quite a lot of WiFi interference at IDF where the WiFi channels are occupied with large numbers of hotspot/access points impeding the network response time. This directly impacted the gaming experience and in the future, we plan to try pairing the console to the server via Bluetooth, or dynamically adapt to use less busy channels.
We attempted to extend the game connectivity to smart phone users but were unable to complete the development prior to IDF. We identified response timer differences which favored the dedicated hardware console over the application running on the smart phone.
We see this project as a precursor to open source hardware and software wireless game proliferation in the Intel Edison community or any IoT application where realtime or near realtime responses are important (ex. driver response monitor).
Edison RT Team
PS: The source files attached in 'release.zip' file. The audio and video files are not included due to file size restrictions.