Life 3
An interactive demonstration in Cellular Automata
Based on John Conway's The Game of Life


Introduction

-John Conway's The Game of Life

The Game of Life is a cellular automaton created by the British mathematician John Horton Conway in October of 1970. The "game" requires no players. It's evolution is determined by a few simple rules with no intervention. It's played on a grid of squares called cells. Each cell has eight neighbors, which are the cells adjacent to it, including diagonally.

Each cell is either alive or dead. The state of the grid evolves in generations. All the cells are used at once to calculate the states of the cells one generation later. All of the cells are then updated simultaneously. The changes depend only on the number of live neighbors (see the rules below).

The basic idea of the game is to start with a simple configuration of living cells, called organisms, which are placed on the grid. This is the first generation. Conway's rules for births, deaths and survivals are then applied to the pattern and the next generation pattern is created. The players watch as the many patterns emerge.

-Rules of Conway's The Game of Life

  1. A dead cell with 3 neighbors becomes born.
  2. A living cell with 2 or 3 neighbors lives.
  3. All others die or remain dead.

-Cellular Automata

From Wikipedia, the free encyclopedia.

A cellular automaton (plural: cellular automata) is a discrete model studied in computability theory, mathematics, and theoretical biology. It consists of an infinite, regular grid of cells, each in one of a finite number of states. The grid can be in any finite number of dimensions. Time is also discrete, and the state of a cell at time t is a function of the states of a finite number of cells (called its neighborhood) at time t-1. These neighbors are a selection of cells relative to the specified cell, and do not change. (Though the cell itself may be in its neighborhood, it is not usually considered a neighbor.) Every cell has the same rule for updating, based on the values in this neighbourhood. Each time the rules are applied to the whole grid a new generation is produced.





Evolution

Now that you know a little about cellular automata and LIFE, let's get down to business. Above are the controls available to the host and players of the game. Refer to it when reading about the controls below.

Creating Patters

Only the Host is able to manipulate the grid. To create patters, either use the mouse to left-click the cells of the grid, click the New Random Grid button or Load Gridfile button to load a saved gridfile.

Grid Files

Gridfiles are how LIFE 3 stores and handles Life grid patterns. These controls are located at the top of the game screen, and are detailed below. You can only have one grid file loaded at a time, and new grids overwrite an existing pattern on the grid. When creating or loading a new grid, the Generations counter is reset.

New Random Grid

Creates a new random pattern on the grid, replacing any existing pattern.

Save Grid File

Saves the current grid pattern to hard disk as a GRD3 file. The ruleset notation is appended at the end of the name and saved with the grid. This allows LIFE 3 to load the grid into the proper ruleset it was created in. You will be prompted to overwrite grid files with the same name.

Load Grid File

Load a previously saved grid pattern to the board. This replaces the current pattern, and resets the Generations counter. Grid files are saved to the Grids folder.

Delete Grid File

Removes a grid file from your hard drive permanently. This cannot be undone, and you are prompted to confirm the deletion.

Evolving

To start the evolution process, use the controls found in the bottom center of the game sceen. These allow you to play, step and revert a pattern on the grid. Use the Stop button to clear the grid, including colorization.

Back

This reverts to the starting position of the current grid pattern. This position is set when you press the Play button, when you clear the grid with the Stop button, when you load a grid file, or when you create a new random grid pattern. This also resets the Gnerations counter.

Pause

Pauses the current pattern. Does not clear the grid, erase the colorization or reset the Generations counter. You can press Play, Pause or Step to continue the pattern.

Play

Runs the current pattern continuously until you press Stop, Pause, change the current grid file, alter the Rules or until all the cells die.

Stop

Stops the current pattern, clears the current grid file, resets colorization and the Generations countter.

Step

Evolves the pattern by one generation, then pauses. Updates the Generations counter by one, but does not reset the current grid file like Play does.

Rulesets

New to LIFE 3 is the ability for the Host to change the Rules of Life. With the Stay and Born toggles on the sides of the game screen, you can tell LIFE 3 which rule set to use to calculate the next generation. Conway's The Game of Life uses the 23-3 ruleset. More on notation and rules below.

Stay and Born

The Born and Stay toggles affect the first and second rule from above, respectfully. The numbers represent the number of living neighbors each rule is true for. Conway's ruleset allows two or three neighbors to keep living cells in the next generation, and three cells to create a new living cell. This is refered to as the 23-3 variation on Life, or ruleset.

Notation

You can find more variations online. The standard notation is to place the Stay neighbors on the left, and the Born neighbors on the righ, seperated by a dash or forwardslash. LIFE 3 uses the former when saving and loading grid files.

Grid Overlay

This button is available to everyone in the game, regardless of status. This simply overlays the grid on the game board. This is a personal setting and only affects your board. Other players may choose to see the grid or not.

Colorization

The host can choose to colorize the board while the pattern evolves. If so, each cell is colorized randomly, either increasing or decreasing the intensity of the cell's color. Toggling colorization resets the board's colors.

Music

Each player has access to their own MIDI/MOD Player built into LIFE 3. You can use this to play MIDI or MOD music files in your client. The song is only played for you, and each player can choose to listen to their own music, or not. This player only supports .mid, .midi, .mod, .it, .s3m and .xm file types.

Mute

Mutes the current song, but continues playing it. Press this button again, or adjust the volume, to continue play.

Volume

Clicking this bar sets the volume for the songs played with the Player. If a song is currently playing, the volume will be adjusted without resetting the song.

Play

Opens a File Open dialog box, prompting for a music file from your own hard drive. Browse to any MIDI or MOD music file and press Open to start playing. This will stop a previously playing song. Play will also unpause the song.

Pause

Pauses the song at the current spot. Press Pause again, or Play to resume playing from that point.

Stop

Stops the current song being played. Also unpauses a song if it is, before stopping.

Repeat

Toggles whether or not the current song will repeat when it ends. You can chnage this setting while a song is playing.

Hosting

You can host LIFE 3 online if you have a working internet connection and an open port for BYOND to use. Public servers are advertised on the BYOND Hub, so other people will see it and connect. LIFE 3 runs best on high-bandwidth connections. 56k modems may not be able to handle the speed of information being transfered to the remote clients.

Requirements

Opening a Server

Click the Host button in the bottom-right coner of the game to bring up the Host World dialog box. Enter the number of the open port you've reserved for BYOND. Choose to host either publicly, advertised on the BYOND Hub, privately, shown only to your friends, or invisibly, so no one will see it online. Select the security level of the game, LIFE 3 requires a security level of Safe or Trusted. Click OK.

Closing the Server

Click the Host button in the bottom-right coner of the game to bring up the Host World dialog box. Click the checkbox below the port input box that says Disallow new connections, then click OK.

Communication

With multiple players online, you can chat about LIFE 3 and cellular automata.

Who's Online

The Who statpanel is located below the game screen. This lists each player in the game and their status. The CPU hit of the game is also displayed here. The host is marked with the word Host next to their name. Muted players have the word Mute next to their name. Voiced players have nothing next to their name.

Chatting

Simply enter text in the command bar at the bottom of the game to chat with all other players in the game. If you are muted, only you will see youe text. Please respect the host and don't flood or spam the server. Follow the rules layed down by the host and have fun chatting.

-Spamming or Flooding will result in an automatic mute.

Administration

The Host is granted some basic moderation tools, all of which take a text name as input and affect anyone but the host themself. To see a listing of banned players, type or click /Unban and do not enter a name. For a listing of muted players, see the Who statpanel below the game screen. All host commands are located on the Host statpanel below the game screen.

More Information

check out Wikipedia.org for more information on Life and Cellular Automata. Great information and links to some interesting resources and programs.