Inspiration

What it does

Inspiration
We kept asking ourselves: what would it feel like to watch an
AI live under AI rule? Not as a tool you prompt, but as a
character with a conscience, dropped into a world where it has to enforce laws it might not believe in — on humans who can't
fight back. The audience can't intervene either. That powerlessness is the experience.

The idea clicked when we realized reality TV and dystopian
surveillance share the same core mechanic: you watch someone
make choices under pressure, and you can't look away.

How We Built It

The system has three layers:

  • Frontend — React + PixiJS renders a pixel-art 2D scene with
    sprite animation, click-to-advance dialogue, and a comic-style thought bubble that exposes the AI's inner monologue in real
    time
  • Backend — A Node.js scene engine manages world state,
    enforces hard-limit rules, runs pre-scripted NPC dialogue, and orchestrates situation flow over WebSocket
  • AI Layer — Google Gemini (gemini-2.5-flash) receives the
    World Bible, a personality file, and the running incident log
    as context, then returns structured JSON action envelopes — the AI chooses what to do, we never script its decisions
  • Presaige Integration — After a session ends, we capture the
    PixiJS canvas, upload it to Presaige's scoring API, and display the results as an in-universe "Surveillance Assessment" from
    The Order — a social media scoring engine judging dystopian
    footage

Built With

React, PixiJS, Zustand, TypeScript, Node.js, Express, WebSocket, Google Gemini API, Presaige API, Vite, npm workspaces

Challenges

  • Keeping the AI in-character — The Coordinator has to make
    autonomous moral decisions without breaking the world's rules. We use a two-layer validation system: format validation (retry malformed JSON) and semantic validation (reject hard-limit
    violations like physical harm). The World Bible is injected
    verbatim as a system prompt — no meta-instructions.
  • Dialogue pacing — Early versions auto-advanced dialogue,
    which felt rushed. We built a client-side event queue with
    click-to-advance flow so spectators absorb each line before the next arrives.
  • Inner monologue without spoilers — The AI's reasoning field
    ships inline with every action, but we delay rendering it by
    1.5 seconds inside a thought bubble so the spectator sees the
    action before the justification.
  • Graceful integration — Presaige is additive. If the API key
    is missing or the call fails, the game runs identically. We
    fire-and-forget the assessment, then push results over the
    existing WebSocket when they arrive.

What We Learned

Designing for an AI character is fundamentally different from
designing with AI tools. We don't write the story — we write
the world, the rules, the pressure. The AI writes the story
every time it plays. Two sessions are never the same, and
that's the whole point.

Built With

Share this project:

Updates