134 variants from a single declarative engine. Standard 8x8, hexagonal boards, 4-player battles, fairy pieces, and everything in between. Each variant is a configuration file. The engine does the rest.
Every variant below is defined entirely in frontmatter. The same engine, the same renderer, the same AI. Only the configuration changes.
A 10x8 board with two fairy pieces: the Archbishop (bishop + knight) and Chancellor (rook + knight). Wider board, deeper tactics. The engine composes piece behaviour from primitives, no special-case code.
engine:
topology:
type: grid
rows: 8
cols: 10
players: [white, black]
setup: "rnabqkbcnr/pppppppppp/10/10/10/10/PPPPPPPPPP/RNABQKBCNR"
promotionChoices: [queen, rook, bishop, knight, archbishop, chancellor]
plugins:
chess:
pieces:
archbishop:
type: compose
parts: [bishop, knight]
chancellor:
type: compose
parts: [rook, knight]
Capablanca Chess (10x8) — playable with AI opponent
Chess on a 91-cell hexagonal board. The topology changes from grid to hex, piece movement adapts automatically. Three bishops per side, one per cell colour. Same plugin, different geometry.
engine:
topology:
type: hex
radius: 5
shape: hexagonal
orientation: flat
players: [white, black]
setup: "-1,-1:p,-1,-4:q,-1,2:P,-1,5:Q,..."
plugins:
chess:
pieces:
king:
type: rider
dirs: all
maxSteps: 1
queen:
type: rider
dirs: all
rook:
type: rider
dirs: orthogonal
bishop:
type: rider
dirs: diagonal
knight:
type: leaper
offsets: hex-knight
pawn:
type: pawn
advance: orthogonal
Glinski's Hexagonal Chess (91 cells) — hex topology, same rules engine
Four players on a 14x14 board with corner voids. Each army advances in a different direction. The engine handles N-player rotation, per-player advancement vectors, and asymmetric captures without any chess-specific multiplayer code.
engine:
topology:
type: grid
rows: 14
cols: 14
voids: [[0,0],[0,1],[0,2],...]
players: [red, yellow, green, blue]
plugins:
chess:
playerCount: 4
advancement:
0: [-1, 0]
1: [1, 0]
2: [0, -1]
3: [0, 1]
doubleStep: false
castling: false
enPassant: false
noCheck: true
pieces:
set: mce-4player
setup: "3,yR,yN,yB,yK,yQ,yB,yN,yR,3/..."
Four-Handed Chess (14x14, 4 players) — N-player rotation, directional pawns
Every variant is playable right now with AI opponents at multiple difficulty levels.