Log inGet started
World

Lamplighter's Round

Branchmain
Branchesmain
Commitea9749977c

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 Dwalk
Mouselook — 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 AGAINstart 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

PathWhat it is
game/core.modulethe frozen interface — layout constants, the one Core.state table, the lamp registry, Core.lightAt(x, z), and the event bus
game/rules.moduleDread, oil, hold-to-light, the Ember economy, the prelude, and win/lose resolution
game/district.modulethe street: 447 parts built by code on load, the nine lamp posts, the camera framing, and the fog / bloom / tonemap post chain
game/dread.modulethe Pale, the dreadveil grade, the heartbeat, and the HUD driver
ui/hud.modulethe 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.