Pure Slate Conway's Game of Life
Posted: Thu Apr 02, 2026 3:50 pm
This is what I think spell circles are meant to be.
An implementation of Conway's Game of Life for a spell circle with base hex casting.
No addon functionality is used, but I strongly recommend having the Slate Works addon enabled when running this, or permanently powering the directrix — otherwise, it tends to freeze the game.
This hex is "pure slate", meaning the entire hex is on slates, and no program data is read from anywhere else.
While running over the sequence of slates, setup is done and the main quine is prepared. Then, the quine is run every 4 gameticks, iterating the game once every time.
Video of the circle being run: https://youtu.be/q2SWqCHjpxI
Implementation details
The game area is 22 × 22 blocks, and the hex gets close to both the stack size limit and the pattern limit.
One raycast is made for each block in the extended 24 × 24 block area for every iteration, so there are no redundant checks, and changing the blocks while the hex is running would change the game; there is no hidden state stored.
For visibility, Blocks are placed with Place Block, so the player needs to hold a sufficient supply of new blocks to place, and broken blocks accumulate as dropped items. For long runs, a water stream under the game area bringing the items back to the player would allow for unlimited placing. Blocks that remain alive are not broken and replaced.
Code followed by repeating Hermes' Gambit.
An implementation of Conway's Game of Life for a spell circle with base hex casting.
No addon functionality is used, but I strongly recommend having the Slate Works addon enabled when running this, or permanently powering the directrix — otherwise, it tends to freeze the game.
This hex is "pure slate", meaning the entire hex is on slates, and no program data is read from anywhere else.
While running over the sequence of slates, setup is done and the main quine is prepared. Then, the quine is run every 4 gameticks, iterating the game once every time.
Video of the circle being run: https://youtu.be/q2SWqCHjpxI
Implementation details
The game area is 22 × 22 blocks, and the hex gets close to both the stack size limit and the pattern limit.
One raycast is made for each block in the extended 24 × 24 block area for every iteration, so there are no redundant checks, and changing the blocks while the hex is running would change the game; there is no hidden state stored.
For visibility, Blocks are placed with Place Block, so the player needs to hold a sufficient supply of new blocks to place, and broken blocks accumulate as dropped items. For long runs, a water stream under the game area bringing the items back to the player would allow for unlimited placing. Blocks that remain alive are not broken and replaced.
Code
Code: Select all
Greater Fold Reflection
Lesser Fold Reflection
Subtractive Distillation
Vector Disintegration
Bookkeeper's Gambit: v-
{
Numerical Reflection: 0
Single's Purification
Vacant Reflection
Rotation Gambit
{
Hermes' Gambit
Gemini Decomposition
Numerical Reflection: 0
Selection Distillation
Numerical Reflection: 1
Additive Distillation
Speaker's Distillation
}
Jester's Gambit
Gemini Gambit
Hermes' Gambit
Retrograde Purification
}
Undertaker's Gambit
Hermes' Gambit
Rotation Gambit II
Hermes' Gambit
{
Dioscuri Gambit
Undertaker's Gambit
{
{
Numerical Reflection: 0
Jester's Gambit
Vector Exaltation
Greater Fold Reflection
Jester's Gambit
Subtractive Distillation
Vector Reflection +Y
Archer's Distillation
Augur's Purification
Length Purification
Flock's Reflection
Flock's Gambit
Derivation Decomposition
Bookkeeper's Gambit: v-
}
Rotation Gambit
Thoth's Gambit
Flock's Reflection
Flock's Gambit
Derivation Decomposition
Bookkeeper's Gambit: v-
}
Jester's Gambit
Thoth's Gambit
Jester's Gambit
Speaker's Decomposition
Bookkeeper's Gambit: v
Derivation Decomposition
Bookkeeper's Gambit: v
Rotation Gambit
Speaker's Decomposition
Bookkeeper's Gambit: v
Derivation Decomposition
Bookkeeper's Gambit: v
{
{
Rotation Gambit II
{
Additive Distillation
Selection Distillation
Rotation Gambit II
{
Additive Distillation
Selection Distillation
Flock's Reflection
Flock's Gambit
Derivation Decomposition
Bookkeeper's Gambit: v-
}
Jester's Gambit
Thoth's Gambit
Flock's Disintegration
Additive Distillation
Additive Distillation
Flock's Reflection
Flock's Gambit
Derivation Decomposition
Bookkeeper's Gambit: v-
}
Numerical Reflection: -1
Numerical Reflection: 0
Numerical Reflection: 1
Numerical Reflection: 3
Flock's Gambit
Numerical Reflection: -3
Fisherman's Gambit II
Thoth's Gambit
Flock's Disintegration
Additive Distillation
Additive Distillation
Bookkeeper's Gambit: vv--
Rotation Gambit II
Numerical Reflection: 0
Rotation Gambit
Vector Exaltation
Greater Fold Reflection
Jester's Gambit
Subtractive Distillation
Undertaker's Gambit
Vector Reflection +Y
Archer's Distillation
Augur's Purification
{
Gemini Decomposition
Numerical Reflection: 3
Equality Distillation
Jester's Gambit
Numerical Reflection: 4
Equality Distillation
Disjunction Distillation
Vacant Reflection
{
Break Block
}
Augur's Exaltation
Hermes' Gambit
}
{
Numerical Reflection: 3
Equality Distillation
{
Place Block
}
Vacant Reflection
Augur's Exaltation
Hermes' Gambit
}
Augur's Exaltation
Hermes' Gambit
Flock's Reflection
Flock's Gambit
Bookkeeper's Gambit: v
}
Rotation Gambit
Thoth's Gambit
Flock's Reflection
Flock's Gambit
Bookkeeper's Gambit: v
}
Jester's Gambit
Thoth's Gambit
Bookkeeper's Gambit: vvv
{
Bookkeeper's Gambit: --
}
Flock's Disintegration
Numerical Reflection: 127
Prospector's Gambit
Surgeon's Exaltation
}
Numerical Reflection: 127
Prospector's Gambit
Surgeon's Exaltation