Skip to content

All work / Personal

Leadlight Online stained-glass board game for 2–4 players

An original tile-drafting board game: draft glass from kiln plates and set it into your arched window. Play against bots, on one screen, or online with friends from a shared link.

What it is

Leadlight is a board game I designed and built for playing with friends in the breaks. Each player is a glazier: on your turn you take all the glass of one colour from a kiln plate, and the leftovers slide to the centre. Glass waits on a 3×3 light table until the end of the round, when you lift straight lines of it as panels and drop them into the columns of your arched window. Long connected runs score, glass may never sit on its own colour, and jewel panes reward the colour they ask for.

One rules engine everywhere

The rules, the turn clock and the bots live in one TypeScript module shared by the server and the browser. Every move is an action the engine validates before it touches the state, and it answers with events that the table animates. Bot and same-device games run entirely in the browser; online rooms run the same engine on the server, which stays authoritative. A simulator plays hundreds of bot games through the engine and checks its invariants on every move.

Rooms and hosting

Online play is a single Node process: Next.js serves the pages and a WebSocket server holds the rooms in memory, with rate limiting, idle-room cleanup and a token-protected admin dashboard. It ships as a Docker image.

More work

Esc

↑↓ to move · Enter to open · Esc to close