Generations is a three-dimensional simulator of Conway's Game of Life written in OpenGL and FreeBASIC.
However, unlike other 3d simulators, Generations only operates on a classic 2-dimensional Game of Life grid. The third dimension is used to show time, keeping a history of up to 100 prior states, resulting in a new way of looking at it.
Currently, the program supports placing of up to 10 pre-stored patterns (in a configuration file) onto a fixed 50x50 toroidal grid. Loading and saving of states aren't currently supported although they are planned. The program currently is little more than an engine demo, although you can do a lot with it already.
This video shows the basic controls and features of the current 0.15 version.
Update 1/27/09
I'm working on the program again, right now just doing some interface/performance tweaks to handle high resolutions. I'll be adding a mouse-driven interface in the near future.
![]() Extreme closeup of new cells forming. |
![]() Just before new cell formation. |
![]() New alternating colors make older generations easier to distinguish. |
![]() A deep look at the history of this particular simulation. |
Generations can now use different survival/birth rules. Here's a demo of the /1 rule.
Current Features
- Applies normal (23/3) Game of Life rules to a 50x50 toroidal grid of cells.
- Somewhat free camera controls allow various views of cells in motion.
- Allows placing of 10 patterns of up to 10x10 cells in size.
- Number of historical generations displayed can be varied for performance.
- Cell iteration can be sped up by holding the ~ key.
Planned Features
- Adjustable grid size and choice between toroidal and flat grid (possibly make flat grid arbitrarily large)
- Use of different rulesets (programmable)
- Completely free camera control and use of mouse for cell selection
- Allow placing of any pattern of any size, and rotation of patterns
- Full speed control including reverse
- Allow loading/saving of up to 10 complete program states
- Algorithm optimizations and graphics improvements
The program is currently aimed at just providing a 3d view of the Game of Life, but it's evolving and growing over time (much like the f-pentomino). Therefore the program at current isn't written for fast iteration. With the ~ key the program will iterate as fast as it can, up to the framerate limit (set in the configuration). There is a readme file included with the download that explains how to set the configuration; in the future, the configuration will be adjustable in-program.
Download
The current version of Generations is 0.15.
For questions, comments, or suggestions, please comment here.