Built for ShellHacks 2026

DungeonFlux

An AI dungeon master for a table of friends.

The TV is the table. Every phone is a character sheet. The AI writes the story, narrates it aloud, and plays everyone the party meets, while a rules engine rolls every die and decides every outcome.

Concept art of the DungeonFlux title screen: a moonlit river town with the Drowned Lantern tavern lit along the water, a room code and QR code to join, and two example party members.
Concept art for look and feel. The game's screens will differ in detail.

The bet

An AI can run a real table for real friends if the work is divided correctly. Most AI game masters give one model both jobs, and the same three problems follow: it forgets the state of the world, it lets players do anything, and it invents numbers. DungeonFlux splits the jobs.

The AI owns the story

  • Writes the scene and narrates it in the dungeon master's voice
  • Plays every character the party meets, each with a voice of their own
  • Names your hero and hands them a backstory hook
  • Steers the table toward where the plot is heading

The engine owns the facts

  • Rolls every die in full view on the TV
  • Decides every check, hit, and hit point
  • Tells each phone which moves are legal right now
  • Keeps the record of what happened, so the story can't rewrite it

The AI narrates results the engine has already decided.

How a session feels

A group of friends in one room. A laptop, or the TV it is plugged into, is the dungeon master's screen. Everyone else holds their phone.

Scan the code and you're at the table

The TV shows a QR code and a room code. Each player scans it and takes a seat. No account and no app to install.

Pick two things, roll a hero

On the phone you choose a species and a gender and tap once. The engine rolls the rest: a class, ability scores, and skills, and the result is always a legal character. The dungeon master names them and gives them a backstory hook, and their portrait appears on the TV beside the rest of the party.

Concept art of character creation: a painted portrait of a human fighter on the TV, engine-rolled ability scores in the centre, and a phone showing gender and species choices.
A portrait forms on the TV while the phone handles the choices.

The dungeon master opens the scene

In its own voice, with your characters standing in the scene art. The demo opens on a smugglers' tavern in a flooded river town, on the night the town's lamplighter disappeared.

Concept art of the opening scene: a candlelit tavern interior with the party's portraits on the left and the dungeon master's narration across the bottom.
Rain on the roof, a crowded bar, the first lines of the story.

Talk to people out loud

When you want to talk to someone, you speak. The barkeep answers in a voice of her own, with her own manner and her own reasons for being careful. Push her, and the phone offers a Persuasion check with the odds shown. The die rolls on the TV, and the result decides what she says next.

Concept art of a conversation: two adventurers lean on the bar while the barkeep answers warily, with options to persuade her, ask something else, or look around.
The barkeep has heard the question before tonight.

Your phone only shows legal moves

What you can do right now, with the modifier and the odds beside each roll. Nobody stops the game to ask what they're allowed to do.

Concept art of four phone screens: conversation replies, a Persuasion check rolling a 17 for a total of 21, a list of things to investigate, and a character sheet with combat actions.
Conversation, a roll, an investigation, a character sheet.
Concept art of four phone screens walking through exploration: a flooded hall, a strange door with check options, an Arcana check succeeding, and an amulet found in a chest.
One exploration beat, from a flooded hall to an amulet in a chest.

Music and short clips

Music, ambience, and effects run underneath. Short video clips mark the big moments, and they feature the characters you just made.

The three‑minute demo

DungeonFlux is being built in 24 hours at ShellHacks 2026 and shown live with two players. This is the plan for the three minutes.

  1. Lobby

    Both players are already joined from the QR code on the TV. Each taps Ready, and the host starts the session.

  2. Creation

    Both seats at once: a species, a gender, and “Roll my hero”. The engine rolls class, abilities, and skills; the dungeon master names each hero; two portraits resolve on the TV.

  3. Opening

    A short establishing clip crossfades into the scene: the tavern, both heroes, and Mother Vell behind the bar. The dungeon master narrates.

  4. Conversation

    Player one taps “Talk to Mother Vell” and speaks. She deflects, in her own voice. The phone offers Persuade +4 vs DC 10, 75%. The d20 rolls on the TV. On a success she reveals where the lamplighter was taken, a secret she was not given until the roll succeeded.

  5. Hook event

    Player two tries to leave. A stranger arrives with a letter from someone in that character's own backstory. The TV shows the steering decision as it happens: personal hook, and whose.

  6. Combat

    The stranger was followed. A drowned thrall breaks through the door and the tavern becomes a Gaussian-splat battlefield with a movement grid. Each player taps Attack; the hero walks the path, the d20 rolls on the TV, and hit points move. The fight ends when the thrall falls, or on its second turn, when the tower bell tolls and calls it away.

  7. Cliffhanger

    A closing clip of both players' characters, generated during the demo, then the end card.

Why it holds together

The engine decides

The rules engine rolls every die and records every result. The AI receives the outcome and narrates it, and nothing it says can change a result the engine has set.

Characters only know what they would know

Each character the AI plays gets only its own knowledge. A secret is withheld from that character entirely until a player earns it, so it can't slip out early.

The story has a destination

The dungeon master knows where the plot is heading and funnels the table toward it with material the players supplied: their backstories and the consequences of their choices. Wander off, and someone from your past may turn up with a reason to come back. You still choose how you get to the ending.

Nothing waits on media

Art, music, and video are generated as soon as their ingredients exist, ahead of the moment that needs them. If a clip is late, a prepared fallback plays and the game keeps moving.

How it's built

Go from end to end, with one small JavaScript exception for the 3D battlefield. The architecture below is the plan being built this weekend.

Screens

The TV

Go compiled to WebAssembly with GoWebComponents. Scene art, portraits, dice, subtitles, and the steering read-out.

The phones

The same Go-to-WebAssembly stack. Legal moves, rolls with odds, the character sheet, and push-to-talk.

The battlefield

A Gaussian-splat tavern rendered with PlayCanvas, with a movement grid and the heroes on it. The only JavaScript in the project.

gRPC over WebSocket with GoGRPCBridge carries everything between the screens and the server, including live microphone audio.

Go server

State machines

Lobby, creation, scene, and combat are explicit machines, so every screen knows exactly which phase the table is in.

The rules engine

Pure and deterministic: state and one event in, new state and effects out. Seeded dice, no clock, no I/O. Replaying the log reproduces the session exactly.

SQLite

The event log, runs, and generated assets. The log is the source of truth.

Ports and adapters. Every model sits behind an interface with a fallback chain, so swapping a vendor is one adapter and one config line.

Models

Narration and dialogue

OpenAI for live lines, Google Gemini for pre-rendered lines, Anthropic Claude as the spoken-line fallback.

Speech and sound

ElevenLabs for speech-to-text, character voices, sound effects, and music.

Portraits and clips

OpenAI image generation for portraits; Seedance for short video clips from a first frame.

Battlefield

World Labs turns a painted still of the tavern into a 3D Gaussian-splat world.

Rules come from the System Reference Document 5.2.1, published under CC-BY-4.0.

What comes after

The demo is one scene. The plan beyond it is the full game.

Concept art of dungeon exploration: four adventurers with torches cross a flooded stone hall toward a statue rising from the water, with party hit points on the left and the current objective on the right.
A party of four in the sunken halls.

Full campaigns

Multiple acts written around the characters the players create, with a cast and places that stay consistent as the story grows.

Full combat

Initiative, spells, reactions, and conditions, all driven from the phone, which still shows only the options that are legal on that turn.

Memory across sessions

The people you've met remember what was said and promised, and each session can open with a recap of the last.