12.1a — Grid/Symmetry Jam: Kickoff & Pitch
The exam is behind you. The games are not. Third jam, and the constraint is structural this time: a GRID with SYMMETRY — the design language of Tetris, Picross, chess, Snake, Minesweeper. When the grid is the rule, every design decision multiplies.
What the constraint means:
- Grid: movement, placement, or both snap to cells — think in indices, not coordinates (your 7.1 tilemap was a grid you PAINTED; this one you PROGRAM)
- Symmetry: the game state, the board, or the CONTROLS mirror somehow — vertical (chess: both sides same), rotational (Tetris: each piece is its own mirror), or player-vs-player (both play identical rules)
- Either half may dominate: a grid game with light symmetry, or a symmetric duel on a grid
You have already done grid math without noticing:
your hand of cards rendered by index
(10.2c — position = index × spacing).
A grid is that, in two axes: x = column * cellSize.
The symmetry half? Your turret personalities
(3.4) were mirrored difficulty —
same idea, one axis up.
Socratic
Symmetry is a GENERATOR: define one half, mirror it, get the second half free. Where in code does that save work (spawn positions? level halves? an AI that plays YOUR OWN rules — like your card AI (10.2d) but as player two)? Which symmetry would make your game's content FREE?
Pitch card (10 min):
- One sentence: "a grid game where ___ is symmetric because ___"
- The core loop: one move, its consequence, why it repeats
- The symmetry's JOB: fairness (duel)? difficulty (mirror match)? beauty (pattern play)? — name it
- Reused-parts list (10.1a rules: honest inventory)
30-second pitches → votes → teams of 1–3 (same contracts as every jam). This is the last new-team formation of the year: choose for who you work WELL with, not who you sit near.
Checkpoint — before moving on, you must be able to:
- Name three real grid games and their symmetry type
- Pitch a grid+symmetry loop in one sentence
- Define the input → grid mapping in your README
Reference Docs
Need a deeper explanation? These pages cover the same concepts:
- Lists & Arrays — a grid is a list of lists
- Unit 12: Season 2 — the last jams
Saved on this device only — the Dashboard tracks your progress.