cellular automata explorer

totally 100% inspired by cellular automata tool 00 by Loren Schmidt (theirs run in the browser (mine doesn't)). I don't know if the rulesets work the same, i just kind of copied the look of them (and the program) without trying to understand how any of it worked... and made some changes and whatnot.

a twitter bot spitting out gifs of random ones lives at @automata_ebooks.

rules etc.

- six state two dimensional cellular automata ruleset explorer
- it looks at the eight adjacent cells (+ the middle one) and counts how many of those are alive.
- it then looks up in a table what state to transition to depending on this number.
- there is a table for each state of the middle cell -> a rule is a 9x6 matrix.

example rule

[[2, 0, 0, 0, 0, 2, 0, 1, 5],
[3, 0, 0, 1, 0, 0, 0, 0, 1],
[0, 0, 0, 2, 0, 1, 0, 0, 0],
[2, 0, 0, 0, 0, 0, 0, 0, 0],
[4, 0, 0, 0, 0, 2, 0, 0, 0],
[1, 1, 0, 0, 0, 0, 0, 1, 2],
["DRB neue", 1, 1, 1]]

they are formatted for use in python (because the twitter bot uses python).

the program

made in processing.

the general idea is that each row represent a formula, and each column is a different starting seed. this way you can see how a rule behaves under different conditions. i think it saves what kind of seed with the rule, but i don't remember...

click a row to change all rows to mutations of it (the clicked row stays the same). right click a row (and column probably) to output a ruleset to the console.

screenyshot

screenshot

keyboard controls

[1]-[4], or left click on row = turn the other to mutated copies
right click on row = print rule to log

[z] = reseed noise for everyone = restart without changing formulas
[x] = mutate everyone
[m] = totally new random rules 4 every1
[q] = skip 200 iterations forward (= dont render images for 200 generations, faster)
[w] = blink protection (default = yes), basically 0,1 or 2 cycle frameskip

[r] = show current generation
[o], [p] = cycle colors

download a thing

as i said it's for processing, version 2.* and not 3 because that one doesn't do dynamically changed window size (actually 2.* can't either but it tries and sometimes it succeeds) so i didn't bother to learn it.

download here: cellular automata explorer for processing 2

everything in there is released under apache 2 but i only pasted the notice in the first class, i hope that's ok.
anny question, call me on my cell phone