What it should look like
In this tutorial, we will construct a small spaceship that is bilaterally symmetric. For example, you could draw a T, U, or V shape in G0 and then manipulate the later generations to guide it around the grid.
Tutorial 01
This page is a detailed tutorial describing how to find a spaceship using RuleEngineers. Spaceships are a key part of great rules, so this is a good first step for learning how to use RuleEngineers.
Constructing a basic c/2 spaceship
In this tutorial, I will walk you through how to find a basic period-2 c/2 orthogonal spaceship. Such a spaceship would travel 1 cell every 2 generations. Fortunately, these kinds of patterns are easy to engineer, and are a good first addition to your rule before you move to more advanced interactions.
In this tutorial, we will construct a small spaceship that is bilaterally symmetric. For example, you could draw a T, U, or V shape in G0 and then manipulate the later generations to guide it around the grid.
To convert our new pattern into the spaceship, we will modify the G1 pattern to be an intermediate pattern, and then G2 to be the pattern in G0 translated 1 cell forward.
Small spaceships can be manipulated in different ways to function as a signal. Some examples of manipulation include collision with stationary patterns to split or reflect them, or other spaceships in the form of spaceship synthesis.
Part 1
Create a new rule with 2 states, and rename the first pattern to be "Tutorial". Next, we need to draw a 3x3 symmetric pattern in the G0 box within the rule editor.
For example, you can use the T pattern depicted in this screenshot. Make sure that the pattern "points" in a specific direction and is not rotationally symmetric. Otherwise, it won't be possible to convert it into a spaceship.
Part 2
Next, we need to convert our T pattern into a spaceship. To do this, we need to align our cursor. The orange box indicates our cursor position, and the white box indicates the same position in previous generations. We need to find a cell such that it has two adjacent corner neighbors and 0 or 1 edge neighbor, as depicted in the screenshot. Right-clicking will edit the underlying cellular automaton.
Make sure not to enable birth with a 1 live neighbor or 2 adjacent neighbors, otherwise they will propagate relativistic and explosive behavior, which we do not want.
Part 3
Our intermediate phase needs to serve as the predecessor for our first repeat. Two or three neighbors arranged in the "L" pattern displayed in the screenshot are sufficient to allow us to expand outside of our bounding diamond.
The greyed out cells are locked, because changing them will break previous generations of the pattern. Make sure that it is possible to paint our translated spaceship within the unlocked cells of G2.
Part 4
Now that we completed our intermediate phase and ensured that we can paint our translated spaceship, go ahead and complete the spaceship translated 1 cell in the desired direction. Watch as the later generations begin to oscillate between our two phases and travel forwards.
Now that we have completed our spaceship, we can start to see some patterns in the Pattern Viewer, including some period-2 oscillators and some occurrences of our tutorial spaceship. Make sure that our spaceship moves accross the grid over time.
Further excercises
To export our rule for use in other CA simulators, use Alt+E for 2-state Hensel rules, and Alt+R for Golly ruletables. For example, our tutorial spaceship comes out to B2ce3ei/S2ac. Alternatively, use Ctrl+S to save it in RuleEngineers format for use later.
Instead of a c/2 spaceship like the one we just constructed, try making one that moves forward 1 cell every 3 generations. This spaceship type would require 2 intermediate phases.
Press Ctrl+N, name the new pattern "Chaotic", draw a small '+' shape, and make it a small explosion such as a traffic light reaction. If you're lucky, you might even find a medium-period oscillator!