Tutorials/Rules
Oh so you want to make your own cellular automata? Here's the place to learn how!
The Rule Table
To create a new rule, you first need to know how to create RuleTables, which are the transitions that occur every generation, AKA Rules. For this tutorial, we are going to recreate Life but with the name "Tutorial". To start, open your favorite text editor and type:
@RULE RuleName
Where RuleName is the name of your rule, let's call this rule Tutorial, for tutorial purposes. Next, add the table, this is your actual transitions for the rule. Enter this before getting to the actual transitions.
@TABLE
n_states:2
neighborhood:Moore
symmetries:permute
- @TABLE: This tells Golly that the table starts here.
- n_states: This is how many states your rule has, INCLUDING state 0, the dead state/background, so 2 states will have live and dead states and 1 state will only have the background.
- neighborhood: This is the neighborhood the rule uses, can be Moore, Hexagonal, vonNeumann, or oneDimensional, for the full list see the RoadMap
- symmetries: This is the arrangements accepted for each transition, none will make it so for example, if you want birth at 4 neighbors, you will have to write out every single arrangement of 4 neighbors. Permute makes it easy, we will come back to that later.
Now, transition time! Here, we will make Life, B3/S23. To make a transition, type a string as so:
Starting State, N Neighbor State, NE Neighbor State, E Neighbor State, SE Neighbor State, S Neighbor State, SW Neighbor State, W Neighbor State, NW Neighbor State
So, for Life, B3 to be exact:
0,1,1,1,0,0,0,0,0,1
Which means that if a state 0 cell has 3 neighbors, it will become state 1. This is where permute comes in, if we didn't have permute, say none, it would only make the cell live if it is exactly the same as we put it, live on the North, North East, and East only, but permute makes it so all B3 states are filled. Now we make transitions for death. We don't do it for survival because survival means no transition happens to the cell.
1,0,0,0,0,0,0,0,0,0
It should now look like this:
1,1,0,0,0,0,0,0,0,0
1,1,1,1,1,0,0,0,0,0
1,1,1,1,1,1,0,0,0,0
1,1,1,1,1,1,1,0,0,0
1,1,1,1,1,1,1,1,0,0
1,1,1,1,1,1,1,1,1,0
@RULE Tutorial
And now, select all of it and paste it into Golly, and it's life in all it's glory!
@TABLE
n_states:2
neighborhood:Moore
symmetries:permute
0,1,1,1,0,0,0,0,0,1
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,1,1,1,0,0,0,0,0
1,1,1,1,1,1,0,0,0,0
1,1,1,1,1,1,1,0,0,0
1,1,1,1,1,1,1,1,0,0
1,1,1,1,1,1,1,1,1,0