Log inGet started
World

Ironspine

Branchmain
Branchesmain
Commit9a7cce6233

README.md

spine

The tower and the route: the vertebral column of the dead colossus, and the salvage line a long-gone crew left on it.

What it builds

  • The column — tapering ribbed vertebrae with heavy end flanges, bolt rows, rib spurs, a dorsal blade, hull plating and a conduit run, with a hydraulic joint spacer between each pair. Four mesh variants, instanced and rotated up 190 m, each carrying a mesh collider.
  • The stringer — a twin brass rail bolted up the column, following the route exactly. It is the route marker: a bright line on black iron that reads from the water, and where it stops ("the blank") the pitch has got serious.
  • The route — 300-odd holds spiralling up in ten named pitches, every one of them registered with Game.addHold as its geometry is placed.
  • The Crown Beacon — a neck, a deck ring on buttresses, twelve brass ignition handles, a lantern cage and an aerial. The lens answers Game.state.beaconCharge and stays lit once the phase is won.
  • Set dressing — torn cabling, hanging chain, wreck slabs caught in the joints, the colossus's other ribs breaching the sea, and the salvage deck at the foot with its winch, crates, railings and floodlight masts.

Reading the route

Colour is the level design. A climber never needs a waypoint:

What you seeWhat it is
brass twin railthe route; follow it
bright brass rung / ledge / verdigris pipea good hold
red, jagged, flaking flangea crumbling hold — it goes under load
a sodium lampa piton anchor; a fall past it costs the pitch, not the run
cold blue at 190 mthe Crown Beacon

The pitches are authored in ROUTE at the top of init.luau: each has its own angle sweep, hold spacing, hold kinds, grip quality and crumble rate. Difficulty rises with altitude physically — the holds get smaller, further apart and worse, the crumbling ones get more frequent, and the crew's rail runs out.

Ticking

Spine.update(dt) drives the lamp flicker, the beacon, and crumble holds shearing off the wall. The slice also drives itself off its own root entity, and the two callers are made idempotent by a timestamp, so the tower keeps answering even when the assembler's bookkeeping is reset by a hot reload.