Inspired by Conway's Game of Life I set out to learn Java programming by creating my own cellular automata.
For the design I set out to abstract states of matter from physics: Solid, Liquid, Gas. These states of matter having appropriate densities and speeds.
I also set out for having different "elements" locked in a rock-paper scissors relationship, thereby creating a dynamic - balanced system.
The three different elements are Fire, Plant, and Water, with shade representing the state of matter. In the first pass, dominance meant that they pushed the weaker element out of the way on their way to clumping together. The results were tightly packed islands of virtual "matter".
Master Branch
In order to make things more dynamic, I added in "dissipation" and "condensation" by weaker and stronger elements. That means Stronger elements assimilate Weaker elements. This made a much more volatile system, with areas of 3 way battle raging on and simple 1v1 clump takeovers.
elemenTerror Branch
My final exploration in this project was to add a fourth element. This changed the relationship from Rock - Paper - Scissors, to a situation in which each element was neutral to a complementary element, in addition to having stronger and weaker relationships. The unexpected, emergent result of this system was that neutral elements tend to form symbiotic relationships with each other. When any stronger element invades a clump, the complementary color defends. Through a process of natural selection, complementary clumps win out over lone-wolves.
fourElements Branch