Constructing a basic c/2 spaceship

Finding our first 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.

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.

How it works

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.

A spaceship's purpose

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.

Drawing first phase

Part 1

Draw the spaceship

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.

Basic rule edit

Part 2

Aligning with previous generations

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.

Completed second phase

Part 3

Completing our intermediate phase

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.

Completed p2 c/2 spaceship

Part 4

Finishing our spaceship

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

Suggested further explorations

1. Export

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.

2. Period 3 c/3 spaceship

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.

3. Chaotic reaction

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!