Rabid Cat Software's !3DLife v1.0 Jan 1992

BACKGROUND
----------
  Since time immemorial ( or for a few years anyway ) many implementations
of John Horton-Conways original LIFE have been available. Most of these are
sort of not very good, and there's so many of them the whole scene's a bit
depressing. Now I do like to see a nice multi coloured Cellular Automata,
the type of which people who are interested in LIFE and stuff like that
sometimes write, but there's not many of them about either. My own !Splodge
program's a bit crap because the colours all change and flash in a horrible
manner, and it does your head in after a bit. However, all is not lost, for
now no longer need you be bored by distinctly 'flat' looking LIFE or stare
vacantly for hours at flashing colours. Yes at last! Its here! Its taken me
ages to write! (and its still not properly finished). A true Cellular
Automata for the 90s, 3-DIMENSIONAL LIFE !

  3D LIFE is not a new idea, in fact I think you can already get a PD
version for the ARC, I first read about it in A.K.Dewdenys 'The Armchair
Universe' which is a well excellent book all about things to do on
computers, and I would recommend it to anyone who's interested.
  Basically the idea is exactly the same as LIFE, a space is split into a
grid, each space in the grid is a cell which can either be alive (i.e there,
as in 'present') or dead ( not there ). At each tick of a cosmic clock every
cell assumes a state that is entirely dependent on its previous state and
the previous state of its immediate nieghbours.
  The only difference with 3D LIFE is that the space in which all the action
takes place is 3-dimensional one rather than a flat plane, and whereas in
normal LIFE each cell has 8 potential nieghbours in 3D LIFE there are 26
possible nieghbours, therefore making 3D LIFE more than 3 times as much fun
as normal LIFE !

  As it's 3D, that makes representation a little bit harder, in my program
the cells are little cubes ( or spheres ) and its like a sort of isometric
projection. You can freeze the action if you want, and look at the cubes
from different sides, also you can shift them about in the workspace ( ie if
there were something interesting in one corner you could shift it to the
centre, without affecting the processing ). You can't look at the cubes from
any angle and there's no perspective or any flash stuff like that, because
that would need filled in vector graphics, and I don't know how to do that.

  You can change the workspace size, and if you make it flat ( ie 1 high ),
with the right rule it runs normal 2D LIFE ! ( that'll keep the old hippies
happy - keeps me happy anyway ). Anyway there now follows a concise set of
instructions for all the available functions. Also you might like to load up
the ViewMe file into !Draw, Yeah I know its self indulgent but its took me
long enough to write this program so I think I should be able to do what I
like.
  
  Oh right, nearly forgot the best bit, Multisync monitor owners prepare to
be amazed - there are two complete sets of graphics for this program, thus
implementing a full Multisync version with quite nice graphics. Enjoy it
while it lasts Multisync monitor owners, I'm not going to do it again, too
much like hard work !


INSTRUCTIONS
------------
  These instructions are fairly comprehensive, but I think they only need to
be refered to if you have a problem, the best bet is to mess around with
the program. Check out the ideas section at the end of this for some things
you might like to try.

  When the program starts you will see some small cubes moving about in the
centre of the screen. These cubes occupy a space which is 14 cubes high by
14 cubes across by 14 cubes deep. This is just the way the program starts,
this space can be any shape or size up to 30 x 30 x 30 ( or 62 x 62 x 62 if
you have enough memory ).
  In the corners of the screen ( out of the way of the cubes ) there are
four coloured triangles with various icons in them. Clicking the mouse on
these icons provides full control over the program, there are no other
screens or menus you need to know about. These are the functions the icons
control :

TOP LEFT TRIANGLE (grey) This contains :

   - The program title ( 3D LIFE ).
   - Some moving arrows ( click on these to turn the effect on and off ).

  "B" Icon - this toggles between Small Mode, max space size 30 x 30 x 30
             cubes, and Large Mode, max size 62 x 62 x 62 cubes. When in
             Large Mode the icon is highlighted by a yellow border, this
             mode is only selectable if you have enough memory, if you don't
             an error message will be produced and the program will exit.
  
  "M" Icon - this toggles between multisync mode and normal mode, it is an
             option only available to multisync owners, and the icon will
             not even appear if you don't have one. Multisync owners however
             may prefer normal mode operation as the program runs a bit
             faster.

  WARNING: Both these operations re-run the program and lose all current
           statuses and operations that may have been set up.

TOP RIGHT TRIANGLE (blue) This contains :

  Rotator  - This rotates at a speed dependent on the speed of program
             operation. Click on it to stop/start it rotating.

  Yellow     There are four of these all together, they rotate the cube
  arrow    - formation within the space by 90 degrees, in the direction
  in red     of the arrow. The formation is otherwise unaffected, and this
             allows the cube formation to be viewed from different sides.
  
  --- Rule bar ---
 
  This is an important function. The bar shows the current rule that governs
the action of the cells, it is split into two rows of 27 symbols. The top
row shows the fate ( i.e the state in the next generation ) of a cell that
is currently live, i.e. 'there', whereas the bottom row shows the fate of a
cell that is currently dead i.e. 'not there'.
  The 27 symbols respectively show the fate of a cell with 0 to 26 (the
maximum possible) live nieghbours ( the nieghbours are the cubes immediatly
adjacent to the cube in question, and those on the corners ).
  On the rule bar, a white block represents a cell that becomes alive, a
dark red one a cell that becomes dead. 
  This is made clearer by the text below the rule bar, as the mouse pointer
passes over the rule bar the text changes to show what the block pointed at
implies. E.g. If the pointer were pointing at the top leftmost block, and
this were dark red, it would say,
             
                  ALIVE CELL WITH 0 ADJACENT BECOMES DEAD

  The rule can be changed by clicking on the blocks in the rule bar, this
toggles them between 'BECOMES LIVE' and 'BECOMES DEAD'. Or alternatively
rule editing can be done by clicking on the text below. The first word
toggles between "ALIVE" and "DEAD". Clicking on the number counts it through
from 0 to 26, and clicking on the final word toggles it between 'BECOMES
DEAD' and 'BECOMES ALIVE' - and by this method the rule can be changed.

  See the final section, "IDEAS", for some good rules to try.

BOTTOM LEFT TRIANGLE (yellow) This contains :

  Quit      - Click on this to exit to desktop.

  Formation - These 6 arrows in red discs shift the cube formation about
  Shift       within the cube workspace. Each arrow shifts in the direction
              it points in. If 'Wrapping' (see later) is on, then any cubes
              that go off one side reappear on the other, leaving processing
              unaffected. However if 'Wrapping' is off cubes that go over the
              edge are lost forever.

  HLT      -  This freezes the processing allowing the cube formation to be
              examined. When the program is frozen the HLT icon is
              highlighted by a moving border. Click on it again to resume
              processing.
  
  'S'      -  This becomes highlighted when the processing is frozen by
              'HLT', clicking on it causes the program to go on a single
              step at a time.
  
  Random      This is the left most of the three main icons. When clicked on,
  Start    -  this clears the cube area and then randomly spreads 'live'
              cubes about. The density of the cubes in a random start can be
              varied by the 'Random %' icon in the bottom right triangle
              (see later).
   
  'r'      -  This performs the same function as above, but the Seed used
  Random      for the random generation is the same as that used by the last
  Restart     Random Start. i.e. this repeats exactly the last Random Start
              ( if something interesting happened then you can watch it all
              over again, perhaps freezing processing at interesting spots,
              etc).
  
  File        This is in the centre of the three main icons. When this is
  Start    -  clicked on, the cube area is cleared and replaced by the
              formation of cubes held in the current File. This file contains
              a 2 x 2 x 2 block at the start of the program, but this can be
              replaced by any formation of your own (see File Save below).
 
  ----EDIT MODE----
  
  The rightmost of the three main icons toggles Edit Mode on or off, when
  on, this icon is highlighted by a moving border.
  
  Edit Mode is for you to define your own cube formations and the run them 
  with whatever rule you choose to see what happens. This is very useful
  for looking for Gliders or Stable formations etc. This how it works :
  
  1) First freeze the processing with 'HLT'. (This is not essential, but if
     processing is not frozen any formations you are editing will be
     destroyed before you get very far !)

  2) Switch on 'Edit Mode'. The Edit Mode icon will become highlighted, and
     also the front plane of the cube block will become highlighted, as all
     the cubes in that plane will become a different colour.

  3) The highlighted cubes can be edited by clicking on them with the mouse
     pointer. This will toggle them between alive ( 'there' ) and dead 
     ( 'not there' ).

  4) Any one of the 3 front planes ( left,right and top ) can be highlighted
     and edited clicking on the 'Plane Switch' icon ( bottom right corner of
     the yellow triangle) switches which one is highlighted.
  
  5) By editing the front planes, and by use of the 'Formation Shift'
     functions (see above), any formation of cubes can be designed.
  
  File Save - When you have created a formation in Edit Mode, to store it
              temporarily while you run it, (so the original formation can
              be called up again at any time), click on the 'File Save'
              icon. (This is the small icon with the red "F" next to the
              blue cube).'File Start' will then restart processing from
              the saved file.

  Plane     - Switches editable plane when in Edit Mode ( see 'EDIT MODE'
  Switch      above).

BOTTOM RIGHT TRIANGLE (red) This contains:

  Cube space - The three numbers with arrows to either side show the size
  Adjusters    of the physical space in which all the action takes place.
               The numbers are the size of the dimensions in cube units,
               i.e. 10 x 10 x 10 means the space shown is 10 cubes high,
               by 10 cubes wide by 10 cubes deep. The size of each dimension
               can be cahnged at any time by clicking on the arrows at
               either side.

  Wrapping   - Clicking on 'W' Toggles wrapping on and off. Wrapping governs
               how the edges of the cube space act. With wrapping 'on' cubes
               at the extreme edge of the space touch ( imaginarily ) the
               cubes at the opposite edge, thus the space 'wraps' around on
               itself. With wrapping 'off' a dead zone it set up around the
               outside of the cube space, so any cube at the edge of the
               space will get a reading of zero ( dead cell ) for all
               nieghbours beyond the edge of the space.
               ( When wrapping is on the 'W' becomes yellow )
              
  Lights     - Clicking on 'L' toggles the flourescent tube lighting effect
               on and off.

  Rnd %      - The bar at the extreme right controls the percentage of cells
               that become alive on a random start. The higher the bar the
               greater the percentage of live cells.

  Speed      - The arrow pointing to the scale between the hare and the
  Control      tortoise controls the speed of the program operation, the
               nearer to the hare, the faster the program runs.

  Cube Type  - Clicking on the icon with the picture pf a cube in it changes
               the image of the cube used in the display. Different size
               cubes and spheres are available for the best viewing effect.
 
  Pallette   - Clicking on the icon with the pallete in the centre of it
               changes the colour of the displayed cube image.


   IDEAS
 ---------

-- Good Rules To Try --

  One class of rules that are easy to talk about are those that consist of
a range of numbers of nieghbours that a cell becomes alive with, for both
dead and alive cells. Eg. a live cell stays alive with 4-5 nieghbours only
( inclusive ) a dead cell becomes alive with 5-6 nieghbours. These type
of rules lend themselves to an easy notation, the live cell values first,
the dead ones second. Eg. the above rule could be called LIFE 4556. Other
rules similar to this are worth experimenting with, LIFE 5667 for example.

  The main things to find in any potential LIFE are, stable forms, multi
stable forms ( flips between two or more forms ) and gliders ( multi stables
that 'move' across the screen ). All these forms can be found in normal 2D
Life, and any good analagous 3D Life will produce them. Gliders are the
hardest things to find, and the most prized, I know for a fact that there is
a 3D Life rule ( possibly LIFE 4556 ) that has one, but I can't remember
what it looks like.

  Other things to try include running 2D Life. The rule for 2D Life is that
a dead cell with 3 nieghbours becomes alive, and a live cell with 2 or 3
nieghbours stays alive so in the above notation this becomes LIFE 2333.
Set the cube space up so it's flat i.e one dimension = 1, and a certain rule
will run normal Life, depending on whether Wrapping is on or off, I'll
leave it to you to discover what the rule is.

  For more ideas I suggest the book 'The Armchair Universe' by A.K.Dewdeny.

  Finally, anyone who finds a good rule, or any gliders or anything, I would
like to hear about it. Or for any other comments about the program or
whatever, you can write to me.

                                    John Hedley
                                     133 Russell Drive
                                      Wollaton
                                       Nottingham
                                        NG8 2BD




 