Ledger
Mounted once, on the scene's `mount_memory`. The city, awake.
game.memory.Ledger
Mounted once, on the scene's mount_memory. The city, awake.
It does three things and owns nothing else.
1. It keeps the city's calendar
One game day is six real minutes. It drives game.memory's day and clock, announces each new hour on
the bus (Core.events.clockTick), says when the player crosses into a new district
(districtEntered), and writes the store to disk every saveEvery seconds.
2. It puts the street's stories in the world
Missions in this game are not markers on a map. They are things the player walks past, and how they move through them is the choice.
Each entry in this component's chain table names a place, two people, what is overheard, and what investigating it does. The chain stands its actors in the world at load. Then:
- walking within
approachmetres of it is investigating it — the dialogue plays, the act is recorded, and a chain opens that can be picked up later; - coming within
noticemetres and then walking away past it is ignoring it, and that is recorded too, with its own weight.
Two chains ship: Two men outside the Osprey (South Docks, at the Osprey Diner in
Core.landmarks) and Someone in the alley off Delancey (Old Town). Each leaves a named actor with
a bond, and each opens a named chain.
3. It makes the city recognise the player
Anyone the player helped is marked. When the player next comes within nine metres of that same person — which, since the chains are in different districts, means somewhere else — the person says so. The first meeting is the recognition; the next is the introduction, and it opens a contact at the Pier Market in Riverfront.
That is the sequence the whole game exists for: helped on day 1, recognised somewhere else later, introduced on a later day still.
Fields
| Field | Meaning |
|---|---|
saveEvery | Seconds between writes of the city's memory to disk. Default 20. |
running | Whether the calendar and the street stories are running. |
Methods
| Method | What it does |
|---|---|
:status() | What the memory is holding: day, clock, entry count, every district's standing, the chains, everyone's bond. |
:advanceDays(n) | Move the city's calendar forward n days. For showing a meeting that is meant to be days later. |
What is a slot here
The two people each chain stands are @builtin::avatars.humanoid — the engine's own rigged figure,
uncostumed. The polish pass replaces the mesh with generated characters; the entities are named
(osprey_chef, osprey_bagman, alley_woman, alley_thug) so it knows exactly where they go.
Scoped to this part · feeds back into the world's score.