Home | Work | Resume & Contact Info

GameBlocks & Containment

GameBlocks is a prototype tangible interface for use in the typical household. The constraints of the project were to create an interface that allows for the intuitive and novel benefits of non-standard interfaces such as AR, VR, surface computing, and in-air motion controls while keeping cost to the consumer to a minimum, requiring reasonable equipment, and keeping a need for technical expertise to a low. By using Goblin XNA, an AR library designed for the XNA game library, it was indeed possible to create a fiducial based tangible interface.

The game Containment was created to demonstrate the system. Containment is a three player game where the goal is to capture dots of your own color while avoiding the dots of your opponents. The winner is the player who captures 10 dots first. Provided on this page are the various pdf files containing the fiducial markers needed to play the game, the software to run the game, and my documentation for the project.

Software setup

1) First, install the XNA redistributable found here.
2) Then, install the .NET 3.5 framework found here.
3) Next, install OpenCV 1.0 found here.
4) Now download and extract the game and tools here.
5) Print page 9 of this document and place it on a flat and well lit surface.
6) Plug in your webcam, wait for it to finish setting up with windows and then open CamCalib folder that was in the zip file.
7) Find the file named "samplecamcalib" inside CamCalib and follow the camera calibration tool's on-screen instructions.
8) When the camera calibration is complete look in the CamCalib folder for an xml file named calib.xml.
9) Open the folder named Containment that was in the zip file and move calib.xml there. Windows will tell you you're about to overwrite a file, do this.
10) When you're ready to run the game look for a file named GameBlocks - V2.exe and run it.

Printing the Pieces

1) First, print out the game board found here.
2) Next, if you like, print out the border sheets to go under the game board found here. You should tape them together roughly at the edges of the pages to be accurate.
3) Then print off the handle markers found here. Each marker should be cut out of the sheet and should have some white space around it so that it is roughly 1.5-2" square.
4) Finally print off the end turn markers found here and cut them out on the dotted line.

Playing the game

For a visual instruction sheet click here.

To reiterate, the purpose of the game is to capture dots of your own color while avoiding those of your opponents by placing your three handles in such a way that they form a triangle that contains the dots at the end of your turn.

1) Start the game by running GameBlocks - V2.exe found in the folder labeled Containment.
2) Place the game board marker sheet down on a flat surface with the camera suspended at such a height that the game board fills most of the screen.
3) To hang the camera I suggest unraveling a wire coat hanger and bending it into a hook shape. Then hang the camera by the hanger and hook it over the side of a floor lamp shade. Alternatively, you can do like I did in the image on the right and actually attach a webcam to the inside of a lamp.
4) Each player should place one of their markers under the eye of the camera to start the game.
5) When this happens three colored dots will appear and the background and border of the game board in the on-screen world will change to the color of the current player's turn.
6) This player should place their first marker down and then either use the end turn markers to end their turn (take the current one off the board and replace it with another) or by pressing the space bar.
7) This will end the current players turn and then change the color of the background and border to the new players turn. This process will repeat throughout the game.
8) Once you have three pieces down you are ready to begin capturing dots by manuvering your handles so that they contain the dots you want to captur and then ending your turn.
9) When you end your turn for each dot of your color you capture you will receive one point and for each of your opponent's you capture you will lose a point and they will gain a point.
10) The game ends when one player reaches 10 points.

back

Images

Video (Youtube)
Video 1
Video 2

Documentation
Project Proposal
Executive Summary
Design Document
Demo Day 2010 Poster