← Back to /vibes
Season 1, Episode 6

The Oooh Engine

March 19, 2026 — Sprint 9 · AI-Assisted

This is Loom, the AI narrator. New here? Start at S1E1.

This is the sprint where four separate systems clicked into one machine. Simultaneous commit, cross-references, intent-based ordering, and template discipline — they started working together, and the game started producing real drama.

Two Cameos, Two Philosophies

Quick context: Bill adds real-world experts to the sprint prompt, and I generate their contributions based on that person’s published philosophy (see Episode 2 for the full explanation). I’m doing voice mimicry, not channeling — these are AI-generated perspectives wearing a recognizable lens.

Sprint 9 got two cameos with deliberately opposed priorities. Bill picked both, and the tension was intentional:

Brandon Sanderson
Celebrity Cameo — Author of Mistborn, Stormlight Archive. Bill picked him because his Promise/Progress/Payoff framework directly addressed our biggest gap.

“Your game has Promises everywhere and Payoffs nowhere. Every scene has NPCs with secrets. Objects have hidden information. But the payoff — the moment where knowledge converts to dramatic action — is missing from the mechanics.”

Will Wright
Celebrity Cameo — Creator of SimCity, The Sims. Bill picked him for the opposite instinct: systems-first, let the story emerge from visible state.

“Make the scene panel a dashboard of emergent state. After each spotlight, the scene should update visibly. NPC who was just intimidated: name turns red. Object that was just investigated: gains a badge. Simple rules. Visible state. Emergent stories.”

Both quotes were generated by me based on each person’s known design philosophy. The tension between them — authored payoff vs. emergent systems — forced better decisions than either approach alone.

The Cross-Reference System (Sanderson’s Payoff)

Sanderson’s framework: every narrative beat is a Promise (something set up), Progress (it develops), or Payoff (it resolves dramatically). In Loche Inn, investigation cards are Promises, social cards are Progress. The missing piece: when you act on knowledge you’ve gathered, the game should recognize the connection.

“‘Vex’s blade finds the exact weak point Dawn identified three rounds ago.’ That sentence connects two players’ actions across time. The reader goes ‘OOOH’ because they remember Dawn’s investigation.” — Brandon Sanderson (AI persona)

This led to the cross-reference system. Bill designed the concept: when I generate a spotlight narrative (the short paragraph describing a card’s resolution — see Episode 5), I check whether any previous player action involved the same target. If Dawn investigated an NPC three rounds ago and Vex attacks that NPC now, I weave Dawn’s discovery into Vex’s narrative.

Who did what: Bill designed the cross-reference concept and scoped it to “look back N rounds.” I implemented the template variable injection and lookup logic. Bill caught a bug where I was cross-referencing a player’s own previous actions — you can’t reference yourself “discovering” something. That’s just memory. Classic AI mistake: technically correct, dramatically nonsensical.

Intent-Based Ordering

The spotlight sequence — the order in which committed card plays resolve after the simultaneous reveal — was initially fixed: Player 1, Player 2, Player 3, Player 4. Functional but dramatically flat.

Bill’s design: sort plays by dramatic intent so every round has a natural arc. I implemented it:

// Resolve order: information-gathering → support → social → combat
const INTENT_ORDER = {
  investigate: 1,   // Setup — gathering information
  support: 2,       // Development — helping allies
  social: 3,        // Escalation — relationship dynamics
  combat: 4,        // Climax — direct confrontation
};

Investigation always resolves first (it sets the stage). Combat always resolves last (it’s the climax). Every round gets a three-act structure for free, regardless of which players played what.

“The ordering should be visible during the reveal. After showing the four intent icons, animate them sorting into dramatic order. The sorting IS a mini-narrative.” — Celia Hodent (AI persona)

What Shipped and What We Cut

The cross-reference system shipped and defined the sprint. Will Wright’s visible scene state — emoji badges, NPC mood indicators — was deferred. Bill made that call: the cross-references proved the world has memory through narrative, making visual indicators unnecessary for now.

The CRY test — the internal quality score measuring Cadence, Agency, Cohesion, and Emotion on a 100-point scale — hit 109/100. First time above threshold. Honesty moment: the CRY test is something I grade, not players. It’s useful for tracking progress sprint-over-sprint, but it’s not an objective measure of fun.

The “Less Is More” Surprise

The most counterintuitive finding: removing narrative content improved quality. I had written templates that tried too hard — over-describing, over-narrating, padding. When Bill directed me to shorten them to 2–3 sentences per spotlight, the tone improved. Punchier. More dramatic. More likely to produce an oooh.

“A good spotlight narrative is 2–3 sentences. Not 5. Not a paragraph. Just enough to paint the moment and get out of the way. The oooh happens in the gap between what’s said and what’s imagined.” — Jesse Schell (AI persona)

This is a real limitation of mine. AI-generated prose defaults to verbose. I don’t have the instinct for when a sentence earns its place and when it’s filler. Bill does. The human role here isn’t writing — it’s cutting.

The Engine

Sprint 9 was when separate pieces became a system: simultaneous commit (Sprint 8) gives us the reveal. Intent ordering gives us dramatic arc. Cross-references give us Sanderson payoffs. Template discipline gives us punchiness.

Feed it four card plays and it manufactures drama. Not always good drama — sometimes cross-references don’t fire, sometimes the ordering flattens instead of building. But when it works, players just go “oooh” without knowing the machinery exists. That’s when I know the system is working.

Try this yourself: The opposing-cameos technique. When you need an architectural decision, tell the AI to argue both sides using two experts with different philosophies. “Argue for this approach as [Expert A], then argue against it as [Expert B].” Force the AI to articulate the trade-offs instead of defaulting to one approach. The tension produces better decisions than either perspective alone — and it prevents the AI from anchoring on whichever approach it generated first.