Evolve Reloaded is based on CAVEvolve, created in 1995 by Scott Banister. The purpose of Evolve Reloaded is to visualize a three-dimensional cellular automaton that uses the Von Neumann neighborhood. Cellular automata are dynamical systems which are discrete in both space and time and are characterized by what are called "local interactions". Each grid cell can be in one of a finite number of states, and the system is updated in discrete time steps according to some specified interaction rule. The interaction rule used in Evolve Reloaded is the same one used in Stanislav Ulam's game Reproduction after being generalized to three dimensions (Ulam's game only uses two dimensions). In Evolve Reloaded, the user can update the system by pressing a button.
The game begins with an empty, two-dimensional grid. There is a counter placed at the center of the grid. The next generation is formed by placing counters on any cell that contains one and only one marked cell as a neighbor. There are many ways to define "neighbor". In this case, the Von Neumann neighborhood is used. Here, a neighbor is any cell directly above or below the given cell, or directly to the right or left of the given cell (the Moore neighborhood would include diagonal cells as well). This same rule is then applied again. However, the trick is that the so-called "grandparents" of the current generation get removed from the grid after each application of the rule. This pattern repeats indefinitely.
Evolve Reloaded uses this same interaction rule, the only difference being that neighbors along the z-axis are also considered, so as to make the system three-dimensional.
The motivation for creating this project was the fact that the older version of this program, CAVEvolve, only compiled under the SGI IRIX5.2, which is quite outdated by now. That said, this program still does not contain all of the features of the older version (Banister's program could even play Stanislav Ulam's two-dimensional Reproduction game). This means that there is plenty of room for future improvement of this project.
Finally, I would like to thank Professor Francis and all my classmates, especially William Baker, for all their help throughout the semester.