Real Life Pac Person debuted yesterday at the Burlington Mini Maker Faire. It must have been a big hit. :-) Rough numbers look like about 900 people played 350 games. A pure guess has them at 97% kids. Not too surprising – as adults we’re at high risk of forgetting how to play.
The game construction has been covered a little bit already. Three-quarter circle capes were sewn from canvas. LEDs were sewn onto the capes: yellow LEDs on a yellow cape for the Pac Person, and blue LEDs plus either red or green LEDs onto the black capes worn by the ghosts. Ghosts then were equipped with a Raspberry Pi (complete with WiFi stick) for smarts, and a smaller accessory protoboard was made with the aforementioned voltage regulator and a pair of MOSFETs. These MOSFETs were used to turn individual strands of LEDs off and on.
Construction was intentionally crude – I have a covert social science agenda around how people learn about technology artifacts on first exposure and how they manipulate it to their ends. Making it intentionally crude and exposed leads to lots of good questions, and sets up an environment where it’s safe to make suggestions.
Surprisingly, the rats nest of wiring holds up fine. Leaving the connectors on means there are places to disconnect things and plug in power supplies (to light the lights) or to probe the other side with a voltmeter (to show what the computer and the MOSFETs are doing).
Once you have the technology, you need masking tape. In this case, 180 yards of masking tape. Plus you’ll need a big space – setup was about 24 feet by 40 feet with an extension out to the side. This makes the play area sort of L-shaped. Not exactly faithful to the original game, but I think it makes it more fun. Being able to spread out and run is a good thing. Naturally, using blue painter’s tape makes the play area look a bit more faithful to the original.
Power Pills have been an issue since I started. I wanted to use some tall, skinny cabinets to hold a big battery, a junker laptop, and an easy button. The big problem has been a safety question – for one thing, I don’t someone running full-power into a hard structure in the middle of the game. Secondly, I need a lot of power to run the laptops for a whole day. I’m talking about car battery amounts of power. If that thing gets tipped over, I have a problem.
Solution: pink squares on the floor represent power pills, and when I see someone run over one then I press return on my laptop. The laptop is running a program that sends the network request to the ghosts each time I press return.
“Network request”, you say? Yes. Network protocol is HTTP over TCP/IP. Ghosts run the Apache web server, each network request is a GET request for a cgi program. The cgi program sends a unix signal (signal.h style) to a setuid executable that triggers the Pi’s GPIO pins. Software is a state machine that transitions between ghost states – body color, then blue, then flashing blue, then back to body color. At any point, a new cgi request can send a new signal that sends it back to the “I just turned blue” state and it keeps on chugging. Light timing is read from a configuration file (once per startup to save power-hungry flash accesses). Now that you mention it, yes I did tune game timings on-the-fly.
Some spectators were amused by being able to ssh into a ghost and tweak stuff on the fly. Or for that matter, ssh into a ghost and play Minecraft on there, while the game is running.