Game Of Life, John H. Conway

dwight dkelvey at hotmail.com
Thu Apr 30 19:27:11 CDT 2020


A number of fun things to play with in Life. Most of these have to do with edge effect and geometry. The simplest is to just have stuff disappear at the edge. You can fold side to side and top to bottom. This is where interesting things happen with changes in geometry of the game. Also, on the wrap, you don't have to wrap straight, it can be shifted.
Also making larger play fields that one can shift onto, is another option.
Dwight

________________________________
From: cctalk <cctalk-bounces at classiccmp.org> on behalf of Liam Proven via cctalk <cctalk at classiccmp.org>
Sent: Thursday, April 30, 2020 4:02 PM
To: General Discussion: On-Topic and Off-Topic Posts <cctalk at classiccmp.org>
Subject: Re: Game Of Life, John H. Conway

On Thu, 30 Apr 2020 at 23:05, Kyle Owen via cctalk
<cctalk at classiccmp.org> wrote:

>
> I also wrote a version for the PDP-8; I was sure someone else had beat me
> to it (an assembly version, that is), but I didn't find any versions online
> other than for BASIC and FOCAL—neither of which supported very many cells
> nor ran very quickly.

Not sure it's vintage _enough_ for ClassicCmp, but I wrote several for
the ZX Spectrum.

First the dumb algorithm, in vanilla interpreted ZX BASIC. Then the
QuickLife algorithm. Then an integer-only version compiled with HiSoft
BASIC.

It still wasn't quick. So one long drunken evening with my mate Dion,
who was doing a CompSci degree, we did QuickLife in Z80 assembly for
the Spectrum. I wrote the editor in BASIC and explained the algorithm
to him, he implemented the hard part in assembler, and between us, in
a sdingle 8- or 9-hour session we got it working.

It was very fast on character cells. The Spectrum wasn't really quick
enough to do it on pixel scale. So I came up with a compromise: the
Spectrum ROM contains block character graphics with 1, 2, & 3 quarter
character squares. With a bit of extra logic, this means you can turn
on quarter-squares individually by picking the right character for the
2x2 grid you need. A simple lookup table.

So on the 32*22 character Spectrum screen, we had a 64*44 Life
implementation that could do a generation in under a second, so you
could see the patterns move and develop in real time. It was a thing
of beauty, and I dearly hope I still can read the ZX Microdrive
cartridge and retrieve it.


--
Liam Proven – Profile: https://about.me/liamproven
Email: lproven at cix.co.uk – gMail/gTalk/gHangouts: lproven at gmail.com
Twitter/Facebook/LinkedIn/Flickr: lproven – Skype: liamproven
UK: +44 7939-087884 – ČR (+ WhatsApp/Telegram/Signal): +420 702 829 053


More information about the cctalk mailing list