Tree @master (Download .tar.gz)
REDGREEN
Cellular Automaton
REDGREEN is a successor to RUBE. Unlike RUBE, REDGREEN is a 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
State | Symbol | Description |
---|---|---|
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/
- Correct age-old typo, use Markdown table, and update links. Chris Pressey 19 days ago
- Arrange licensing info in repo according to REUSE 3.2 convention. Chris Pressey 19 days ago
- Add missing semicolon. Chris Pressey 19 days ago
- Fix bug: when finished editing, set the new configuration state. Chris Pressey 19 days ago
- Add a playfield growth detector and limiter to the controller. Chris Pressey 19 days ago
- Opening save area selects and focuses it; pressing Enter saves. Chris Pressey 19 days ago
- Reset and disable controller when editing source code. Chris Pressey 19 days ago
- Regenerate JavaScript using version 1.1 of ALPACA compiler. Chris Pressey 2 months ago
- Fix the namespace prefix. Chris Pressey 2 months ago
- Small cleanup to repo layout. Chris Pressey 2 months ago