This story begins at 12:30 pm on Wednesday I’ve just left my friend Bex’s house. She’s has a Milton Bradley Simon Game in her bathroom (and why not… its better than Pictionary). And now I’m driving home from San Francisco to Los Angeles, reflecting on the fact that the eighties are over and I still suck at Simon.
And as I’m contemplating six hour drive ahead, I wonder if I could make a really big version of Simon. That four people could play together. Because then it should be one quarter as hard, right? Also, I’m attending Mindshare the following night, and I hate to come empty handed. Can I do it in 24 hours?
What I end up building is the following: Four DMX lights are on a light tree in the corner. Each light is programmed to light up in one of four colors (RGBY). Each light is focused on the foot pad of the appropriate color. The lights flash slowly in “waiting” mode until a foot switch is pressed. Then, the machine lights up a single pad (by illuminating it from above.) It also plays the appropriate Simon sound. It then waits for the players to repeat the pattern back. If they’re successful, it repeats from the beginning, increases the number of cues in the pattern each time until someone messes up. When they mess up, I play a horrible noise and use the lights to try to induce an epileptic seizure.
The Making Of NotPocketSimon
This project was imagined in the car on Wednesday, and completed by the next evening. I even got a good night’s sleep and went to work. On my way home, I diverted down the 405, stopped at Osh for materials, AllElectronics for better limit switches and Guitar Center for two more DMX LED Par Cans. I got in just before they closed. By 8:30pm I was home, and the clock was ticking.
The foot pads are the first thing to be built. They’re constructed of wood: rounds of wood joined to 6″ wide baseplates with a hinge. On the end opposite the hinge, there’s a contact switch. The two parts are insulated with foam to prevent the switch from being smashed.
The hardware is constructed in two hours, and while the paint dries I’m messing around with electrical. The limit switches are wired to a Phidgets interface board I had lying around. MacOS X driver support for Phidgets has improved since last time I used them, and there’s even a Python API and sample code available on the website. I know I had to write that from scratch last time…
I’m using DMX controlled LED Par cans from Guitar Center. I’m using an ENTTEC USB-DMX controller as usual, and I can drop in the DMX controller code I wrote and I’ve used in so many recent projects.
I sleep. This is not worth an all-nighter… not even close.
With eight hours before doors, I start writing the brains of the operation; the Simon Game state machine. I write a very simple Python FSM engine (I love Python introspection) which makes writing the actual state machine is as easy as it ought to be.
I fix syntax errors. I am surprised to find that it works almost immediately. The patron engineer of Computer Programming is on my side today, and there are no major bugs.
And before I know it… I’ve got a finished piece. Elapsed wall-clock time: 22 hours. Actual work: 8 hours.
I disassemble the whole thing, pack it in boxes, and transport it to the venue, and reassemble it.
And the highlight of installing this piece at Mindshare was that Nolan Bushnell who invented the damn game (originally called TouchMe at Atari) was in attendence and had nice things to say.