Watch Conway’s Game Of Life Flutter Across A Flip-Dot Display

Like many of us, [John Whittington] was saddened with the news that John Horton Conway passed away a little earlier this year, and in honor of his work, he added the Game of Life to a flip-dot display that he has been working on. The physicality of an electromechanical display seems particularly fitting for cellular automata.

Like what you see? If you’re curious about what makes it all tick, the display shown is an Alfa-Zeta XY5 28×14 but [John] is currently working on building them into a much larger 256 x 56 display. GitHub hosts the flip-dot simulator and driver software [John] is using, and the Game of Life functions are here.

If you’re new to the Game of Life and are not really sure what you’re looking at, [Elliot Williams] tells you all you need to know in his writeup celebrating its profound impact and lasting legacy. Watch the flip-dot display in action in the video embedded below.

Continue reading “Watch Conway’s Game Of Life Flutter Across A Flip-Dot Display”

John Horton Conway, Creator Of Conway’s Game Of Life, Has Died

Programmers everywhere are familiar with Conway’s Game of Life: whether they’ve written a version themselves or simply seen the mesmerizing action resulting from the cellular automata, it’s a household name in all homes where code is spoken. On Saturday April 11th, 2020 its inventor and namesake, John Horton Conway passed away from COVID-19 at the age of 82.

Born in Liverpool, Conway received his PhD in mathematics in 1964 from Gonville and Caius College, Cambridge. He accepted a position at Sidney Sussex College, Cambridge which he held until joining the faculty of Princeton University in 1987. A brilliant mathematician, he received numerous awards and was well known for his work in combinatorial game theory, group theory, and theoretical physics.

Many readers will be familiar with his Doomsday algorithm which can be used to deduce the day of the week for any given date in your head. But by far the rockstar mathematics moment of developing Conway’s Game of Life in 1970 cements him a perpetual place of legend in computing lore. His original work on the concept used pencil and paper as the computing revolution had yet to make digital resources easily available, even to mathematics researchers like Conway.

The game uses an infinite grid of squares where all of the edges of the grid wrap around. Four simple rules (which can be boiled down to three if you’re clever) determine which cells live and which cells die during each frame of the “game”. The only parameters that are needed are the number and position of living cells at the start of the game, and the delay between each game frame. But the effect of this simplicity is not to be understated. The game can be coded by a novice — and it’s become a common challenge in University course work. Small errors, or intentional tweaks, in the implementation have profound effects on behavior of the game. And the effect on the person programming it for the first time can be long lasting. You could call it a mathematics gateway drug, grabbing the curiosity of the unsuspecting mind and pulling it down the rabbit hole of advanced mathematics discovery.

We’d love to celebrate his life by hearing your own stories of programming the Game of Life in the comments below. If you haven’t yet had the pleasure, now’s a great time to take on the challenge.

[Game of Life example shown in this article is John Conway’s Game of Life – 1.0 written in Python by Nick Jarvis and Nick Wayne]

A Stylish Coffee Table Featuring Conway’s Game Of Life

Coffee tables are a great place to put your hot beverages, but most don’t offer a lot beyond that. For most people this is perfectly acceptable, but hackers often desire a little more. [Andrei Erdei] is one such person, who built Conway’s Game of Life into this handsome piece of furniture.

The build began with an existing coffee table, chosen for its glass top. Unfortunately, the top was painted black on one side, and was completely opaque, negating its use as a diffuser for LEDs. Instead, this was replaced with smoked glass, with frosted window film applied to make the final piece darker. This attention to detail allowed [Andrei] to install the WS2812B LED strips underneath such that they’re invisible when switched off. The LEDs themselves are run by a WEMOS D1 mini, based on the ESP8266. This microcontroller has plenty of grunt, which makes running the LEDs and the Game of Life code a cinch.

If you want to make something attractive and blinky, it’s hard to go wrong with Conway’s Game of Life. You can even use it to make a clock or a synthesizer; or build an entire game of Tetris within it. Video after the break.

Continue reading “A Stylish Coffee Table Featuring Conway’s Game Of Life”

Conway’s Game Of Life In HD

We’re going to have to take [Mike’s] word for it that he built Conway’s Game of Life with high-definition video output. That’s because this screenshot is his only proof and it looks a bit fuzzy to us. But we are interested in the project which used an FPGA to generate a 1080p VGA output of the classic programming challenge.

One of the biggest benefits of using an FPGA for this application is the hardware’s parallel processing ability. For every frame of the game, the area around each living cell must be analyzed to produce the next evolutionary step. Most of the time this means processing all of the pixels in the playing area, which is the case here. [Mike] is using VHDL to program a Papilio Plus which has a Spartan 6 chip on it. He separated his code into the different components when writing about it. This makes it easy to find the chunks relating to the game if that’s what you’re interested in. If you just want to see how he implemented the VGA interface that’s well documented as well.

If you’re not familiar, Conway’s Game of Life has simple rules regarding when a cell will live, die, or be reborn. As [Mike] points out, every programmer should give it a shot at some point. We’ve seen many iterations from the very large to the very small.

Needs More LEDs, EMSL Biggified Conway’s Game Of Life

Evil Mad Scientist Laboratories has proven bigger is better with their colossal LED table running Conway’s Game of Life. At the heart of the system is 44 ATmega164Ps controlling 352 LEDs on a 32×44 inch table; and to make it interactive IR LEDs detect the presence of objects.

The display is set up as an exhibit at the San Jose Museum of Art in tribute to [Leo Villareal]. To see a demo, catch a video after the divide.

Related: Colossal LED tables, and Conway’s Game of Life. Why has it taken so long to combine them?

Continue reading “Needs More LEDs, EMSL Biggified Conway’s Game Of Life”

A wooden frame with 64 green LEDs running a Game of Life simulation

Wooden CNC Sculpture Displays Conway’s Game Of Life

Conway’s Game of Life has been the object of fascination for computer hobbyists for decades. Watching the generations tick by is mesmerizing to watch, but programming the data structure and implementing the rules is also a rewarding experience, especially if you’re just getting acquainted with a new computing platform. Just as rewarding can be creating a nice piece of hardware to run the game on, as [SandwichRising] has just done: check out his beautiful wooden Game of Life implementation.

A set of PCBs implementing an 8x8 LED displayThe main part of his Game is a piece of poplar wood that was CNC routed to produce an 8×8 display adorned with neat chain-like shapes. The display consists of standard 5 mm green LEDs, but they’re not the things you see poking out the front of the wooden frame. Instead, what you’re seeing are 64 lenses made out of epoxy. [SandwichRising] first covered the holes with tape, then poured green epoxy into each one and waited for it to harden. He then took off the tape and applied a drop of UV-cured epoxy on top to create a lens.

All the LEDs are mounted on PCB strips that are hooked up to a central bus going to the main ATmega328P  microcontroller sitting on a separate piece of PCB. Whenever the system is powered on, the game is set to a random state determined by noise, after which the simulation begins. On such a small field it’s pretty common for the game to end up in a stable state or a regular oscillation, which is why the ATmega keeps track of the last few dozen states to determine if this has happened, and if so, reset the game to a random state again.

The source code, as well as .STL files for the PCBs and the frame, are available in the project’s GitHub repository. If woodworking isn’t your thing, there’s plenty of other ways to make neat Game of Life displays, such as inside an alarm clock, with lots of LEDS under a coffee table, or even with a giant flip-dot display.

An E-ink display showing Conway's Game of Life, with a solar cell beneath it

Solar Powered Game Of Life Follows The Sun’s Rhythm

Conway’s Game of Life is a beautiful example of how complex behavior can emerge from a few very simple rules. But while it uses biological terminology such as “cells”, “alive” and “generation”, the basic game is too simplistic to be a model for any real-world biological process. It’s easy to add features to make it a bit more life-like, however, as [David Hamp-Gonsalves] has done by giving the Conway’s creation something of a circadian rhythm.

The basic idea is that the speed at which [David]’s Game of Life evolves is governed by the amount of ambient light. The game runs off a solar cell that charges a battery, with the battery’s voltage determining how long it takes to advance the game by one generation. The system is therefore highly active in full sunlight, and grinds almost to a complete halt at night.

An ESP32 runs the simulation and outputs the result to a 400 x 300 pixel e-ink display. The display is extremely power-efficient by its very nature; the ESP’s main processor core, on the other hand, is deliberately placed into deep sleep mode most of the time to save as much power as possible. The Ultra Low Power (ULP) co-processor, meanwhile, keeps an eye on the lithium battery’s voltage as it’s slowly being charged by the solar cell. When the voltage reaches 3.3 V, the main CPU wakes up and computes the Game’s new state. In bright sunlight this happens every few seconds, while on an overcast day it could take minutes or even hours.

[David]’s interesting idea of changing Life‘s activity based on the amount of energy available turns the Game into something resembling a cold-blooded animal. We’ve seen a similar approach in a “solar creature” that runs a Life-life simulation on a seven-segment LCD. If it’s speed you care about however, you’re better off implementing Life in an FPGA.