Inspiration
I've always loved game jams for their unique, surprising hooks, so when I set out to build for Reddit I asked myself one question: what's more fun than playing together? Reddit is built on communities, but most games on it are solo experiences. I wanted to flip that to make the subreddit itself the game world. Nothing brings people together quite like a shared raid boss: charging into the same map, fighting through enemies, and clearing it as a team. HexenQuest grew out of that idea, a global campaign where the whole community fights, loots, and levels up side by side, backed by a solo campaign where you sharpen your own hero so you can carry your weight when your subreddit rallies.
What it does
HexenQuest is a co-op hex-crawl RPG that lives entirely inside a Reddit post.
- Rally and raid together. A shared global map per subreddit drops raid bosses too strong for any one player to beat. Redditors band together to wear them down, and everyone who lands a blow shares the loot. A one-tap rally posts a call to arms that deep-links other players straight into the fight.
- Explore a fog-of-war map. You start at the center of a hex-tile map shrouded in fog, with enemies scattered across it. You can't see the whole map; you uncover it as you defeat enemies and push outward, and the further you go, the tougher and more rewarding the fights.
- Fight, loot, and grow. Spinning a combat wheel resolves each battle. Kills earn coins, coins upgrade your base attack, and chests on the map's rim unlock legendary artifacts that make you permanently stronger.
- Climb the leaderboards. A Hall of Legends ranks both the strongest players and the richest.
- Solo and global campaigns. Grind the solo map to level up your hero, then bring that power to the shared campaign to better aid your subreddit.
How we built it
HexenQuest is built on Reddit's Devvit Web platform, so the entire game runs right inside a Reddit post. The client is a Phaser 4 game bundled with Vite, organized as a set of scenes - the map, combat wheel, multiplier wheel, upgrade shop, leaderboard, and chest reveal. The backend is a Hono server running on Devvit's Node runtime, with Redis holding all persistent state: per-player progression, shared boss HP, leaderboards, and the anti-leech ledgers that decide who earns a raid's rewards. Everything is written in TypeScript, with a shared module that both the client and server import so game constants and rules are defined exactly once.
The map is generated deterministically from a seed, which is what makes the co-op work: every player in a subreddit sees the same shared global map, while each solo player gets their own consistent layout. To keep server load low, spins are rolled on the client and sanity-checked on the server rather than fully server-authoritative.
Challenges we ran into
- Making a raid feel shared and fair. Rewarding a boss kill meant tracking who actually contributed and when, so a player couldn't swoop in at the last second (or leech off others). Getting the anti-leech settlement right; full reward to everyone who genuinely helped, exactly one killer credited; took real iteration.
- Two webviews, one experience. The inline splash post and the expanded Phaser game are separate contexts, so carrying things like audio and mute state across that boundary, while respecting browsers' autoplay rules, was fiddly. In a multi-post feed, autoplaying music turned into a mush of sound, which I solved by gating the theme behind a "click to begin."
- Balancing a combat wheel. Tuning the spin-chain and multiplier math so battles feel rewarding without spiraling into unbounded numbers took several rebalances.
- Deterministic maps vs. live tuning. Because the map is seed-generated, retuning monster or loot density reshuffles the whole layout. So every balance change had to be paired with careful state resets.
Accomplishments that we're proud of
The thing I'm proudest of is that HexenQuest went from an idea to a mostly complete MVP in just three days - started on July 11th and feature-complete by July 13th. In that window it became a genuinely full RPG loop, not a prototype: fog-of-war exploration, wheel-based combat, a coin economy and upgrade shop, a nine-artifact loot system, leaderboards, original art and music, and the headline feature - a true community raid system where an entire subreddit fights one shared boss and splits the reward.
Most of all, I'm proud that the social hook is native to Reddit rather than bolted on. The rally-to-raid mechanic uses the platform the way it's actually meant to be used, a post that pulls your community into a shared fight, and that's the part I set out to nail from day one.
What we learned
I learned an enormous amount about Phaser and the Devvit platform; how to structure a real multi-scene game, manage state and audio across Reddit's webview boundary, and use Redis to coordinate a shared, persistent world across many players. Building the raid system taught me how much thought goes into making multiplayer feel fair: contribution tracking, anti-leech logic, and reward settlement are deceptively hard.
More broadly, I learned the value of keeping a single source of truth. Putting all game rules and constants in one shared module saved me constantly, because the client and server could never drift out of sync. And I learned that deterministic, seed-driven design is powerful but demands discipline: it's what lets a whole subreddit share one map, but it also means every balance tweak ripples through the entire world. Above all, I learned how to scope aggressively and ship a complete, polished experience under a tight deadline.
What's next for HexenQuest
The next big step is global events. Today's raids are community-based - the players of one subreddit tied together against a shared boss. I want to add periodic, world-spanning events where a boss so powerful no single community could handle it appears across all subreddits at once, and whichever subreddit lands the kill claims the reward. Alongside these limited-time events, I'm planning:
- More artifacts, upgrades, and unlockables to deepen long-term progression.
- Player customization - including choosing your hero's class, like a healer or a mage, so parties can build around complementary roles.
- More enemies and greater variety across the maps.
There's a lot of room to grow, and the shared-world foundation makes all of it possible.
Log in or sign up for Devpost to join the conversation.