Unscripted decides what a character knows, believes, conceals and is allowed to say. A language model only words it. These pages are generated by running it rather than written by hand.
▶ Watch the seven-minute explanation · Source, licence and evidence
2:42. The problem, what this is, the same events twice, the run itself, and who it is for. Every picture is a frame of a real run and every figure spoken is read out of it, so the film cannot describe a moment the recording does not contain.
A news item says the stranger is linked to the market attack. Watch it travel a city block through people who actually meet, arrive in two different versions, and end with seven of eight holding it — and not one of them able to recall who told them.
Ten people, seven rooms, five days. A different world with different routines, running the same runtime: the intercom reaches half the crew before anybody speaks, and it stays one source.
The same map, in a different world, following a claim a character asserts while believing the opposite. Every listener records him as the source.
One claim through eight characters, asked of a set of booleans and of this runtime. Both columns computed from the identical events; two rows go to the flags, because a comparison nobody can lose is one nobody believes.
Three commands and one HTTP call gets a character talking. Every response on the page was captured from a live service while the page was generated, including what a client mistake looks like.
The runtime set against the language model's own recorded output, and against named structural absences. Nothing is set against an invented competitor.
A model answers from whatever is in its prompt, so "world context" becomes something every character knows. Here a character knows what reached them, from whom, and how sure that makes them — and the text layer is given only what they are permitted to say.
Scripted propagation is authoring work that grows with the square of the cast, which is why most games have three characters who react and forty who do not. This spreads along the routines you already wrote, and every belief keeps the route it took.
The same seed reproduces the same world, so a bug report is a repro. State a rule about your story — nobody outside the crew may learn this — and the runtime searches for the shortest sequence of player actions that breaks it.
A console forbids an interpreter, not a language. So there is a second implementation in C++17 with no dependencies, held to this one bit for bit: 50 of 51 modules, and all five conformance scenarios played end to end by both, compared field by field down to every provenance chain. One C header underneath Unity, Unreal and Godot — no sidecar process, no IPC, nothing to certify.
Hit somebody in the open and the street itself closes up, and the mood drifts into the next street. Somebody who only heard about it treats you differently. Break a promise and people who merely watched now call you unreliable; keep one and nobody remarks on it. Same seed and same conduct give the same world, exactly; different conduct gives a different one — because of you, not noise.
A Godot addon with two playable demos, a Unity package and an Unreal plugin, each tested inside the editor against a live service — and anything else speaks HTTP and JSON. One bundled file beside the game, no install, no network calls; saves go into your own save file. A language model is optional: none, authored text, or any OpenAI-compatible endpoint, including a local GPU.
It is not a renderer, a quest engine, a voice or a chatbot. It sits behind whichever of those you already have and decides what becomes true in the society: who knows what, who said what, who lied, what spread, and why.