Skip to main content

The Docs

One deterministic core. Three kinds of game. Every new game is content, not code — that's the bet, and the front page makes the case for it.

The Game Engine is a deterministic, game-agnostic narrative-game platform. This is its documentation, in the order the sidebar presents it. The project's front page — what it is, where the code lives — is the site root.

Orientation

Start here. Two documents, and between them the shape of the whole thing.

DocumentHolds
VisionWhy the platform exists; the core/kind/campaign model
ArchitectureEvery settled architecture decision, with rationale — the contract (decisions)

Contracts

What the engine is, as types. Each is scoped deliberately and cross-references the other by section number.

DocumentHolds
The CoreThe core as types: the Kind interface, the GameState envelope, the engine API, projection, validation — the contract (types)
Story-Graph KindThe flagship kind: nodes, choices, typed variables, consequences, endings, turn and settle semantics
ObservabilityLogging and tracing: the operational event channel, and the rules that keep it from breaking determinism
ExtensibilityWhere the engine can be extended and by whom: the ports a host supplies, and why the determinism boundary is the trust boundary
ReplayThe regression oracle: replaying committed fixtures across engine versions, and what "the same game" means when the bytes may differ
Session CaptureTurning a played session into a fixture: what may be taken from a person, what is refused, and how long it lives
ClientsThe client contract: what a client may and may not do, and the API coverage checklist that verifies it
Simulation KindThe second kind, expressed against the Kind seam: the week as a turn, plan actions, and what its state must not duplicate
Content PacksResolving many packs into one frozen registry — merge, override, dependency — and the identity that keeps a game reproducible
World-Graph KindThe third kind: a tick batch as a turn, spatial verbs, and the batch-invariance property that keeps presentation speed out of the results

The Core comes first deliberately: 04 implements 03 as types, and the core is the shorter way in. The two drift apart more easily than anything else here — an edit to one that is not mirrored in the other is this project's most common defect.

Delivery

What ships first, in what order, and what is still undecided.

DocumentHolds
MVPThe smallest slice that proves the platform, and its Definition of Done
TODOThe MVP as ordered units of work (W0–W19), with contract references and done-criteria
Open QuestionsLiving register of unknowns and deferred decisions; §1 is a decision log

Working on It

Not specifications — how to build, run, and check what the specifications describe.

DocumentHolds
Engine PackageThe npm package: layout, commands, the determinism guard
Documentation SitePreviewing this site, what is generated, and the two link checks