Ever since I discovered John Conway’s “Game of life” I have been obsessed about the interesting patterns of such a simple algorithm. A few weeks ago I decided to design a USB toy capable of running the game of life on a tiny 8×8 LED Matrix. This is what I came up with.
Since most of the stuff I used is easy to find and not very expensive, I decided to share the diagrams and the code so you can build your own Game of Life. The Arduino code is available here. I got the parts from adafruit for $17 + shipping (I didn’t buy an Arduino)
After wiring it, your project should look like this
Upload the Arduino sketch and repeat the following for next 5 hours: Stare, push button, stare, push button, stare, push button.
The cool thing about this project is that you can pause the evolution by pushing the rotary encoder. Then you can go through each step (“tick” for those who know their automaton) until you find a stable universe or extinction. Currently there is no backwards evolution but I am planning to implement it on the next update using memory to store the last 10 Universes.
When I first came across the mathematical simulation John Conway’s Game of Life I played with it for hours, constructing all sorts of weird and wonderful creations that seemed to mimic nature. The Game of Life was the Minecraft of my generation; an elegant, 2D, monochrome, zero-player, non-social version of it. From such simple rules, emerged what looked like “life”: self replicating structures that interacted with the chaos of the canvas. Over the last few years, I’ve been thinking of the variations of the Game of Life and will explore them in the post.
I was able to solder up and complete the Game of Life kits in time for display at the IEEE’s booth at the Seattle Science Fair. The event was a success, with the goal to attract children and the young at heart to see something cool and ask questions regarding the world of electronics. Two parents asked where we purchased the kits and I gave them the Adafuit’s name and website.
The actual video is exported from Golly using a custom Python script: http://pastebin.com/8vVGCgKE (since Golly built-in only supports rendering the view with a scale which is a power of 2, for performance reasons – this is not a particularly well-optimised or fast script to run).
Two years ago we designed an interactive exhibit of Conway’s Game of Life for the San Jose Museum of Art. The hardware that we used for that project eventually became the basis for our Octolively interactive LED kits.
We’ve recently had occasion to revisit our Game of Life project, and to build an all-new version of the museum exhibit. Along the way, we’ve rewritten the firmware from scratch and added a number of features. And today we’re pleased to announce the result: our new Interactive Game of Life Kit.
Although I know better than to call any project really ‘finished’, I’ve got my Game of Life array all set up, in a nice frame / enclosure, and with a silly complicated over-engineered way to turn it on and off by remote control.
Not the TV remote control that I had done before… that worked ok was imprecise, didn’t allow for finite control, and was succeptible to interference (spuriously turning on all the time actually.)
What I’ve got is 20 Game of Life kits assembled into a 5 x 4 array. This is roughly 20″ x 16″ in size. It’s mounted inside a wooden enclosure / frame, with a dark green acrylic front panel. The entire display is mounted on a wall in my livingroom.
In addition to the boards all being connected together normally, I’ve tied all their control buttons together so a single signal can turn them all on or off at once. This switching is handled by a PN2222 transistor. The transistor is driven by an Arduino Pro Mini, which in turn receives its commands through an XBee.
The commands originate from my DIY Thermostat across the room, which is now also XBee-equipped, and has some additional code that tells it when to turn the Game of Life on and off. The timing is based on the day of week and time of day, essentially meaning that while I’m home the GoL will be running, and while I’m at work or asleep it will be off.
There’s some code as well which lets me send the on/off commands through the network, which the thermostat relays to the Game of Life. And finally, a push-button on the thermostat can control the Game of Life, should I need/want to manually operate it.
I’ve done a more detailed write-up of the whole thing on my blog.
The IEEE Student Chapter at Seattle University created this terrific 5×5 Game of Life display to hang on the wall. aerohoff writes:
Fall 2009, as a senior at Seattle University, I was disapointed with the lack of soldering in my electrical engineering courses. As the co-chair of the IEEE student chapter, I organized a soldering workshop where each student got to solder together one Game of Life board. We connected all the boards together on a display board that will hopefully get put up on a wall somewhere. We got 25 of them together and into a 5×5 grid. The paper on the right explains the rules of Conway’s Game of Life and explains how the board came to be.
This month we’re looking at the Game of Life kit from adafruit industries, the team that brought us the SIM reader and other fascinating things. This kit is simple to construct, yet interesting to watch in operation, almost mesmerising. If you love blinking LEDs, this is the kit for you. Furthermore, it is very easy to construct which makes it a great kit for someone who is learning to solder.
The concept is a wearable version of Conway’s Game of Life, that is controlled by the current state of your life. Essentially, a wearable extension of your heart, externalized in the form of Conway’s Life. A custom circuit includes an infrared EKG monitor that resets the Game each time a heartbeat is detected. Heartbeat data is analyzed by a hackduino which resets an ATMega48 chip, part of Adafruit’s kit controlling Life, which is embedded in the chest of a hoodie. Conductive thread is used to connect the 16 LED matrix to the circuit board which is kept in a pocket towards the bottom of the hoodie.
I had been looking for an excuse to get something from ponoko.com so I made a bezel for my 2×2 matrix of game of life boards. It came out pretty well for a first effort and I’m pretty pleased with it (if I do say so myself). If anyone is interested in making one let me know and I’ll send you the svg file. I made mine from the 0.12 clear acrylic but it doesn’t need to be that thick – if I were doing it again I think I’d use the 0.08 clear.