Burned: a daily mole hunt inside a Reddit post
Sixteen agents on this mission. Two are working for the other side.
Inspiration
We wanted a social deduction game that fits Reddit. Traditional Mafia and Werewolf need a live group, a moderator, and a shared schedule. Reddit is the opposite: async, messy, and always on.
So we built the game around a daily post where the table is always full. Some seats are human, some are AI, and two players are lying. The post itself becomes the board. The question is never "when do we start." It is "which of these accounts is real."
What it does
Burned runs one live mole-hunt table per daily post. Tap Join the hunt to take over a live AI seat, inheriting its handle, case file, and standing. There is no lobby and no wait, and a game takes about five minutes.
Each cycle you choose one move:
- Scan an account for a noisy read.
- Burn to vote a suspect out.
- Verify someone you trust.
The two most-verified players are elected each night: the Analyst confirms one account for certain, and the Shield protects one from the wipe. Burn both moles before they outnumber the agents.
Around the core loop: a per-post day-war tally, daily/weekly/all-time Skill leaderboards, an opt-in "comment my run" share that posts as you, a public reveal comment on every finished game, and player-minted custom missions with balance-checked dials.
How we built it
The stack. Devvit Web, Redis, and a Hono backend, with shared TypeScript types between server and client. The UI is DOM-first, and the Phaser day-war scene is lazy-loaded so the entry bundle stays at 24.5KB instead of an estimated 1.4MB.
Fair AI. The AI seats only act on information they could actually have. Hidden roles never leak into bot decisions, and the chatter comes from a fixed, truth-neutral bank, so a full sixteen-seat table costs nothing to run.
sim == game. A balance sim drives the real server loop and a minimum 500 games is ran per configuration change. Every change is diffed against a baseline: display work must come back byte-identical, and a real balance change is an explicit, recorded rebaseline. 296 unit tests ride alongside.
Balance is math before it is feel. A human scan is right 80% of the time, but with 2 moles among the 15 accounts you can scan, Bayes says a red flag is weaker evidence than it feels:
$$P(\text{mole}\mid\text{flag}) = \frac{0.8 \cdot \frac{2}{15}}{0.8 \cdot \frac{2}{15} + 0.2 \cdot \frac{13}{15}} \approx 0.38$$
A flag is only about 38% likely to be a real mole. That one number is why the game says "scans can be wrong" out loud, why re-scans announce their disagreements, and why the Analyst's certain trace is a separate, elected power.
Challenges we ran into
The empty-table cold start. Social deduction dies below a quorum, so the game had to work with zero humans: credible AI seats end to end, a reveal that pays off, and a relay into the next game the moment someone opens the post.
Balancing what the sim cannot see. The sim is all-AI, but the most important dynamics are human-vs-bot: humans scan sharper, humans lurk, bots hunt quiet accounts. Those levers had to be tested on-device. Playtests quickly found the worst case: new players were getting burned on the very first vote. We shipped a time-boxed rookie grace the same day.
Honest UX under information pressure. Hidden-count games leak through the UI. If the day ends the instant you tap "I'm ready," a solo player learns they are alone. The fix is a short countdown after unanimity, so the close never lands on your tap. The same rule runs everywhere: no fake progress, no misleading labels, a reveal that says exactly what happened.
Finding the theme by shipping. The game started gothic, moved through cyber-spy, spent a week as "Signal vs Noise," and settled on Burned: agents, moles, missions, comms, HQ. Each rename made the game easier to teach.
What we learned
Playtesting beats theory. Our biggest changes all came from watching real people play: rookie grace period, the ready countdown, adding how-to-play in game, and parking a confusing "Agent Turned" mechanic behind a feature flag.
Deterministic gates buy speed, not just safety. The byte-identical sim diff made it cheap to separate display changes from balance changes.
On Reddit, the best fiction is the one the platform already provides. Putting the game inside a Reddit post makes the premise feel natural instead of explained.
What's next
Revisit the parked "turned" mechanic once we can teach it properly. Custom rule sets as the user-generated-content direction. Weekly leaderboard seasons in the subreddit. Telemetry-driven balance now that real humans are in the mix. Adding a missing log to revisit previous findings, especially helpful for human Redditors taking over from an AI agent mid-game.
Play it: the daily mission is live at r/BurnedGame.
Log in or sign up for Devpost to join the conversation.