StoryToGame

Story Parsing Engine

Turning Stories into Living, Interruptible Worlds

Built a full-stack AI prototype that parses literature into autonomous stage plays. Characters think and react independently. You can break the fourth wall in real time.

Observer Briefing Live adaptation · Source: original text
01

Not AI story generation

The story is not written by AI. It's real literature — Shakespeare, Austen — parsed into a live structure. Every line descends from the original text; the engine only adapts it when you intervene.

02

Not an AI character to chat with

There is no companion waiting for your message. The play performs itself, with or without you — you hold interrupt access, not a conversation. No quest, no win-state, no line the scene is obligated to speak.

03

Characters act on their own weights

Every character resolves against a live mood + probability vector. Your input is a signal, not a command — warn them and they may weigh it, discount it, and walk their own path. The cast is free to choose its own ruin.

Monitoring · Control: Partial · Outcome: Unguaranteed
Play

Open a story

Pick a text and step inside, solo. It's already unfolding — you can watch, or break in.

How it's built

Text → world — with the artifacts to prove it

  1. 1Raw text in a play, a novel, a chapter — characters, lines, stage directions
    THUNDER AND LIGHTNING. A DESERT PLACE.
    
    FIRST WITCH.   When shall we three meet again?
                   In thunder, lightning, or in rain?
    SECOND WITCH.  When the hurlyburly's done,
                   When the battle's lost and won.
  2. 2Parsed locally into metadata on a GTX 1070 → scenes · mood vectors · triggers · camera shots · image prompts
    
      "node_id": 4,
      "speaker": "First Witch",
      "text": "When shall we three meet again",
      "mood": 0.8, 0.2, 0.6,   // valence · arousal · dominance
      "triggers": 
        "character": "First Witch",
        "condition": "the other witches join me",
        "behaviour": "we cast spells together"
      
    
  3. 3Cast & scenes rendered image prompts → Stable Diffusion → character sprites + scene backdrops
    Generated backdrop: a desert heath Generated sprite: First Witch Generated sprite: Duncan
  4. 4Deployed & playable static build + serverless functions — no server to run, calling free-tier api with json data.
The mechanic

Interrupt, and the story rewrites itself

You're a reader who can break the fourth wall with your comments.

↻ real cascade — live Macbeth Act I session A player interrupt recast Macbeth as the traitor. In the original, a wounded Sergeant praises brave Macbeth for cutting the rebel down — but the accusation flipped the whole report: the Sergeant now vows to cut Macbeth down, and even the King's reply turns on him.
SERGEANT“Like valour's minion carved out his passage”
“By the gods, he'll be carved out like a coward — his treachery cut down by the very steel he once wielded!”
SERGEANT“Discomfort swells. Mark, king of Scotland, mark:”
“By the crown, Macbeth will know the full force of my wrath, and the weight of Scotland's justice will crush him!”
DUNCAN“Dismay'd not this”
“How could such treachery not fill him with dismay?”

Change of one event impact the following linked events---- constructed at story parsing stage.

Contact

Get in Touch

Questions, feedback, or anything else — drop a line.