« Going To The Rainbow | Main | Flash-a-thon.pause »

Cellular Automata - Custom Random Rulesets

Introduction:
I've done work with Cellular Automata in the past, including some different versions of Langtons Ants. Langtons Ant is a simple 2-dimensional automata with a very simple ruleset, and it could produce some very interesting behaviors. However it was very limited on it's own, even with it's long life cycle. ~Mike

complex-rules-01.jpg

Author: Mike Johnson
Author's comments:
Here we have a 2-dimensional automata ( an ant or termite is a common term ) that has a custom ruleset that is generated randomly. This ruleset could just be 2 rules long ( like Langtons Ant is ) or it could be up to 7 rules long. These rulesets can produce some very interesting emergent behavior. Some of them may produce purely chaos for their entire lifecycle, some may start out producing patterns that are bilaterally symmetrical, some may fluctuate between behaviors, and more - the possibilities are almost endless.

To keep things interesting, there is a limitation of how many generations the automata will be allowed to run before the grid and automata are reset with a new random ruleset. In addition, you can force a reset of the system by hitting "r" on the keyboard at any time.

Included in the deploy directory of the source code is a text file with a few custom rulesets that represent some potential behavior styles you could exhibit, in case you'd like to force one of those into the system and compile to see for yourself.

The code was generated using FlashDevelop, and includes the project file.


Support the educational projects at GalaxyGoo, and make an online donation through Network for Good or Facebook Causes..

For live version, and source files, continue reading.







Download Source.



Support the educational projects at GalaxyGoo, and make an online donation through Network for Good or Facebook Causes..



Creative Commons License

Creative Commons License


This work is licensed under a
Creative Commons GNU General Public License License and a
Creative Commons Attribution 3.0 United States License.