Owen's Life Page

The 'Life' I mean here is Conway's Game of Life.

Links

There is no point trying to duplicate what others have already done, so here are some relevant links. A lot of these pages also link to each other.

The only problem with this approach is that some of these links sometimes stop working. If anyone reading this finds a broken link or has updated addresses, please pass them on. I have expanded the list to include some pages that were still there when I found that the ones I knew best had gone. I have hidden (if your browser understands the CSS) the links that were dead on 10th March 2003 but you can find them in the page source if you want to look.

Algorithms and optimisation

One of the things I find fascinating about Life is that a simple player is quite easy to write, but better data structures and algorithms give huge improvements in performance. Here are some links to notes on implementing a Life (or more general cellular automata) player.

A Personal History

1971. Martin Gardner's column in Scientific American. A school friend had bought a copy, and those of us who were interested in mathematical games were fascinated by the description of Life. Some of us were doing a little programming on whatever machines we could get time on, but the facilities were too BASIC, and there were too many other interesting programs to write, especially when we had mislaid the article and could not remember the rules.

1975. Doing the Computer Science Tripos at Cambridge University, we were set Life as an assessed exercise. I still have the original exercise instructions; (scans of page 1 and page 2 and a transcript). My solution was acceptable, but criticised for being too general in various places.

Poundstone's book "The Recursive Universe" suggested that home computer's are too slow and small - oh no they are not! The feedback from my assessed exercise suggested otherwise and reading this book triggered a series of implementations.

The Acorn Electron version - 255x255 universe, BASIC and assembler. A small universe on a small machine, but far better (faster, bigger patterns) than the suggestions in Poundstone's book.

InterLisp version of the same algorithm ran on a Xerox workstation.

I thought I ought to learn C so now that I had an Atari ST, work started on yet another version. This was eventually published as 'biglife' (unlike most(any?) other Life players for the ST, it could handle big patterns). You can still find 'biglife3' (i.e. version 3) at the UMich Atari Archives.

There are too many other good Life players for PC/Windows for it to be worth finishing off port to the PC that I started. I would still like to know how my data structure and algorithm compares in performance with the others, but available time makes it unlikely that I will take it up again.


My e-mail address as a graphic