Skip to content

Glossary

Prerequisite: none — this page exists so you can arrive in the middle.

DreamFactory named things its own way, and this port kept those names rather than inventing better ones: a prop file is a "shop", a positional ambient sound is a "cricket". A few more terms are the port's own. Every entry here is one sentence and a link to where it is explained properly.

If you are reading start to finish, you don't need this page — How the game works introduces the important words in order. It's for the reader who landed on savegame.md from a search and hit the word "flat".

The world on screen

TermWhat it means
SetOne room or section of the ship — the Lounge, cabin B59 — stored as one file. → SET
SceneA standpoint inside a set: a spot the player can stand on. → the hierarchy
ViewOne direction you can face from a scene. A scene has several, plus the frames between them. → SET
Turn ringThe sequence of in-between frames that animates rotating in place, from one view round to the next. → SET
RoadA walking animation carrying you from one scene to the next, arriving at a defined facing. The game's own word is transition. → Roads
HotspotA clickable rectangle attached to a view — the doorway, the painting. → Hotspots
PropA movable image drawn over the current view: a door, a teacup, a button. → SHP
ShopDreamFactory's name for a file of props (.SHP), organised as groups → states → frames. Nothing to do with shopping. → SHP
ActorA character sprite standing or walking in the room, drawn from a CST file. → Actors
Star / actor markA named world-point in a SET's actor table where an actor can be placed. → Actors
Z layerThe hidden depth image shipped alongside a background, recording how far away each pixel is — which is how a character gets hidden behind a chair. → the Z layer
FlatOne full-screen 512×384 screen inside a stage file, with its own scripts and click regions. → Flats
StageAn .STG file: the deck map, the inventory, the UI band, the mini-games. Holds one or more flats. → STG
OverlayA flat pushed on top of another rather than replacing it — how the inventory opens over what's behind it. → the overlay stack
UI bandThe strip below the picture holding the menu button, your held item and the watch. The view fills 512×264 of a 512×384 screen; the band is the rest. → the UI band

Characters and conversation

TermWhat it means
PuppetA character's brains — a .PUP file: dialogue, voice lines, and the facial animation for a conversation close-up. → PUP
CastA character's body — a .CST file of sprites for walking around the world. → CST
StanceA puppet's facial state, assembled from up to 11 layers of frames. → Stances
PoseA cast member's sprite set for one activity (stand, walk), stored as steps × 8 directions. → CST
BevelA labelled plaque you click to choose a reply in a conversation. Routes name them by the id the PUP script switches on. → Puppets

The files

TermWhat it means
DFileThe one container format every DreamFactory data file uses — a 1024-byte header, a position table, and numbered containers. → the container format
ContainerOne numbered "drawer" inside a DFile, holding a palette, an image, a script or a chunk of audio. Which index holds what is convention per format. → a single container
GapA reserved container index with nothing in it, kept so that later indices don't shift. → the position table
Pascal stringText stored as a length byte followed by that many characters, with no terminator — often inside a larger fixed-size field. → Pascal strings
BOOTFILEThe script bundle that starts the game and acts as its shared standard library — how doors work, how you move, how the menu behaves. → BOOTFILE
BankAn audio file (.TRK, .SFX, .11K) holding an ordered looping theme plus named one-shots. → Banks
ChunkOne sound inside a bank — itself split across several containers, because audio is the format that doesn't fit one drawer. → Audio
Code pageWhich character encoding the game's text is in. No DF file declares it; it has to be inferred per language tree. → the code page
TreeOne gamefiles/ directory per language, each a full copy of the data. A bare filename resolves through a disc selector and a language selector. → two selectors

Scripts and events

TermWhat it means
HandlerA named block in a script that runs when an event fires — openset, mousedown, keydown. → the event model
The chainThe ordered list of objects an event is offered to, innermost first, until one consumes it. → the chain
exitcode / consumedA handler calling exitcode stops the event travelling further — but only a handler of the event under dispatch counts. → the chain
passcodeThe opposite: hand the event on, so the engine's own default behaviour still runs. → the chain
BuiltinA command implemented by the engine rather than in script — about 250 of them, plus 22 sendto* special forms. → the builtin reference
Mission / phaseThe two globals that encode where you are in the plot. Nearly the whole story is a state machine over these. → the mission flow
GuardThe if in front of a story beat, deciding whether it can fire yet. The vocabulary of guards turns out to be small. → the guard vocabulary

Time and sound

TermWhat it means
HeartbeatThe engine's service pass, which fires due timers and advances the clock. → two time bases
makeloopThe game's timer: a one-shot that re-arms itself, not a loop in the usual sense. → makeloop
CricketA sound with a position in the room, panned and attenuated by where you're standing. Named for the ambient insect noise it was first used for. → Crickets
WalkAn actor moving between marks over time, as opposed to the player's own road animation. → Walks
SinkWhere audio actually goes — a real output in the browser, a recorder in tests. → Sinks

This port's own vocabulary

These aren't DreamFactory words; they're names for parts of this project.

TermWhat it means
HostEverything under src/ that is neither format knowledge (src/df/) nor recovered engine behaviour (src/engine/) — the page, the canvas, input, the dev toolbar. → the browser host
GameSessionThe object that survives a set change: globals, inventory, the interpreter's state. → the GameSession
TraceA snapshot of every script global, the current room and who owns what, taken at a story beat. → the playthrough
GoldenA recorded trace a later run is diffed against. → what a golden speaks for
SegmentOne stretch of the playthrough route — 29 of them cover the boot to the ending. → the playthrough
Carried / loadedWhether a segment continued the live game or resumed a .ti checkpoint. The two produce different traces, which is why a golden only speaks for one. → one game carried
EditorOne of seven browser pages that opens a container format with the engine's own reader, lets you change what's safe, and exports the repacked file. → the browser editors

Back to the documentation home.

Docs licensed GPL-3.0 (the decoder is ported from DFET). Game data © CyberFlix — not included.