
01 / PATTERNS
Oscillators
& flip-flops.
Life was developed by John Conway, a British mathematician. It was popularized by Martin Gardner in the October 1970 issue of Scientific American. It is hard to describe what Life is. It can be called a game, except that you don't play against it. It plays itself. Life is its own unique universe. It has its own rules and its own objects.
02 / THE RULES
Eight neighbors.
Three rules.
The Life playing field or "space" is an infinite grid of squares like a checkerboard. Each square is called a "cell", and each cell can be on or off. You start the action by "seeding" the universe with a start pattern of on and off cells. There are rules to follow in order to proceed to the next generation. Each cell has eight neighbors, four at the edges and four at the corners. The fate of each cell is decided by the number of its neighbors that are on. The rules of Life are as follows:
- 01
A cell with three neighboring cells that are on will be on in the next generation.
- 02
A cell with two neighboring cells that are on will keep its current status in the next generation. (If it is now off, it will be off; if it is on, it will be on.)
- 03
A cell with less than two or more than three neighboring cells that are on will be off in the next generation.
03 / GENERATION AFTER GENERATION
Patterns in motion.
These three rules are applied to each and every cell whether it is on or off. Apply these rules to a start pattern, and you will get another pattern. Apply the rules again, and you will proceed to a third pattern, and so on. Every time the rules are applied to a pattern a new "generation" or "tick" has been produced.
04 / A FIXED SET OF RULES
Predestined.
Unpredictable.
Since the rules are fixed the outcome is fixed for any given starting pattern. None the less, it is not usually possible to predict what will happen to a start pattern after ten generations, for example, without actually calculating every generation in between. This makes Life a lot like some people believe our universe to be: predestined and yet unpredictable.
It is possible to play Life on a checkerboard or another grid of some kind, but this is very tedious and prone to mistakes.
05 / THE ORIGINAL PROGRAM, RECREATED
Run Life.
320 × 182 cells. A universe that wraps at every edge. Choose a sample or draw your own, then let it live.
Keyboard controls & browser edition notes
Click the grid to give it keyboard focus. From the menu, use 1–6 for the original commands. In Draw mode, use arrow keys to move, Space or Enter to toggle a cell, F9 to draw continuously, and F10 to erase continuously. Click or drag directly on the grid to draw. In Position mode, arrow keys move the whole universe. Escape returns to the menu.
The Speed control sets the interval for Live, Record and Playback. Max runs without an intentional delay, briefly yielding so the controls stay responsive. Pattern examples remain fixed at 0.25 seconds. Step advances once. Record saves up to 500 frames; use the slider or arrow buttons to browse them, then Playback to animate them. Saving a recording downloads a browser-edition JSON file. Pictures can be saved and loaded in the original .PIC format. Load also accepts the original .MTH, .FUS, .DUR and .ANI files.
This is a browser recreation based on LIFE.C and the original manual. It retains the wrapping grid, original sample files, setup, positioning, live growth, repetition detection and recorded playback. It does not run the DOS executable or emulate its assembly code, DOS printer interface, or memory limits. The writing below describes the original DOS program.
The computer is perfect for playing Life. With this program, there are many advantages over playing by hand. For one, speed. All of the actual routines that calculate new patterns are written in Assembly Language for the fastest possible code. In addition this program allows a playing area of 320 by 182 cells. This allows for quite large and complicated life forms. In addition, if you were to play on a checkerboard, you would be unable to backtrack to see what patterns led to what. This is because a given pattern may have any number of predecessors. But with this program, it is possible to record each pattern as it evolves.