Interactive Game of Life Kit

Game of Life 6

Game of Life 4

Game of Life 12

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.

Game of Life 11

The Interactive Game of Life Kit is based on the Octolively hardware, with the addition of a crystal oscillator (which is necessary for communications between neighboring modules). This release “closes the loop” in a sense, as the new firmware allows the Octolively hardware to return to its original design purpose; The name is a play on “Octo-” for 8 LEDs and “Life.”

We’ve made a demo video to show off the new kit:

(The video is embedded above. If you can’t see it here, click through to view it on YouTube.)

Game of Life 5

Each Interactive Game of Life kit module has edge connectors that allow it to communicate with its neighbors to exchange data about the states of neighboring cells. Each module sends data to its four neighbors over a single “broadcast” signal, and receives data individually from its four neighbors on four separate input lines.

This is the scheme used by the Dropout Design/Adafruit Game of Life Kit. The differences, of course, are that each Interactive Game of Life Kit module is huge at 4 × 8 inches and features individual sensors at each LED location so that you can interact with the system, just by waving your hand over it.

Game of Life 7

The kit modules synchronize themselves so that they can communicate amongst each other and update their states (nearly) simultaneously. To do so, one module is designated the “master,” which acts as the global metronome and generates the main sync pulse for the array. The “master” board is normally the most “southeastern” board in the array of modules (with a particular convention for the orientation). The Game of Life display does not normally wrap around the edges of a given set of modules, however it is possible to create wrapping by connecting modules in a full circle (or by connecting wires to the edge connectors as though they were wrapped in a full circle).

It is possible to override the automatic position detection through a built-in menu system and force a given board to always act as the “master.” This makes it possible to build wrap-around arrays, even though there is no “most southeastern” board in a array with wrap-around topology.

Game of Life 10

Game of Life 3

For larger arrays, you can (again through the internal menu) designate one or two modules to act as “control pads” that execute commands like “Step,” “Run,” “Pause,” or “Clear.” The default step speed when in “Run” mode is normally 1 step per second, but pressing “Run” again advances to 2 or 4 steps per second.

For smaller arrays, or for larger arrays where you do not want to waste “real estate” on control pads, you can skip that area entirely. Each module includes a single button that can be used for simple controls as well. On the “master” board, press the button to run/pause, or hold it to clear the array. On a non-master board, press the button to cycle between speed modes for the array, or hold it to fill the array with random data.

The Game of Life kit modules can automatically detect simple idle conditions, including period-2 oscillations. Through their internal menus, they can be configured to automatically fill with random data after idle for a minute.

Game of Life 8

And of course, it looks great once you start stringing a lot of modules together.

The new Interactive Game of Life firmware is available at GitHub.

The Interactive Game of Life kit is available now at our webstore, Evil Mad Science.

1 thought on “Interactive Game of Life Kit

  1. How can you ever get enough modules? I would want to cover an entire wall – at the very least.

Comments are closed.