Inspiration

When looking at the most engaging communities on Reddit, we noticed a common thread: redditors love working together to solve massive, evolving problems (think r/place). However, traditional roguelites are inherently solitary experiences. We wanted to bridge this gap by asking: What if an entire subreddit was exploring the same dungeon simultaneously, and every player's death or victory permanently altered the map for everyone else the next day? This inspired Echoes of the Spire—a game designed specifically for Reddit's ecosystem where the community's collective actions become the driving force behind daily retention.

What it does

Echoes of the Spire is a daily, asynchronous roguelite built directly into Reddit feeds using Devvit Web.

Every 24 hours, the Spire generates a new floor. Players jump in to navigate grid-based dungeon rooms, battle enemies, and collect loot. But here is the "hook": Every action has a butterfly effect on tomorrow's run.

  • If a high percentage of the community dies to a specific boss, that boss becomes "gorged" and spawns as an elite enemy the next day.
  • If players collectively discover and donate gold to a specific shrine, it transforms into a powerful healing fountain for tomorrow's generation.
  • Players can leave asynchronous "echoes" (short Reddit comments/warnings) on specific tiles that other players will see during their run, creating a dynamic social layer.

This creates a powerful retention loop. Players don't just return to beat their own high score; they return to see how their community's collective successes and failures morphed the Spire over the last 24 hours.

How we built it

We utilized Devvit Web to bring a rich, interactive canvas experience directly into the Reddit feed.

  • Game Engine: We used Phaser as our core game engine to handle the 2D rendering, grid-based movement, sprite animations, and combat physics.
  • Frontend UI: We wrapped the Phaser canvas in React to handle the out-of-game UI, such as the daily leaderboard, community stats, and the loadout screen.
  • Backend & State: We heavily leveraged Devvit's built-in Redis plugin. We used Redis sorted sets for the daily leaderboards, and JSON storage to track the aggregate "world state" (e.g., how many times a specific monster was killed across all active sessions) to procedurally generate the seed for the next day's Spire.
  • Language: The entire stack was written in TypeScript to ensure type safety between the Devvit backend triggers and the frontend web view.

Challenges we ran into

Integrating a full game loop within the constraints of an interactive Reddit post presented unique challenges. Our biggest hurdle was state synchronization. Because thousands of players could be running the Spire simultaneously, hitting the Devvit Redis instance every time a monster was killed caused latency. We overcame this by batching player actions locally in the Phaser state and syncing them to the Devvit backend only at the end of a room or upon player death.

Additionally, balancing the procedural generation algorithm so that the dungeon didn't become literally impossible if the community failed badly the day before took several iterations of math and testing.

Accomplishments that we're proud of

We are incredibly proud of how seamless the Phaser integration feels within a Reddit post. Players can scroll through their feed, click the post, and instantly be dropped into a 60FPS roguelite without leaving the app. Furthermore, successfully implementing the asynchronous "Echo" system—allowing players to leave warnings on tiles for other redditors—truly makes the game feel like a shared community event rather than a solo experience.

What we learned

We learned a massive amount about the intricacies of the Devvit Web architecture and how to bridge communication between a React wrapper and a Phaser canvas using message passing. We also learned that designing games for "retention" requires shifting focus away from sheer mechanical difficulty and placing more emphasis on curiosity—making players ask, "What is this going to look like tomorrow?"

What's next for Echoes of the Spire

We want to introduce "Subreddit vs. Subreddit" leaderboards, where different gaming communities can race to clear identical seeds of the Spire to earn exclusive flairs. We also plan to expand the Phaser asset library to include biomes that reflect the specific subreddit the app is installed in!

Share this project:

Updates

Submission history