-
-
Raid Garden's Reddit feed splash invites players to enter the day's community raid.
-
Choose from 10 heroes, each with a unique weapon, role, stats, and combat playstyle.
-
A live raid run with projectiles, arena hazards, boss health, and a countdown timer.
-
The daily world boss closes in as the player dodges projectiles and fights to survive.
Inspiration
I wanted to make something that felt native to Reddit, rather than a web game that happened to be embedded in a post. Reddit works best when people gather around the same topic, compare experiences, and keep coming back to see what changed.
That led to the idea of a shared daily boss. Everyone faces the same enemy, but each player has their own short run, character, loadout, and progression. The combat draws from boss-focused action games, especially the satisfaction of learning attack patterns, landing a perfect guard, and using an ultimate at the right moment.
What it does
Raid Garden is a daily community boss raid. Every day brings a different boss from a roster of ten, each with its own attack patterns, armor, hazards, and arena mechanics.
Players choose one of ten unique heroes and enter a 90-second battle. During each run they dodge attacks, use shields and perfect guards, break armor, expose weak points, collect pickups, defeat minions, and charge their ultimate.
Ranked runs use one of three daily seeds. Damage and special contributions are added to the shared community boss, allowing every player to help defeat the same enemy. Practice mode remains available after ranked attempts are exhausted, letting players master the fight without affecting rankings.
Player progression persists across sessions. XP unlocks relics, while streaks, weekly leagues, titles, badges, and hero progression provide long-term goals that encourage players to return every day.
How we built it
Raid Garden is built with Devvit Web and Phaser, with the client, server, and shared game logic written in TypeScript. Vite powers the build process, while Hono handles the backend routes.
The Reddit experience has two distinct views. A lightweight splash screen appears directly in the feed, while expanding the post launches the full Phaser game. Devvit Redis stores both the global boss state and each player's profile, allowing community progress and individual progression to persist between sessions.
The backend cleanly separates ranked and practice runs. Ranked matches update the shared raid and reward players, while practice mode allows unlimited learning without affecting the global boss.
Challenges we ran into
The biggest challenge was fitting a real-time action game into Reddit's format. The gameplay needed enough depth to feel satisfying while remaining approachable enough that new players could understand it within seconds and comfortably play on mobile-sized screens.
Building the shared raid system was another major challenge. Daily attempts, community damage, boss health, player rewards, and persistent progression all had to update independently without conflicting with one another. Moving the core logic to the server made the system reliable, but it took several iterations to make the rules intuitive.
Combat readability also required significant refinement. With projectiles, hazards, minions, pickups, boss attacks, and UI elements sharing the same space, maintaining visual clarity became essential. Much of the polish came from deciding what players needed to notice first during every moment of combat.
Accomplishments that we're proud of
The accomplishment I'm most proud of is that Raid Garden genuinely belongs on Reddit. The shared daily boss creates a common objective for everyone viewing the post, while each player's individual performance still matters through personal progression and rankings.
The game now includes:
- 10 rotating bosses
- 10 playable heroes
- Ranked and Practice modes
- Persistent player profiles
- Relic loadouts
- Titles and weekly leagues
- Daily streaks
- Contribution badges
Combat has also evolved well beyond simple shooting and dodging. Perfect guards, armor breaks, exposed weak points, ultimates, hazards, minions, and pickups all influence how each encounter unfolds.
The result feels like a complete daily live-service game loop, not simply a one-time tech demo.
What we learned
The biggest lesson was that daily content alone does not create retention. Players need to care both about what persists between sessions and how their individual run affects the community.
The shared boss gives every ranked attempt a meaningful purpose. Persistent progression rewards long-term investment. Limited daily seeds create excitement without encouraging excessive grinding, while practice mode removes frustration by letting players continue learning after ranked attempts are finished.
I also learned that a Reddit game has only a few seconds to explain itself. Most players discover it while scrolling, so the value proposition must be immediately obvious before they decide to expand the post.
What's next for Raid Garden
The next goal is to make each boss feel even more unique through additional phases, exclusive attack patterns, mutations, and arena mechanics.
I also want to strengthen the community experience with better daily summaries, contributor recognition, community milestones, and stronger post-discussion hooks, making each boss defeat feel like a subreddit-wide event rather than just a collection of individual runs.
There is plenty of room to expand with new heroes, relics, progression systems, and long-term rewards, but the core vision remains unchanged:
Give players a fight worth playing today, and a reason to come back tomorrow.
Built With
- devvit
- hono
- html5
- javascript
- multiplayer
- node.js
- phaser.js
- redis
- typescript
- vite
- web-game

Log in or sign up for Devpost to join the conversation.