========================================================================
========================================================================

                          -= Life 3D =-
                              v 1.2

  Take the Original Game of Life and go 3D!  Create your own 3D rules
  and watch some clever creations as your cells experience birth and 
  death. Rotate and Zoom controls, official 2D rules, and new 3D rules 
  included. No installation, just a simple application. Runs on any
  32 bit version of Windows.  This software is FREE and just for fun!

  The game is life is really not a game at all, but a simulation in 
  population growth using simple rule set.  This version allows you
  to write custom rules not only in a 2D world, but also in 3D!

  Created by Todd Moore 
  toddmoore@yahoo.com

========================================================================


What is the Game of Life?  

  The game of Life was created by John Conway in 1970.  It is a 
  simulation where cells grow and die.  The rules are simple--you
  start with some random cells and simulate using the following rules:
  
  * A dead cell with exactly three live neighbors becomes a 
     live cell (birth).
 
    x..        x..    x = existing neighbor cell
    ..x   ->   .ox    o = birth of new cell
    .x.        .x.    . = dead cell

  * A live cell with two or three live neighbors stays 
    alive (survival).

    x..        x..    x = existing neighbor cell
    .o.   ->   .o.    o = stable cell (has 2 neighbors)
    ..x        ..x    . = dead cell

  * In all other cases, a cell dies or remains dead 
    (overcrowding or loneliness).   

    ...        ...    x = existing neighbor cell
    .o.   ->   ...    o = dying cell (only has 1 neighbor)
    x..        x..    . = dead cell

 
  There are many free programs out on the Internet, which simulate 
  these rules and create amazing patterns.  It's almost hypnotic 
  to watch!


What is the Life3D?  

  I wondered what would happen if you took the original rules of Life 
  and applied them in a 3 dimensional space.  I had no idea which rules
  would work best in 3D, so I decided to create a program that could be
  customized with any rule set.  My initial research concluded that the
  2D rules in 3D space caused a huge growth of cells, eventually filling
  the entire screen.  I experimented with numerous combinations and had
  numerous failures-cells either quickly dying or quickly growing.  
  I came across some rules that yielded a strong birth rate, but at a 
  slower more enjoyable pace.  These are the rules that are by default
  in the 3D mode.  I'm sure there are better rules out there for 3D 
  and I encourage you to try your own and share your findings!


How do you run the program?

  Click either the square icon, or the random icon to pre-load your 
  slide with some cells.  Click the START (green icon) button to
  simulate, and STOP (red icon) to pause simulation.  Clicking the
  yellow button does a single turn of simulation.

  Rotate by clicking down on the display and dragging the mouse.  
  Zoom controls are the + and - icons in the toolbar or can be
  done by right clicking and dragging up or down.

  Clicking the 2D button will change to 2d rules and a 50x50x1 slide 
  which allows for the original game to be played.  You can still 
  rotate and zoom in and out in 3D.

  Clicking the 3D button will change to my 3d rules and a 50x50x50 
  slide.  By default, the program starts in this mode, places some 
  random cells, and starts the simulation.

  Click the Config button to change the dimensions to your own
  custom size or modify the speed of simulation.  You can also change
  how it draws each cell and the color spectrum it uses for depth.
  The limits are used to keep the cell count within a range.  The
  lower limit will spawn new cells if it drops below that count.  The
  upper limit will no grow new cells if the count is at that limit.
  
  Enabling View/AutoSpawn will create new random cells if the cell count
  remains the same for a period of time.  Enabling view/AutoSpin will
  rotate the slide around the x and y axis while simulating.

 
What do the colors mean?

  The colors, as well as size of the cells are used just to provide depth 
  and make it appear more 3 Dimensional.


How do you customize the rules?

  Customizing the rules can be done using the left dialog bar.  
  Neighbor rules are which positions to count as neighbors.  

  Neighbor Example:

    ..3    3 = selecting this cell means you count the cell to the 
    ...        top right and up as a neighbor (x=+1,y=+=1,z=-1)
    ...
           1 = selecting this cell means you count the cell to top left
    1..        as a neighbor (x=-1,y=-1,z=0)
    .o.    
    ...    o = selecting this cell means you count yourself as a 
	       neighbor (x=0,y=0,z=0)  This is not normally selected.
    ...
    .2.    2 = selecting this cell means you count the cell located below
    ...        as a neighbor (x=0,y=0,z=+1)


  The Birth/Death rules are what happens to a cell based on its neighbor
  count.  It tells if a cell will be stable (no selection), grow (birth 
  selected), or die (death selected).  

  Rules Example:

      Birth/Death
    1   .     x    <- if cell has only 1 neighbor it will die  
    2   .     x    <- if cell has 2 neighbors it will also die
    3   .     .    <- if cell has 3 neighbors it will be stable
    4   x     .    <- if cell has 4 neighbors it will grow


  After changing the rules, just click the commit button and the rules 
  are updated even if the simulation is running or not.


What platform does it run on?

  Any 32 bit version of Windows.  That would include Windows 
  95/98/ME/NT/2000/XP.  It does require MFC DLL's to be installed 
  which is most likely already installed on your computer.  If not, 
  please go to www.microsoft.com and download the Visual C++
  runtime library.


How do you install Life3D?

  There is no installation package.  Life3D is a self-contained
  EXE file.  So all you have to do is run the program!


what files are included?

  life3d.exe - The application
  readme.txt - This file
  versionlog.txt - Changes made with each new version


Can I distribute this software?

  Feel free to make copies and distribute the software.  All I ask
  is that files readme.txt, versionlog.txt and the life3d.exe program
  are kept together and not modified.


How was the program made?

  I used Visual C++ 6.0 and tested it primarily on Windows 2000.  
  The software uses the MFC library.  The graphics were done using 
  simple GDI calls.  I experimented with Direct3D, but put it off 
  in order to get the software done faster.  I hope to one day use 
  Direct 3D so you could fly through and explore these systems in
  a rich graphical environment.


How do I contact the author?

  Just e-mail me at toddmoore@yahoo.com or tm21@hotmail.com.  I'd 
  like to hear any suggestions you might have with the software.  
  Send any good rules you have discovered too!



Thanks for playing Life3D!

Todd Moore


========================================================================