Eye Snake - Conclusions
We met and accomplished most of our expectations - a game of snake of increasing speed and length with different fruits and multiple levels controlled by the eyes. We also added sound and a menu, which we initially had not planned to add. However, we were unable to get the fidelity of the eye controller to the level we desired. No matter how we tried, the signal the MCU received had a tendency to eventually go flat for some people some of the time. Other times, electrodes would come slightly loose and provide a weak or unsteady signal.
In the future, we would like to try implementing the voltage to frequency converter followed by an optoisolator and then a frequency to voltage converter back and see if that would fix the baseline drift problem because the optoisolator takes in square wave pulses much better than the varying EOG signal.
If we were to find some way to improve the fidelity of the signal into the MCU, we could change the menu to be operable solely by the eyes in the eye mode.
Also, now that we know how to capture eye movement, we could use eye movement to control other games, or to capture more advanced effects, such as the rolling of eyes or blinking.
The only standard we used was the NTSC (non-interlaced) standard to generate a signal to the TV.
The few resources we copied (power schematic, Tv video-signal generation code) are both in the public domain. We do not know who (if anyone) holds the copyright to Snake, but given the prevalence of independent versions of snake avaiable on the web, we do not believe our game violates any copyright.
In developing the game, we remained consistent throughout with the IEEE code of ethics. While not all points in the code apply to our situation, the following points do stand out:
1. Our project involved a slight chance of electrail shock to our test subjects from feedback from the electrodes. We made sure to inform all of our test subjects of this danger before putting the electrodes on them and connecting them to the circuit. We also took precautions to reduce the possibility by optoisolating the electrodes circuit from the MCU.
3. We understand clearly the limitations of the game and openly disclosed all of our results, whether positive or negative. While our project did meet, and in some ways even exceed, most of our exceptions, there are points in the project that are still imperfect and could be improved on.
5. While testing the game with our test subjects, we also explain the basic theory behind the use of electro-ocular potential to control the snake. In addition, we also provide an entire walkthrough of our design, design process, and a clean and commented copy of the source code.
6. We split the tasks initially based on who was more qualified in what - Theo in software and Di in hardware - and though the distinctions remained for the entire project, we also both strove to understand the other side. Those little bits of acquired knowledge came in handy in cases when the other person was absent or involved with other stuff.
7. We openly seeked assistance from other people when we encountered problems and always considered suggestions from others, though not all suggestions were enacted. In addition, we tracked down and fixed the majority of our bugs, though there were a few rare ones that we have not been able to consistently reproduce and thus have been unable to track down.