moments
The staged beats of *First Light: The Three Fires*, as cutscene definitions.
moments
The staged beats of First Light: The Three Fires, as cutscene definitions.
local M = require("game.light.moments")
cutscene.play(M.opening())
cutscene.play(M.ending("triunity", false))
| Builder | The beat |
|---|---|
M.opening() | Three shots, 10.2 s: the plateau from beyond the southern rim with the eastern sky over it, a fall to the Eternal Well, and a settle into the framing the game is played in. |
M.ending("triunity", cardIsUp) | 7.4 s: lift off the keeper, then level out facing the sunrise with the three fires standing between the camera and the light. |
M.ending("grey", cardIsUp) | 7.0 s: drift low toward Adur Farnbag, then back away under a sky that never quite caught. |
M.ending("lost", cardIsUp) | 6.4 s: hold on the dark keeper, then rise off the plateau — three cold altars, the stars still out. |
cardIsUp says the end card is already on screen, and drops the beat's
letterbox so it does not cut the card in half. The loop declares a total loss
the moment the third fire dies rather than waiting for dawn, so the lost beat
usually plays under its card.
Why they are built and not written down
Each builder runs at the moment it is played, because the lens every shot
uses is derived from the LIVE screen shape — the same beat has to read on a
phone held upright and on a television, and one fixed field of view cannot do
both. The rule is the one TempleCam frames the game with: keep the authored
angle where the screen is wide enough, open up where it is not, and never
past 72°, where the frame starts to read barrelled. A shot that wants more
than that is asking a 3:4 frame to hold more ground than it can — shrink its
span instead of raising the ceiling.
Every anchor is a world position taken from FL. No shot names an entity, so
a beat still plays while another slice is rebuilding the thing it looks at —
a shot whose anchor names a missing entity is refused outright.
Nothing here speaks
The Old Keeper's lines are the loop slice's, said through FL.say and
captioned by the screens slice. A cutscene carrying its own subtitles would
print every line twice.
Scoped to this part · feeds back into the world's score.