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
@rel_1_1_2015_0629
git clone https://git.catseye.tc/REDGREEN/
- 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
- Added tag rel_1_1_2014_0819 for changeset b048ec71621a Chris Pressey 10 years ago
- Update yoob.js dependencies to 0.6 and use PresetManager. Chris Pressey 10 years ago
- Move license to separate file. catseye 11 years ago
- Update REDGREEN demo w/latest yoob.Controller, example sources. catseye 11 years ago
- Make the steam example not expand infinitely (annoying in browser.) catseye 11 years ago
- Update the version of yoob.Controller. catseye 11 years ago
- I think we can do without the batchfile. catseye 11 years ago