Quantcast
Channel: GameDev.net
Viewing all articles
Browse latest Browse all 17825

Triangular Life

$
0
0
Recently I looked through a bunch of triangular cellular automata in which each (1) uses two states, (2) uses the simple alive cell count type of rule, and (3) uses the neighborhood around a cell c that is all the triangles that share a vertex with c; that is, the 12 shaded triangles below are the neighborhood around the yellow triangle: These cellular automata have state tables that can be thought of as 13 rows of 2 columns: there are 12 possible non-zero alive cell counts plus the zero count and each of these counts can map to either alive or dead in the next generation depending on whether the cell in the current generation is alive or dead (column 1 or column 2). I looked at each of the 4096 cellular automata you get by filling the third through eighth rows of these state tables with each possible allocations of 0s and 1s and letting all other rows contain zeros. A handful of these 4096 feature the spontaneous generation of gliders but one rule is clearly the triangular analog of Conway’s Life. I have no idea if this rule has been described before in the literature but it is the following: On a triangular grid If a cell is dead and it has exactly four or six vertex-adjacent alive neighbors then it alive in the next generation. If a cell is alive and it has four to six vertex-adjacent alive neighbors, inclusive, then it remains alive in the next generation. Otherwise it is dead in the next generation. The above has a glider shown below that is often randomly generated and exhibits bounded growth. (To see this rule in action see my external blog on which I have it running in an embedded web CA app) Tri Life gliders are slightly rarer than in Conway life because they are bigger in terms of number of alive cells in each glider “frame”. If you don’t see a glider in the above, stir it up by dragging in the window.

Viewing all articles
Browse latest Browse all 17825

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>