Topologic Games

Back to the games

1.0 What this is

Chess and Go, played on surfaces other than a bounded square. The rules of each game are untouched - what changes is what happens when a piece, a stone, or a line of sight crosses the edge of the board. Depending on the mode, edges wrap around, reflect like mirrors, rotate into an adjacent copy, or stay solid walls.

Mathematically, every mode is the same construction: the game is played on a quotient of the infinite plane. Pick a group of symmetries (translations, reflections, rotations, glides), tile the plane with copies of the board related by those symmetries, and identify all the copies. The board you see repeated in the play view is that tiling; the seams drawn between tiles show which symmetry glues them together.

In the engine this is literally one function per mode: project(row, col) maps any coordinate of the infinite plane back onto the canonical board. Adjacency, move generation, capture logic, scoring, and the tiled rendering are all derived from it.

2.0 Reading the board

Enable BOUNDARIES in the sidebar to see the structure of the tiling:

Hover a Go intersection and the ghost stone appears on every copy at once - all of them are the same point of the underlying surface.

3.0 Census

Every (game, topology) pair. GROUP and ORBIFOLD give the symmetry group of the tiling in IUC and Conway orbifold notation; SURFACE is the quotient you are actually playing on. MOVE-0 is evaluated by the engine: it sets up the standard position on that topology and checks whether the side to move has a legal move. SING. CELLS counts cells that are adjacent to themselves (cone points and mirror-boundary cells), computed from the projection map. VERDICT is derived, never assigned: DEAD if the game is decided at move zero, QUIRKS if singular cells exist or the surface is non-orientable, OK otherwise.

Degenerate games are kept exactly as they fall - see the design principle in the repository docs. Which topologies produce interesting games is this project's open research question; this table is the raw data.

4.0 The topologies