Rithmomachia: initial setup

I’ve gone down a rabbit hole on Rithmomachia, a cool game I’m learning about. There are a number of different versions but we will introduce just one.

It is played on an 8×16 grid, which can be checkered or plain, between two players, Black and White. Each player starts with twenty-four pieces: eight circles, eight triangles, and eight squares. Each piece has a specific numerical value. The pieces are arranged on the board at the start of the game according to a specific configuration.

Each piece type moves in a specific way, but different movement rules for different versions:
●​ Circles: Move one space orthogonally (or one space diagonally, depending on the version).
●​ Triangles: Move two spaces horizontally or vertically.
●​ Squares: Move three spaces horizontally or vertically.

One square piece from each side is designated as a “pyramid” with special properties. No piece can jump over another, and no move can return the game to a previous state. Unlike chess, pieces capture without moving into the captured piece’s space. There are six different ways to capture:
●​ 1.​ Numbering: When a piece can move to a position with an enemy piece of the same value
●​ 2.​ Addition: When two pieces can capture an enemy piece whose value equals their sum
●​ 3.​ Subtraction: When two pieces can capture an enemy piece whose value equals their difference
●​ 4.​ Multiplication: When a piece can capture an enemy piece whose value is a multiple of its own value, with the multiplier being the number of empty spaces between them
●​ 5.​ Division: Similar to multiplication, but in reverse
●​ 6.​ Siege: When an enemy piece is surrounded with no legal moves

Rithmomachia allows several ways for a player to declare a win: “common” (minor) victories and “proper” (major) victories. A Common Victory is one where the first player to capture a certain number of enemy pieces whose total value exceeds a certain threshold is the winner. Here the number of captures and the threshold are agreed upon by the players before the game. A Proper Victory is where one side arranges a 3 piece fireteam in enemy territory where the values of those friendly pieces form a progression (arithmetical, geometrical, or harmonic).

Here’s an early version of Professor Pyramid, also using matplotlib:

The Professor shows the basic setup and also how some of the pieces move. Future Professor Pyramid videos will be done in Blender.