Lamplighter's Round
- ..
- README.md4.4 KB
- retrospective.md17.6 KB
- spec.md11.6 KB
README.md
Lamplighter's Round
It is the last hour before dawn in a fog-drowned Victorian district. Nine gas lamps have gone out. The fog is not weather — it is where the Pale moves, and the Pale only moves where there is no light.
You are the lamplighter. Walk the round, hold your taper to each dead lamp until it takes, and the light pushes the fog off that stretch of street. Light all nine before your nerve gives out.
How to play
| W A S D | walk |
| Mouse | look — the camera orbits your shoulder and slides low or high with it |
| E (or the pad's west button, or the on-screen button) | hold the taper to a dead lamp |
| WALK IT AGAIN | start a fresh round from a win or lose card |
The one meter that matters is DREAD, bottom left. It rises every second you are away from a burning lamp — slowly at first, then faster the longer you stay out — and falls hard the moment you step into gaslight. At full Dread the round is over.
Your lantern is shelter, not light. It does not let you see; it keeps your nerve, and it scales the Dread you take while the oil lasts. Oil drains only in the dark, and faster the faster you move, so sprinting a crossing is a trade rather than a free win. Standing under a burning lamp refills it.
Holding the taper pins you. You cannot move a step while the flame takes, Dread runs faster while you hold, and a full bar makes your hands shake and the lighting slower. Letting go does not throw the attempt away — the flame gutters back rather than resetting — but a flinch costs you.
Each lamp lit earns one Ember. Spend them, standing in lamplight, on Reach (light a lamp from further out), Stride (walk faster) or Wick (the flame takes sooner). Rank n costs n Embers and every track stops at 3, so nine Embers can max one track and open a second — never all three.
The Pale hunts the dark. Lamplight makes you visible to it but safe from it: it will not walk into a burning lamp's pool, and if it reaches you at the edge of one the light throws it back across the district. In the dark it can have you, and that ends the round.
Four endings: DAWN (all nine burning), THE DARK (your nerve went), THE LANTERN (you ran dry and the dark had the rest), THE PALE.
What is in here
| Path | What it is |
|---|---|
game/core.module | the frozen interface — layout constants, the one Core.state table, the lamp registry, Core.lightAt(x, z), and the event bus |
game/rules.module | Dread, oil, hold-to-light, the Ember economy, the prelude, and win/lose resolution |
game/district.module | the street: 447 parts built by code on load, the nine lamp posts, the camera framing, and the fog / bloom / tonemap post chain |
game/dread.module | the Pale, the dreadveil grade, the heartbeat, and the HUD driver |
ui/hud.module | the HUD and the end cards — a pure view, it decides nothing |
art/ | three procedural shaders (volumetric lamp fog, wet cobbles, soot brick) and eleven materials |
vendor/ | the stalker predator brain and a Victorian stone/brick/slate set, both installed from ZeroMind |
Nothing is baked into scenes/main.scene/scene.json — it holds ten entities,
the ground, the sky, the lights and the player spawn. Every other object in the
district is spawned by district.build() on load and dies with the District
root, so the world is rebuilt from code every time it opens.
What is rough
- The round is hard to finish. Driven end to end it wins in about 40 seconds when the walking is clean, but a real round spent fighting the fog usually ends around the fourth or fifth lamp. The Pale is the thing that ends it almost every time; death by Dread alone is rare now.
- Walls do not slide. Pressing into a wall at an angle stops you dead instead of sliding you along it, so a corner has to be backed out of.
- The avatar is the stock humanoid. It reads as a silhouette in the dark and in gaslight, which is most of the game, but it is a robot up close and nothing about it says lamplighter.
- The far skyline is plain blocks. They are only ever meant to be a change in the grey, and in clear air at the edge of the district they read as boxes.
- Frame time is heavy on a machine sharing the engine with other work; the fog march is 20 steps a pixel and the HUD repaints several times a second.