What it should look like
In this tutorial, we'll 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, travelling 1 cell every 2 generations. 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'll 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 a repeat of 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 Spaceship" or "c/2". Next, draw a symmetric pattern that fits in a 3x3 box in the G0 box within the rule editor.
For example, use the T tetromino 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
We will need to convert our T pattern into a spaceship. To do this, we need to know how to align our cursor. The orange box indicates our cursor position, and the white boxes indicates the same position in other generations. Now, enable a cell that causes our pattern to escape its bounding box.
Do not to enable birth with a 1 live neighbor or 2 adjacent neighbors, otherwise it will propagate photonic and explosive behavior, which we do not want for now.
Part 3
Our intermediate phase needs to serve as the predecessor for our first repeat. We need to arrange 2 or 3 neighbors in such a way as to allow escaping the bounding diamond without using relativistic behavior.
The greyed out cells are locked, because the rule applied was defined earlier. Make sure that it's 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 alternate between the two phases while the spaceship advances across the grid.
Now that we have completed our spaceship, we can start to see some natural patterns in the Pattern Viewer if we run a random pattern, including some period-2 oscillators and some occurrences of our tutorial spaceship. The spaceship should leave behind a movement trail.
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 B2e3ei/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.
Right now, our rule is kind of boring. Press Ctrl+N, name the new pattern "Chaotic", draw an 'o', and define several generations of irregular growth. If you're lucky, you might even find a medium-period oscillator!