Midget Crash!
The idea:
We wanted to create an interactive game for our project. After some brainstorming we quickly
decided that we wanted to use the webcam as an input device. We thought of some different
type of games (for example a Mario-like platform game where the user would draw the level),
but eventually we thought; how about some kind of drawing game? Everyone, or at least almost
everyone, knows a tablet, has seen one or has even used one. The tablet is pretty easy to get
used to (our usability study showed that), so we wanted to create something similar.
The game:
Our game takes the drawings of the user as input (registered with a webcam) and "imports" those
drawings in the game. The game consists of two planets, called Midgeton and Midgeteria, the last
one being the larger one with trees, and midgets walkon on those planets. The goal of the game
is to kill all of the midgets by drawing shapes (being rectangles or triangles) above the planets
so that gravity will do its work and crushes the damn midgets!
To give the user plenty of time to draw the shapes we implemented a sort of start symbol. Basically
the game checks the bottom left corner of the webcam feed for a shape, if it is found, the rest of
the screen will be scanned for shapes to import. If nothing is there, nothing is done. Simple as that.
Game setup:
To play the game you will need the following:
- A webcam
- A tripod (to hold the webcam)
- A whiteboard (for the drawings and easy erasing)
- Linux (because Windows is evil)
Technical details:
We used the OpenCV library (in Java -> JavaCV) to implement the shape detection, with many additions of our own.
Also, for the best and realistic experience we developed our own physics engine, which took us much time to perfect.
However, when you consider about using the OpenCV library for detection algorithms, don't. Just, don't. Our word of advice, for free.