Hi all! I've made a neat little cellular automata simulator that runs in the browser. If you don't know what "cellular automata" means, you might still recognize this:
That's a cellular automaton! Simply put, it's a space filled with cells, which have states, that are all governed by the same rule. In my simulator, you can explore these rules by creating random ones, mutating preset rules, or even making up your own from scratch! I've already found about a dozen interesting rules, but I would love some help finding more! There are exactly 262,144 possible rules, so there's quite a lot to investigate. Make sure to copy the rule number in the bottom-left corner of the screen if you find something interesting!
You can play with it here. It runs nice and fast, as the entire simulation code is contained within a WebGL fragment shader. The rules (of which Game of Life is a member) are specified by a string of bits that is passed to the shader as a texture. A double framebuffer is also used to allow the simulation to advance in time. This allows arbitrary rules to be specified at runtime.
If you want a more in-depth explanation of the rule format and how it all works, I've written a blog post about it here.