Mini Metro — Procedural Stations, Drawn Lines, Overflow Game Over
Stations spawn as shapes. Passengers want matching shapes. Draw lines, run trains, overflow ends the run. Mike Bithell minimalism, hand-rolled.
What this is
Off-white paper background. A meandering powder-blue river. Stations of three core shapes (circle, triangle, square) spawn over time, weighted away from existing clusters; rare shapes (diamond, plus, star) unlock at week 4. Click and drag from one station to another to draw a colored subway line; continue dragging through more stations to extend it. Trains spawn one per line and run back and forth, picking up passengers (FIFO, smart — they only board if their destination shape exists on that line) and dropping them at matching-shape stations. Each station has a six-passenger capacity. Go over and a red ring fills around the rim — when it completes, the run ends. Each in-game week (~30 seconds) you pick a reward from a modal: a new line + train, a tunnel/bridge, or a carriage upgrade (+2 capacity for all trains). Pause with space, speed up with 1/2/3.
Why this is mind-blowing
Mini Metro is a masterclass in subtractive design — and recreating it forces you to confront how few mechanics a game actually needs. One canvas, no libraries, every system rolled by hand: spawn distribution, river crossing detection, line geometry, FIFO scheduling, weekly upgrade modal. The game still runs at 60fps when you've drawn six lines and a hundred passengers are in transit.
Single-file Mini Metro clone in Canvas. Procedurally-spawning stations (circle, triangle, square — passengers want matching shape). Draw lines between stations (click + drag). Trains run along lines picking up + dropping off. Stations have a 6-passenger capacity — overflow = game over. New lines + cars + tunnels weekly. Minimalist Mike Bithell aesthetic.
Paste this into Claude, Cursor, or Copilot. Change one thing that matters to you.
What I learned shipping it
- Reject-sampling station spawns weighted away from existing clusters (and off the river) makes a city grow organically without a hand-tuned spawn schedule.
- Smart-FIFO passenger pickup — only board passengers whose destination exists somewhere on the line — is what separates 'works' from 'fun.' Without it, trains haul random freight and overflows are inevitable.
- Every weekly upgrade is a constraint relaxation, not a new mechanic. New line, tunnel, carriage — same engine, more rope. That's the design pattern that makes Mini Metro readable.