3-D Life Visualization

Richard Tollerton, Mariana Petrova, Sudhir Sangappa

photo
Glider


Summary

3-D Life Visualization is actually more of a simulation, than a game, since most of the time there are no players involved. 3-D Life is played on an infinite three- dimensional grid of cube cells. Each cell has twenty six neighbors and may exist in one of two states, "alive" or "dead". Somewhere a clock is tiking. At each tick certain cells may become alive and others may die i.e. cells change from generation to generation. The fate of a cell is determined by the number of alive neighbors. We try to visualize the development of the cells from generation to generation, using appropriate graphics techniques.


Description

Visualization part:

3-D Life is an implementation, using OpenGL and the FLTK toolkit, of three- dimensional cellular automata roughly analogous to Conway's Game of Life in 2D space. It focuses more on the visualization of the cellular universe rather than its statistical analysis, and so implements an advanced set of operations to manipulate the cells in many different ways.
While 3-D Life has been developed exclusively on Unix systems, it does not depend specifically on any Unix features (other than the Makefile); OpenGL, fltk, and C++ are all very cross-platform. With some effort it should compile on the Win32 and Mac architectures.User Interface Modification -FLUID.

Simulation part:

3-D Life is "played" on an arbitrarily large three dimensional grid of cubes. Each cube represents a cell, which is either "alive"(i.e. filled in) or "dead" (i.e. not filled in). Each cube (cell) is viewed as having 26 neighbors or adjacent touching cells. A cell is "alive" or "dead", based on some transition rules i.e. on the number of living neighbors it has.

Rules: We can formalize the rules as follows: Define the transition rule as the 4-tuple of four numbers (x, y, z, d). The first two numbers dictate the fate of the living cells, and the rest dictate the fate of the dead cells.

x - indicates the fewest living neighbors a cell must have to keep from being undernourished; y - indicates the most it can have before it will be overcrouded; z - indicates the fewest living neighbors a dead cell must have to come alive; d- indicates the most it can have to come alive.

Example:

Rule 4555 represents, that a living cell dies if it has less than four or more than five living neighbors and dead cell becomes alive if it has exactly five living neighbors.

Various configurations of living cells show suprisingly complex and almost lifelike behavior, that's why the name " 3-D Life " is quiet appropriate.

Configurations:

1. Cyclic behavior- at each tick (generation) the configurations change, but after a finite time (finite number of ticks) the original patterns reappear.

Some patterns remain stationary and others travel through the grid by shifting one cell at a time in a horizonatl, vertical or diagonal direction. Both types have fanciful names.

Stationary Configurations- beacons, beehives, blinkers and blocks.

"Travelers"- gliders and spaceships.


Lessons Learned

How to use the program

Requirements: To get 3-D Life compiling with minimal effort you'll need this: gcc 2.8.1 or egcs (any version), or basically any compiler that makes an attempt at ISO C++ compliance. It WILL NOT COMPILE with gcc 2.7 or any SGI compiler; fltk (any fairly recent version will do); OpenGL 1.1 or newer. OpenGL 1.0 should work, but is untested.

Compilation:
          gmake clean
          gmake depend
          gmake

Source Code


Resources

1.Computer Recreations- A. K. Dewdney

The game Life acquires some successors in three dimensions /

2. Candidates for the Game of life in Three Dimensions- Carter Bays,Dept. of Computer Science, University of South Carolina, Columbia, SC 29208, USA

3. A new Candidate Rule for the Game of Three-Dimensional Life- Carter Bays, Dept. of Computer Science, University of South Carolina, Columbia, SC 29208, USA

4.One tub, eight blocks,twelve blinkers and other views of life-John E. Pulsifer and Cliford A. Reiter,Dept. of Mahtematics, Lafayette College, Easton, PA 18042, USA

5.Four-Dimensional Cellular Automata and the Game of Life-Lee Earl Meeker

6. The Game of Life on a hyperbolic domain-Clifford A. Reiter, Dept. of Mahtematics, Lafayette College, Easton, PA 18042, USA

7. Patterns for Simple Cellular Automata in a Universe of Dense-Packed Spheres, Carter Bays