From: hopkins@turing.ac.uk (Don Hopkins)
Newsgroups: comp.theory.cell-automata,comp.windows.news,comp.sys.sun.apps
Subject: HyperLook Cellular Automata Machine for OpenWindows V3 available for ftp
Date: 26 Jul 92 06:56:12 GMT
Organization: The Turing Institute, Ltd.

I've written a recreational CAM-6 simulator (Tofoli & Margolis's
Cellular Automata Machine) and ported it to HyperLook (the user
interface development system I'm working on at Turing).  It displays
animated cellular automata that you can edit in real time with the
mouse!  And it comes with a free Lava Lamp!

The Cellular Automata Machine simulator (a SPARC binary with a bunch
of PostScript and data files) and the HyperLook runtime system are now
available for anonymous ftp!  HyperLook and the CAM simulator run
under OpenWindows Version 3 on color SPARC workstations.  They're
available for anonymous ftp from turing.com, in the file
"pub/CAM.tar.Z", or ftp.uu.net, in the file "packages/NeWS/CAM.tar.Z".
You will also need to retrieve the HyperLook runtime environment, from
the same directory, with the name "HyperLook1.5-runtime.tar.Z".  There
are several text and PostScript files explaining HyperLook, and other
HyperLook demos and applications (including SimCity, which I've also
ported to HyperLook).  Install and run HyperLook (set your $HLHOME
enviornment variable), uncompress and un-tar CAM.tar.Z into a
directory, go there, and type "cam". Press the "Help" key at the
buttons and graphics to learn how to work the user interface.

Here are some highlights of my Cellular Automata Machine simulator:

The user interface is a HyperLook stack (kind of like PostScript
HyperCard for Unix).  The simulator is written in C, and uses a
look-up table in the same format as the CAM-6. The simulator
implements several different neighborhoods, and several favorite hard
wired rules.  The rules (that aren't hard wired in C) are specified in
Forth (I use wmb's SPARC Forth, and have written some code that lets
me define rules in the same language as used in T&M's "Cellular
Automata Machines").  Forth compiles the rules and writes out lookup
tables that are read by the simulator.  The simulator animates on the
screen very quickly by using shared memory.  There's a button to tile
the screen root background with the current pattern, which is worth
its weight in LSD!  You can draw on the cells with the mouse as they
animate!  It comes with a whole bunch of interesting rules.  Each rule
has a brief (if not cryptic) description, and a list of pre-defined
initial configurations that work will with the rule.  You can copy the
cells onto the clipboard and paste them into the drawing editor
(included with HyperLook) to edit or print them.  You can also paste
structured PostScript drawings from the drawing editor into the cells!
(My favorite trick is pasting usenix facesaver images into hglass.)

One of the neatest built-in rules is Rudy Rucker's "Eco" rule (maybe
he called it something different, but I think he came up with the
idea). It runs "Anneal" in one plane, and either "AntiLife" or
"Brian's Brain" in the other, depending on the "Anneal" bit.  It uses
AntiLife (the bitwise complement of Life) instead of regular Life,
because then the interaction with Brain's Brain along the annealing
edges is, shall I understate, somewhat more intense!  (not to mention
the 5 bits of echo!)  This rule looks really cool when started with a
symetric configuration!  Then you can switch back and forth between
symetry-preserving rules, and generate all kinds of interesting screen
backgrounds!  Eco is a great rule to display in the Lava Lamp view! (A
wee simulated lava lamp desk accessory that displayes the automata in
an appropriately shaped window.)  Another rule that looks good in the
Lava Lamp is "Heat", which is eight neighbor heat diffusion: sum the
eight neighbors (plus a global heat change constant) and divide by
eight (by shifting). The global heat change constant causes the heat
of the entire system to rise or fall, and when a cell goes below 0 or
above 255, it wraps around to the opposite heat, causing chaotic
psychodellic churning and boiling! A modification I made to this rule,
"DHeat", takes the remainder after dividing by 8, and adds it into the
next sum (i.e. just keeps the low 3 bits that would be thrown away
around for the next sum), resulting in a *much* more accurate heat
diffusion simulation, with a wonderful dithered appearance.  The
dithered heat diffusion (which doesn't preserve symetry) makes
*really* keen screen backgrounds!  

	-Don
Newsgroups: comp.theory.cell-automata,comp.windows.news,comp.sys.sun.apps