Staging
The four moments *First Light: Nearside* takes the camera off the player. Mounted on `mount_staging`; it owns no camera of its own, but installs `game.staging.NearsideCam` onto the local player's `CameraRig` and drives it.
Staging
The four moments First Light: Nearside takes the camera off the player.
Mounted on mount_staging; it owns no camera of its own, but installs
game.staging.NearsideCam onto the local player's CameraRig and drives it.
The opening
Earth over the plain, then down the sky to CINNAMON on the pad with the line of
first light already glowing behind it, then out into the chase. Eight seconds,
letterboxed, with the place named on screen. It ends by emitting introDone
and setting the phase to playing, so the run begins the frame the camera
settles.
A retry gets a shorter form — the last of the descent and the settle, about two and a half seconds — and coming back to the title card restores the full one.
Skipping it works from all three hands. The opening holds the cards' own
control scheme open while it runs, so confirm, back and resume end it:
Enter or Space on a keyboard, the south button on a pad, the button on the
glass on a touchscreen. While one of the screens slice's cards is up the skip
stands down, so a press is never answered by two things at once.
The beat
The frame bites in and shudders the moment the cargo crosses into hot or
cold. It is the half-second of warning you feel before you have read the
meter, and it lets go over the next second.
The ending
Won — the camera leaves the rover and swings across the face of Peary Station, 64 metres out, while CINNAMON runs the last of the lit approach into the airlock.
Lost — the camera rises and falls away from a rover that has stopped, and the line of first light comes over it.
What it publishes
local staging = NS.get("staging")
staging.intro() -- play the opening
staging.replayIntro() -- play it again, from the top, in full
staging.cameraMode() -- "follow" | "intro" | "beat" | "ending"
staging.aim() -- the live pose: eye, aim point, lens, framing
staging.screenYOf(point) -- where a world point sits down the frame, 0 top .. 1 bottom
staging.ready() -- whether the camera is installed on the local rig
Standing on its own
Every other slice is read through NS.get at the moment it is used, so this one
works with whatever exists: with no screens slice it opens the game itself after
a short grace, with no rules slice the chase still frames the rover, and with no
sound slice its cues are simply silent.
Fields
runIntro · soloOpening soloGrace · beatStrength beatHold beatShake
beatSeconds · cueVolume cuesEnabled.
Scoped to this part · feeds back into the world's score.