HexHAL - Hexagonal Hardware Artificial Life

Unfortunately, your browser does not support Java.
A Java applet is the central focus of this page.
You're encouraged to try again using a Java-aware browser.

A version of this applet using Sun's Java plug-in is available here.


This applet displays a cellular automata substrate capable of supporting self-reproducing entities with distinct phenotypes.

It is a cut-down version of HAL, based on a hexagonal neighbourhood, and with fewer states per cell.

It uses the Tripod neighbourhood.

Changes from HAL

HexHAL was concieved to be a minimalistic version of HAL.

The different neighbourhood allows fewer neighbours, which makes for a simpler and more compact automaton.

It uses 83 states per cell - which fits into seven bits of storage space.

HexHAL exibits a phenomenon strongly reminiscent of abiogenesis. Small collections of random configurations of cells easily give rise to self-replicating entities.

Things that were deliberately removed from HAL include:

  • Arms that auto-retract on a collision;
  • A different colour/type for each creature;
  • Ability to produce rotated offspring;
  • Wrap-around;
  • Communications point with a configurable position;

Things that are present in HAL, which need to be added to HexHAL:

  • Universal computation layer;
  • Ontological growth;
  • Automated selection process based on evaluated fitness;

It was hoped to add a reversible computation layer - based on the Triumphant neighbourhood. This looks like it may be impractical, though - due to its not being in keeping with the "small size" philosophy.

Previous work

HexHAL may be the first ever non-trivial hexagonal self-reproducing automata.

  • The parity rule (which may be viewed here) provides self-reproduction - but it is linear and out-of control - with offspring soon reproducing messily all over their parents.
  • Automata related to "brian's brain" exhibit something like reproduction - but there is not normally any heritability involved. A hexagonal example of this type of automaton is part of SARCASIM - George Maydwell's CA tool. He calls the reproducing entities "comets".

Interactive controls

The applet is interactive, allowing you to apply selection based on organisms visual characteristics using a variety of implements.

  • Use - tool selection - controls which type of tool to use to manipulate the environment;
  • Click to - set the tool's behavior - controls how the tool in use is applied;
  • Display - controls which aspect of the automata is presented;
  • Size - controls how many cells are displayed, and their size;
  • Show - configures how frequently the display is updated;
  • Delay - configures how much delay occurs between frame updates;
  • Radiation - causes random deletions;
  • Mutation - causes random modifictions to the organisms;
  • Step - allows a paused automata to be single-stepped;
  • Pause - allows the automata to be stopped and started;
  • Clear - completely blank all the universe's cells;
  • Randomise - configure all cells randomly;
  • Restart - resets the universe to its initial configuration;


This applet can also be run as an application. Download this jar file (using shift-click) and double-click on it.
Source code is available - with a "no-restrictions" license. Download this zip file.

Index | HAL | HexHAL | EoSex | Firefly | CA | Links

tim@tt1.org | http://alife.co.uk/