Richard Tollerton, Mariana Petrova, Sudhir Sangappa
Glider
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.
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.
-
3D drawing and viewing
-
3D object selection
-
Lighting and surface properties
-
3D animation
-
3D model conversion to OpenGL
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
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