REDGREEN
Cellular Automaton
REDGREEN is a successor to RUBE. Unlike RUBE, REDGREEN is proper cellular automaton (CA): the next state of each cell is determined only by its current state and the states of its neighbours.
Implementation
This implementation of REDGREEN is written in ALPACA and compiled to a Perl script using the reference ALPACA compiler. As a language for expressing CA's, ALPACA is much, much clearer than C (the language in which RUBE was implemented.) In fact, the need for a clear description language for RUBE's successor was one of the driving forces behind the development of ALPACA. REDGREEN is an extremely complex automaton, making full use of ALPACA's "class of states" feature.
The REDGREEN Universe
Air Heavy things like water and pebbles fall through air. Light things like smoke and steam rise in air. Air is required for a fire to keep burning.
Water **`~`** Heavy solid things like pebbles fall into water. Light things like steam or smoke make rising bubbles in water. Boils to steam when heated, but also puts out open fires. Fish can live a John Conway's Life in water.
Fire **`%`** Heavy things like pebbles fall through fire; water puts it out. Requires flammable fuel and air to keep burning, otherwise goes up in smoke. Spreads to adjacent flammables like twigs and heats up adjacent non-flammables like rock.
Earth **`#`** Stops things which would otherwise fall from falling. Can be heated up to magma by adjacent fire.
Magma **`&`** Heated-up earth, will cool down to earth if no adjacent fire or magma is present. Can boil water.
Steam **`s`** From boiling water, rises in air.
Smoke **`@`** From fire, rises in air.
Bubble **`o`** From air or steam or smoke, rises in water.
Fish **`f`** Lives a [John Conway's Life][] in water.
Pebble **`.`** Falls through air.
Two Pebbles **`:`** Two pebbles stacked together, also falls through air.
Spark **`*`** An electrical phenomenon living a [WireWorld][] existence.
Tail **`-`** The trail of a spark.
Wire **`=`** Conducts electricity (sparks).
Zappy **`z`** Shot off by sparks. Can set flammables on fire.
Big Zappy **`Z`** Also shot off by sparks. Can also set flammables on fire.
Duct Tape **`D`** Flammable. Things can stick to it. It can unravel.
"Oh No" Tape **`O`** Flammable. Duct tape that's unravelling.
Twig **`l`** Flammable.
Conveyor Left **`<`** Moves twigs, pebbles etc. on top of it to the left.
Conveyor Right **`>`** Moves twigs, pebbles etc. on top of it to the right.
Randomizer **`?`** Randomly flips the direction of the Conveyor adjacent above it.
Torch **`T`** Provides endless fuel for a fire.
Commit History
@master
git clone https://git.catseye.tc/REDGREEN/
- Fix the namespace prefix. Chris Pressey a month ago
- Small cleanup to repo layout. Chris Pressey a month ago
- Switch to DAM {Editable, Saveable} for configuration management. Chris Pressey a month ago
- Update links. Chris Pressey 1 year, 1 month ago
- Merge pull request #2 from catseye/develop-1.1-2018.1 Chris Pressey (commit: GitHub) 6 years ago
- Update yoob.js to 0.13, JSONP examples, launcher script. Chris Pressey 6 years ago
- Added tag rel_1_1_2015_0629 for changeset 1decbb9b0547 Chris Pressey 9 years ago
- Regenerate using new version of alpaca that understands `guess`! Chris Pressey 9 years ago
- Update yoob.js to 0.7-2015.0108. Chris Pressey 9 years ago
- Update yoob.js files to version 0.7. Add Reset button. Chris Pressey 9 years ago