About Super Spray
Super Spray is a senior design project designed, engineered, built, and programmed by us – Adrian Guzman and Jared Haren during the 2010 – 2011 academic school year. We are both Computer Science and Engineering (CSE) majors at the University of California, Irvine. Students must design and build a project that takes advantage of hardware and software and complete the project in roughly six months.
Originally we knew we wanted to do a project with image recognition, networking, and we even thought about using mobile phone integration. We had various ideas for projects. These included using cameras to count cards in blackjack style games, making a virtual blackjack game, playing games with mobile phones networked to a central server, and more. One thing led to another, and our project evolved. We moved to the game category, and kept image recognition. The difficult part was how to include hardware in a useful way. All of these things combined into something new.
It became Super Spray.
Super Spray is an interactive game in which the player is holding a custom built hardware peripheral – an embedded system. This peripheral is a “water gun” that has sensors and peripherals attached to make the game experience fun and unique. The gun, instead of shooting water, has a laser that indicates where the player is aiming. Our game is a piece of software written in C++ using OpenGL (graphics library) and OpenCV (image recognition library) running off of a regular desktop computer, and being displayed on a projector. There is a webcam connected to the desktop computer and pointing at the projector screen.
When a player aims at a target and pulls the trigger, they will feel vibration from two 5v DC motors pulled from an old Sony Playstation controller giving them feedback from their shot. A signal is sent wirelessly via bluetooth from the gun to the computer, telling it that the trigger has been pulled. Upon receiving the signal, the computer will combine the OpenCV image recognition library with the input from the camera to “see” where the red laser is on the projector, and will check to see if a player has hit their target. The player also interacts with a side mounted LCD screen on the gun that serves as a “HUD” or heads up display, showing the current score, time left, and the player’s ammo. The player can even reload by pumping the water gun, which is detected by an accelerometer. The gun is all running off of an ATmega32 microcontroller, and written in C.
Thank you for checking out our project. Feel free to follow our weekly updates. Don’t be afraid to go back to where the journey all began and watch the progress as it happened.