16K LIFE - A tribute to John Conway

People are still making stuff for the Sinclair related machines. Tell us about new games and other software that runs on the Spectrum, ZX80/ZX81, Pentagon and Next.
Post Reply
User avatar
MonkZy
Manic Miner
Posts: 279
Joined: Thu Feb 08, 2018 1:01 pm

16K LIFE - A tribute to John Conway

Post by MonkZy »

16K Life is an 8-bit 'Conways Game of Life' simulation.

Earlier this month John Horton Conway passed away. I had not played his game since 1984 when I had played Life from the Horizons tape bundled with new Spectrums. Life simulations are still incredibly popular with a whole wiki dedicated to the subject. The two simple rules allow the creation of autonomous 'cellular' systems.

1. If a live cell has exactly 2 or 3 living neighbours it continues to live.
2. If a dead cell has exactly 3 living neighbours it will become alive.

All other cells will die.

From these simple rules huge systems have been created. A most impressive example is a Life based digital clock and also a programmable calculator that can determine the fibonacci sequence. Mind blowing stuff and proof that Life is a turing complete system. John must have been very proud that his game was still being studied 50 years after its invention.

As a tribute I created 16K Life.

16K-Life-v1-3.tap

Image


INSTRUCTIONS


The game grid is 44 x 50, of which 36 x 42 is visible. A true game grid is infinite in size, this would be difficult to simulate on a micro with only 16K. In 16K life there is a four cell border outside the visible grid. The grid is surrounded by dead cells which are not effected by game rules. This at least allows gliders and other small spaceships to cleanly exit the visible grid. This was a design choice, early 8-bit Life software often wrapped the grid edges to create infinity. On a small view window, like 16K life, a wrap-around grid quickly gets filled with gliders that leave the screen at 45 degrees.

The game should run on all ZX Spectrums. On 128K machines the game must be run from 48K mode due to the use of 20 UDG's on the generation counter 'LCD'

Controls

The menu and editing screen use the following keys :

5 - Left
8 - Right
7 - Up
6 - Down

0 - Select/Flip cell state
Space - Exit edit mode

On later ZX Spectrums the cursor keys can be used for directions.

Menu Options


Edit

In editing mode you can alter the cell state of the visible cells. Use the cursor keys to move the cursor. The 0 key will flip the cell state of the highlighted cell. To exit the edit mode press space.

While in edit mode the game grid can be dumped to a ZX Printer by pressing the P key. The printed grid is in 'plaintext' format.

Preset

The preset option cycles through some interesting formations that have been discovered. Some date back to the 1970's, some are recent discoveries such as 'Copperhead' a small spaceship discovered in 2016.

Clear

Clear resets all the table cells and clears the screen

Start

Start begins the simulation. Holding the 0 key will stop the simulation. One generation can be observed by selecting start and keeping the 0 key pressed.
Ralf
Rick Dangerous
Posts: 2289
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: 16K LIFE - A tribute to John Conway

Post by Ralf »

very nice looking.
Andrew771
Drutt
Posts: 42
Joined: Mon May 04, 2020 9:59 pm
Location: Moscow, Russia

Re: 16K LIFE - A tribute to John Conway

Post by Andrew771 »

Super! Finally played on the Spectrum.
In the 1990s, I also wanted to write Life in assembler, but I didn’t master it then.
Coder of ZXOOM, Euphoria 2D, ZX Like Pascal, Russian Railway Magnate...
Post Reply