All the Director’s games

How the Director made Lamplighter

“A small Sokoban-like puzzle: a lighthouse keeper pushes oil drums onto the lamp pads to relight the lighthouses. Five short levels that get harder.”

What the person asked for, 1 October 2026

A separate Claude Code session was the Game Director for an empty game, on the grid-puzzle template. It had Gamewright's tools and nothing else: no shell, no way to read files, no way to write code. Everything it learned came through the tools, and everything it changed was a proposal. The person decided on each one, answered briefly, and looked at the game before saying it was played.

Lamplighter, a frame the engine drew in the browser
Lamplighter, as it plays on this site.
Turns
6two lost to a server fault
Model time
$10.55
Changes applied
10and 1 draft replaced by a later one
Commits
11in the game's own history
New kits needed
None
Asked the engine for
1a backdrop for the grid: built, then used

The conversation, turn by turn

The person’s words are quoted as they were said. The rest is what the Director did, in plain words, from the run’s own record.

What the words mean: proposal, checks, playtest, played
Proposal
Every change the Director makes is a proposal: the documents it would change, checked before anyone is asked. The person approves it or turns it down, and can undo it later. Proposals can be stacked, each on one not yet approved; they are approved in order.
Checks
Before a person sees a proposal, every document is checked, the game boots twice and must end the same both times, and its playtests run. The frames it draws are checked when asked.
Playtest
A test the game carries with it: bots play the game and a result is checked, such as whether a bot that dodges wins its fights.
Played
The person's mark that they have played the game. Until then a game keeps placeholder looks.
Asking the engine
When a game needs something the engine can't express, the Director asks for it instead of faking it. The engine may grow a kit: a reviewed feature every game can use.
Model time
What each of the Director's turns cost in model use, as recorded at the time.
  1. Turn 1

    Cost
    $1.76
    Time
    not recorded
    The person

    “A small Sokoban-like puzzle: a lighthouse keeper pushes oil drums onto the lamp pads to relight the lighthouses. Five short levels that get harder.”

    The Director

    Wrote a brief (no one gets hurt; undo and restart always work), the game, and a first playable version: the keeper, drums, pads, rocks, the push rule and five levels.

    Each level teaches one idea: a straight push, getting behind a drum, a dead-end shaft, three pads close together, and an order in which to light the lamps.

    The template has two questions. It answered them from the description rather than guess silently, and said so.

    Proposed

    The brief, the game and the first playable version.

    The checks

    The solver proved all five levels can be won, and a playtest replayed each solution in the engine.

  2. Turn 2

    Cost
    $2.77
    Time
    39 min 36 s
    The person

    Played it, then said:

    “mark it played, then a rocky lighthouse coast at dusk, drums and pads that read at a glance, a lamp that lights when a pad is filled”

    The Director

    Marked the game as played. Then the look and a new rule: a drum on a pad becomes a lit lamp, and goes back to a drum if pushed off; a level is won when every pad is lit.

    It put an islet in a sea around every level, and started the first level, First Light, with one lamp already lit, so the goal shows.

    Nothing it knew of could colour the grey margins around the board, so it asked the engine for that.

    Proposed

    Four proposals: dusk colours, the lit-lamp rule, the islet, and a first lamp lit.

    The checks

    With the new rule, the solver proved all five levels again.

    Two Lamplighter levels side by side. First Light: a cream keeper, a rust-red drum, one lit yellow lamp and an empty pad, inside a ring of lilac rocks on navy. The Great Light: three drums, three pads and the keeper in a bigger maze. Around both, a plain dark grey margin.
    Lamplighter at dusk, before the sky: First Light with one lamp lit, and The Great Light. The grey around them is the margin nothing could colour yet.
  3. Turns 3 and 4

    Cost
    $1.46 for both turns
    Time
    not recorded
    The person

    “The margins still read as an editor”

    The Director

    Lost its tools both times: Claude Code gave up on Gamewright's server while listing the game's documents (see what the run found, below).

  4. Turn 5

    Cost
    $4.06
    Time
    not recorded
    The person

    Said the same again, after the server was fixed.

    The Director

    Searched everything the engine can do, and said plainly that nothing could colour the margins. It named the nearest miss, a gradient drawn over the top of the game, and advised against it.

  5. Turn 6

    Cost
    $0.50
    Time
    3 min 49 s
    The person

    “The engine team built your backdrop request”

    The Director

    Found the new colour slots on its own, and made the sky in one change that touched only the look: indigo overhead to a coral glow at the foot.

    No check measured text contrast yet, so it worked that out by hand. And it said what it hadn't seen: levels 2 to 5, and the panel shown when a level is solved.

    Proposed

    One change to the look: the sky.

    First Light, now under a sky that runs from indigo at the top to a coral glow at the bottom.
    The dusk sky behind First Light, as the Director's preview drew it.

The result: Lamplighter

Lamplighter: push every oil drum onto a lamp pad. A drum on a pad becomes a lit lamp, and a level is won when every lamp burns. Five levels, each teaching one idea, on an islet under a dusk sky.

What it proved

  • The solver proves all five levels can be won.
  • A playtest replays every solution through to the end screen, and restarts from a trap.
  • It needed no new kit: the grid-puzzle template and documents were enough.

Controls

Arrow keys or WASD
Move
.
Let a turn pass without moving
Z or U or Backspace
Take back the last turn
R
Start the level again
Enter or Space
Go on to the next level once this one is solved

Plays on a phone or tablet too, with on-screen controls.

Lamplighter’s own page, with the other games

What the run found, and what happened to each

Each finding as the run’s write-up recorded it, and what has happened since.

  1. A server timeout lost two turns.

    Fixed

    Claude Code lists what a server offers as it connects, and gives up after 30 seconds. Listing the game's documents ran the whole game check, which solves every level: 29 seconds on Lamplighter.

    Listing and reading a document now only reads the game, and the solver remembers the levels it has solved. The server now answers in 1.5 s, and turn 6 took 229 s where turn 2 took 2,376 s.

  2. A gap the engine's vocabulary hid.

    Fixed

    The grid view read one backdrop colour, named only inside a sentence of its description.

    Views now declare the colours they read, the vocabulary lists them, and the grid view takes a top and a bottom colour for a sky. The Director found them on its own on its next turn.

  3. Nothing checked text contrast.

    Fixed

    The Director worked it out by hand.

    Being added when the run was written up. Since then, the frame check measures the contrast of every text the engine draws, and fails it under 3:1.

The other runs

All of the Director’s games