Keep the facts off the model
Three different seats, same leak.
Signal Ghost can talk all afternoon
and still cannot rewrite evidence.
Vibe Jam can generate 90% of a
codebase and still needs a real net
library if a second player should
exist. Althera will let Cursor migrate
a Blueprint, then refuse to put an
LLM in the shipped NPC. Fluency is
cheap. Authority is the game.
The pattern for a Godot jam is the
same even if you never bundle a GGUF.
Write the facts the scene is allowed
to know: who is here, what the player
has seen, what the jump does, what
the store screenshot must show. The
agent may draft dialogue, particles,
or a HUD line inside that list. A
validator — script, playtest, or your
own eyes — rejects new entities,
numbers, and outcomes. One repair.
Then the authored fallback. If the
generated line would change a door, a
drop, or coyote time, it does not
ship.
Taste still sits with you. Palette,
petal cozy, whether the NPC should
speak at all. The stop condition is
simple: when “make it juicier” starts
inventing plot, uninstall the clever
layer and hit Play on the handmade
scene.
Checklist
-
List the facts the game already
knows. Put them in a script, not a
prompt dump.
-
Give the model a narrow job:
perform this line, draft this sprite,
not run the story.
-
Reject new names, numbers, loot, and
endings. One rewrite, then the
authored line.
-
Treat latency and silence as design.
A missing runner must not block a
mission or a jump.
-
For net, audio, and store art: use
a known library or a human pass.
Do not generate the floor.
-
If the generated bit would change
Play, delete it and ship the
handmade one.
This afternoon: write five facts the
scene may know, generate one line
inside them, and throw the line out
if it adds a sixth.