r/tiling • u/FabulousThanks3373 • 2h ago
Minesweeper on different tilings
I've built minesweeper over different tilings. Posting it here because it is on topic and crowd should understand this well.


Flat, by family:
- Regular — squares, hexagons, a triangle grid, plus four boards whose outline is a polygon of the tiling's own symmetry, exactly filled: triangles on a triangular board, triangles on a hexagonal board, hexagons on a hexagonal board, hexagons on a triangular board.
- Uniform — the eight non-regular Archimedeans: 3.3.3.3.6, 3.3.3.4.4, 3.3.4.3.4, 3.4.6.4, 3.6.3.6, 3.12.12, 4.6.12, 4.8.8.
- Laves — their eight duals, built mechanically from the templates rather than drawn by hand: prismatic pentagonal, Cairo pentagonal, rhombille, floret pentagonal, tetrakis square, triakis triangular, deltoidal trihexagonal, kisrhombille.
- Isogonal — six tilings by regular polygons that are not edge-to-edge, where a tile's corner lands in the middle of its neighbour's edge: offset square, staggered triangular, Pythagorean, rotated hexagonal, rotated triangular, three-scale triangular. The T-vertices have to be recorded so adjacency still works, then dropped again before any tile is measured.
- Congruent rectangles — five brick bonds, where all the interest is in how the courses stagger: stacked, running, basket weave, basket weave 3×3, herringbone.
- Aperiodic — Penrose P3 rhombi; the Spectre, Tile(1,1), whose tiling uses rotations only and never mirrors a tile; a phyllotactic spiral of one equilateral hexagon with angles 72°/144° in five arms, nonperiodic because a five-fold centre forbids any translation; and brick rings, 2×1 bricks in concentric square rings about a 2×2 core, nonperiodic by symmetry rather than by substitution.
- Fractals — sphinx, chair, Sierpiński carpet, pentaflake, Gosper island.
Each periodic family also wraps a cylinder and a torus, and — unless the tiling is chiral — a Möbius strip and a Klein bottle too. That comes to 180 boards.
Three details worth pulling out:
Adjacency never rounds. Vertices are exact hashable ids and two cells are neighbours exactly when they share one, with no floating-point tolerance anywhere. The arithmetic follows the tiling: ℤ[ζ5] for Penrose, ℤ[ζ12] for the Spectre, ℤ[ζ10] for the pentaflake, since five-fold symmetry needs rank 4. The Spectre's rotation ring is dense in the plane, so there's no lattice to snap a float back to — its placements are carried as exact (rotation, mirror, translation) triples and no floating point enters the substitution at all.
The Spectre is stored as a 14-gon and drawn as a 13-gon. The 14th corner is collinear and exists only so that shared-vertex adjacency finds the right neighbour; it's dropped before the shape is measured, so the tile measures as the 13-gon it looks like.
Chirality decides which boards exist. Both the Möbius and the Klein seam reverse orientation, so the snub hexagonal 3.3.3.3.6 and the floret pentagonal wrap a cylinder and a torus and cannot wrap a Möbius strip or a Klein bottle — the menu just doesn't offer those. Same for the chiral Spectre. And one tiling, the three-scale triangular (p3), reverses y at no height in any orientation, so it's the single tiling with no cylinder either: it ships flat and on the torus only.
Playable free in the browser, no account.
Penrose: https://hypersweeper.pages.dev/?mode=penrose&difficulty=medium
The Spectre: https://hypersweeper.pages.dev/?mode=spectre&difficulty=medium
