Top page

About LifeHex

LifeHex is a cellular automaton system simulator (much like John Conway's so-called Life Game) that attempts to be entertaining. It features fairly fast execution of generations, various rendering effects and lets you create new rules (over 50 interesting rules are initially built-in).

Requirements

LifeHex (the latest version is 2.1) runs under Macintosh with PPC processor, color monitor of size VGA (640x480) or bigger, MacOS version 8.1 or later and DrawSprocketLib must be installed in the system. (DrawSprocketLib is a part of Game Sprocket library bundled with MacOS which should be installed by default in OS version 8.6 or later).

What are Cellular Automata (CA)?

A cellular automaton is a discrete dynamical system. Space, time, and the states of the system are discrete. Each point in a regular spatial lattice,called a cell, can have any one of a finite number of states. The states of the cells in the lattice are updated according to a local rule; that is, the state of a cell at a given time depends only on its own state and the states of its nearby neighbors at the previous time step. All cells on the lattice are updated synchronously, and thus the state of the entire lattice advances in discrete time steps.

How generations are calculated in LifeHex

Cells are arranged as a hexagonal lattice with 6 neighbours for each cell. A cell can have only two states: ALIVE or DEAD. The state of a cell is determined by its local state of the previous generation, namely the state of itself and states of its 6 neighbours.Two local states are said to be equivalent if they coincides by rotation or reflection. Two cells that have equivalent local states become the same statein the next generation. Under the equivalent condition, local states are classified to 26 categories, each corresponding to one of the rule controller buttons displayed at the lower left of the screen (provided you locate the mouse pointer to the bottom edge).

26 categories of local states

Usage

Launch LifeHex. The screen will fade out and immediately begin simulation with a default rule. If you move your mouse to the top edge, generation will pause and the menu bar will appear. Move your mouse to the bottom edge, and control buttons will appear, just click on them and enjoy the various effects. I'm tired of explaining about them since there are too many functions, so feel free to explore them and become familiar with them. Almost all keys on keyboard are assigned some functionality, most are just shortcuts of menu commands or buttons but some are not (e.g. scrolling). By using commands in file or edit menu you can save your new creation of rules. You are welcome to send me your new creation of rules via e-mail listed below (rules can be exported as text format by adding a .txt suffix when saving to a file) which will be published on the web.

Quick Reference

A quick reference for control buttons

Menu Reference (partial)

Table of menu commands
File New Makes a new empty rule document. A document can contain up to 100 rules.
Open Opens an exisisting rule document through a file dialog.
Close Closes current document, where the checked item in the Document menu points to the current document.
Save Saves current document.
Save As Saves current document as a new file through a file dialog. There are 2 kinds of file format available. One is binary and the other is plain text. The plain text format can be made by adding '.txt' suffix to the end of file name in the dialog.
Revert Reverts any changes made on current document to the last saved state.
Quit Quits the application with confirming any changes made on documents and saves current settings of rendering to preferences.
Quit Anyway Quits the application immediately (no confirmation, no saving of current settings of rendering).
Edit Add Rule Adds current rule to current file.
Rename Rule To rename the rule currently selected, choose this.
Cut Copies the rule currently selected to the clipboard and removes it from current document.
Copy Sets the contents of the clipboard to rules currently selected.
Gather Similar to Copy, but it appends copied rule to the list of rules held in the clipboard.
Paste Appends list of rules held in the clipboard to current rule file
Delete Deletes rules selected in current rule file.
Select All Selects all rules in current rule file.
Clipboard Rules stored in the clipboard can be seen in this sub menu. Selecting one of rule changes current rule to the selected one.
Misc Random Initializes all cells with random pattern.
Clear Initializes all cells as thier states 'DEAD'.
Map Size... To change the world's size (i.e. number of cells in both horizontal and vertical), select this.
Alternate Rule Altrernates current rule (i.e. the semantics of 'ALIVE' is interchanged with 'DEAD').
Always Alternate If checked, the semantics of 'ALIVE' and 'DEAD' are always to be interchanged.
Avoid Flashing Under certain rules (e.g. the rule such that only the leftmost lower button of the 26 rule control buttons is activated), the screen can flash if rendering period is an odd number. If checked, it forces rendering period to the nearest higher even number whenever flashing is detected. If you have epilepsy, it is strongly recommended to keep this menu item checked.
Auto Randomize Initializes all cells with random pattern whenever cureent rule is modified or changed.
Randomize Fore Colors Randomizes foreground colors (i.e. colors for cell of 'ALIVE' state).
Randomize Back Color Randomizes background color (i.e. colors for cell of 'DEAD' state).
Add Color Set... Records a color set currently using (except in case current color set is one of a color set initially builted in), e.g. after randomizing fore/back color(s). The color set is added to the Color Set sub menu in the Rendering menu. Color sets added to that menu will be saved to the preference file when quitting with Quit menu command.
Rename Color Set... To rename current color set (except any of color sets initially builted in), select this.
Delete Color Set To delete current color set (except any of color sets initially builted in), select this.
Status View This sub menu allows to show current status (number of generations/frames/seconds or number of cells of 'ALIVE'/become 'ALIVE' + become 'DEAD' state) on the screen.

Miscelaneous features not shown in menu and control buttons

Licence, disclaimer notice and copy rights