Sure, it's great to decorate your lobby like Candyland. But any floor can decorate their lobby. We figure if you can't play Candyland, it's not worth it. Or, more accurately, we figure if you can't turn lobby decoration into a time-consuming technical project that prevents you from getting work done and puts your body at risk of physical injury, it's not worth it.
With that in mind, we set about turning our Candyland decorations into a life-sized, interactive Candyland game. You start the game and draw cards by clapping, and the winner - the most talented Canyland-er - gets a precious candy reward, dispensed automatically when you reach the final square.
The image on the upper-left demonstrates the overall layout. A PC was used to run Candyland and display a virtual representation of the game (upper-right). The game was built in OpenGL, using CHAI3D as a nice wrapper, to save time... and we did need to save time, because we blew all our time on the damn clapper, and only had about a day to make the game itself.
Players start at square zero (lower-left), and a few claps later, they're having a raucous good time (see Tal, lower-right).
The game was operated using "The Clapper". We all thought this product had disappeared around 1987, but it turns out you can still get them at Wal-Mart. The idea was to trigger the PC's parallel port using the Clapper... we hoped that we'd be able to use The Clapper without destroying it, and just turn on or off a power supply that would talk to the parallel port. But it turns out that there was a long annoying latency on our Clapper, and it also turns out that The Clapper isn't a very good product, and it takes some practice to turn the outputs on or off.
But there is an LED on the clapper that is pretty easy to turn on and off when you clap. So we decided to wire into The Clapper's internal logic and extract the clap signal directly, bypassing the 120V output. This turned out to be a huge pain, because The Clapper's internal ground floated relative to "real ground" (Dan discovered this the hard way) (ouch), so we had to run the output through an optoisolator. But because there was literally not enough extra current on The Clapper's internal circuit to properly run the LED inside the isolator (we only needed 5mA!), the output was really bouncy, so we had to put a 555 timer in to debounce.
A full circuit diagram is linked from the image on the left. This also includes the circuit for driving the candy-dispenser solenoid, discussed below.
The candy dispenser (left) was made of fun packing foam, and held a large bottle of M&M's. When a player reached the end of the Candyland game, the parallel port triggered a mosfet, which triggered a solenoid (upper-right), which pulled open a hinged piece of foam at the mouth of the M&M bottle. M&M's spilled into a chute and crashed into a metal bowl with a loud and enormously satisfying crash.
The circuit we used to drive the FET is included in the above circuit diagram, but I liked Augusto's original sketch so much that I decided to include it here (bottom-right). Something about the fact that he used a computer to make that sketch provides amusement.
Dan and Augusto spent a couple nights soldering away and happily abusing robotics resources to get the clapper working.
Dan, Jeff, and Augusto teamed up to make the Candyland game happen. You can see them here enjoying the final result. Jeff was the only one who knew how to work the magic knot that held the solenoid to the candy dispenser, so you can see him on the ladder working his magic.
Useful signage explained the game to users, summarized the technical underpinnings, and - most importantly - suggested that they not stick their hands inside the magic Clapper box. Insulation? What insulation?
As a final, totally unnecessary technical extra, instead of drawing the board for the virtual Candyland game (which had to match the actual floor layout) by hand, we took several pictures of the floor of the lobby, stiched them together to make a panorama, and un-perspective-distorted them to make the final image.