Inspiration
Interactive AI characters are easy to create, but most experiences still have a fundamental problem: the world forgets.
We wanted to build an entertainment experience where player choices do not disappear after a conversation. Characters should remember what happened, factions should react, future routes should change, and earlier decisions should remain visible in the story's history.
That became Storyworld Live: The Last Broadcast.
What it does
Storyworld Live is a persistent interactive mystery where each player decision changes the canonical state of the world.
The player enters a city surrounding a suppressed recording known as The Last Broadcast and makes a sequence of meaningful decisions.
Those choices affect:
- character relationships
- character memories
- faction influence
- available story routes
- later events
- the final ending
For example, an early decision to save Mara can cause her to return later and reveal a route into Signal Tower. Choosing the cipher instead produces a different future: Mara remains detained, while the cipher becomes the way forward.
The application records the causal event history so the player can see not only what changed, but why it changed.
How it works
Storyworld Live separates canonical world state from generative performance.
A deterministic state engine owns the canonical facts of the world and validates every legal transition.
Gemini on Vertex AI is used for the agentic layer: interpreting player intent and generating character performance grounded in the current canonical state and memories.
This means the model can make the experience expressive without being allowed to arbitrarily rewrite history.
The system maintains:
- world state
- character memories
- faction state
- relationships
- decision history
- route availability
- timeline state
Persistent storage ensures that decisions survive beyond a single interaction.
Replit
The application was brought into Replit and materially worked on using Replit Agent.
Replit Agent inspected and configured the imported project, worked on deployment readiness and application integration, and prepared the finished experience for production deployment.
The final application is deployed directly through Replit.
Challenges
The biggest challenge was maintaining continuity.
An unrestricted language model can easily generate dialogue that contradicts earlier events, changes factual state without permission, or forgets why a route became available.
To solve this, canonical mutations are deterministic. Gemini operates around that state rather than replacing it.
Persistence introduced another challenge. A narrative experience needs to remain consistent across refreshes, retries, and multiple actions, so production persistence and versioned state updates became part of the architecture.
What we learned
The most important lesson was that generative storytelling becomes more convincing when generation is constrained by an explicit world model.
A relatively small authored world with real causal consequences can demonstrate stronger agency than an unlimited chatbot that forgets previous events.
We also learned that persistence itself is part of the entertainment experience: memory is not merely backend storage when the story depends on characters remembering the player.
What's next
Future versions could expand Storyworld Live with:
- larger interconnected storyworlds
- more autonomous character agents
- longer-term character memories
- multiplayer timelines
- creator-authored world packs
- procedural missions
- dynamic faction behavior
- persistent worlds spanning multiple episodes
The goal is to evolve the experience from interactive dialogue into a world that genuinely remembers and reacts.
Built With
- agent
- ai
- cloud
- css
- fastapi
- gemini
- gen
- html
- javascript
- postgresql
- python
- replit
- sdk
- vertex
Log in or sign up for Devpost to join the conversation.