Inspiration

Reddit isn't just a place to play games—it's a place where communities create, compete, and tell stories together.

After studying previous Reddit games and the hackathon theme, we noticed a common pattern: the most memorable experiences weren't simply great games; they were experiences that gave people a reason to return every day and interact with one another.

We wanted to build something that combined the satisfaction of a polished logic game with the creativity of community-generated content.

That became Mirror Dungeon—a living dungeon where Redditors don't just solve chambers, they create them, compete on them, restore them together, and leave behind a permanent history for future explorers.


What it does

Mirror Dungeon is a community-driven laser reflection game built exclusively for Reddit using Devvit and Phaser 3.

Players route a beam of light from an emitter to a target by strategically placing and rotating mirrors while navigating around obstacles.

Mirror Dungeon offers three major experiences:

🏰 Expedition Mode

An endless procedural campaign where dungeon chambers become increasingly difficult.

Players unlock permanent roguelike upgrades such as:

  • Splitter Mirrors
  • Beam Phasing
  • Time Core bonuses

while climbing the global Hall of Records.


🌞 Daily Trial

Every day the entire Reddit community receives the exact same procedurally generated challenge.

Players compete for the fastest completion time while climbing the daily leaderboard and protecting their champion title.


🛠️ Chamber Architect

Players can design their own chambers using a built-in editor.

To prevent impossible puzzles, every chamber must be successfully solved by its creator before publishing.

Publishing automatically creates a Reddit post where the chamber becomes a living community challenge.

Each chamber tracks:

  • Creator
  • Attempts
  • Solves
  • Fastest Time
  • Community Ratings
  • Reputation
  • Journal Timeline
  • Champion
  • Hall of Fame status

Every chamber becomes its own permanent community artifact.


🌍 Living Community Dungeon

Rather than treating custom levels as isolated puzzles, Mirror Dungeon turns every chamber into part of a growing dungeon built by Reddit.

Players can:

  • Discover featured chambers
  • Explore Hall of Fame creations
  • Rate completed chambers
  • Follow creator reputations
  • Compete for world records
  • Restore forgotten chambers

Community achievements, Reddit comments, and chamber journals ensure every chamber develops its own history over time.


How we built it

Mirror Dungeon was built entirely using modern web technologies on Reddit's Developer Platform.

Platform

  • Reddit Devvit
  • Devvit Web
  • Node.js 22

Game Engine

  • Phaser 3

Frontend

  • TypeScript
  • Vite
  • HTML5 Canvas/WebGL

Backend

  • Hono
  • Devvit HTTP Handlers

Storage

  • Devvit Redis

We built deterministic laser simulation so identical inputs always produce identical outputs.

This powers:

  • Daily seeded challenges
  • Fair leaderboards
  • Replay verification
  • Community competition

To keep the experience polished we also built:

  • Procedural WebAudio sound synthesis
  • Multi-layer laser rendering
  • Particle systems
  • Camera effects
  • Dynamic UI animations
  • Responsive layouts for desktop and mobile Reddit

Challenges we ran into

The biggest challenge was designing a game that felt native to Reddit instead of simply embedding a browser game inside Reddit.

We spent a lot of time rethinking how players interact with community-created content.

Other challenges included:

  • Building deterministic laser physics
  • Procedural level generation that remains solvable
  • Verifying custom chambers before publishing
  • Creating scalable Redis data models for chamber metadata
  • Supporting responsive layouts across desktop and mobile Reddit
  • Making community chambers feel alive through timelines, reputation, and Reddit integration

Balancing infinite progression while keeping puzzles fair also required several iterations.


Accomplishments that we're proud of

We're especially proud that Mirror Dungeon became much more than a puzzle game.

Some highlights include:

  • 🏰 Fully integrated Chamber Architect with verification
  • 🌍 Living community dungeon built entirely by Redditors
  • 🌞 Daily deterministic challenges shared by every player
  • 📜 Dynamic chamber journals and reputation system
  • 🏆 Hall of Fame and Featured Chamber discovery
  • ⚡ Beautiful Phaser-powered laser rendering and particle effects
  • 🔊 Fully procedural audio using the Web Audio API
  • 📱 Responsive UI designed for Reddit desktop and mobile
  • 💬 Automatic Reddit interactions that keep chamber posts alive

The result feels much closer to a living platform than a traditional puzzle game.


What we learned

This project taught us that designing for Reddit is fundamentally different from designing for traditional game platforms.

The strongest community experiences aren't created by adding more mechanics—they're created by giving players ownership.

We also learned the importance of:

  • deterministic simulation
  • community-first design
  • procedural content generation
  • responsive game UX
  • designing around retention instead of session length

Most importantly, we learned that the community itself can become the content.


What's next for Mirror Dungeon

Mirror Dungeon is only the beginning.

Our roadmap includes:

  • 🎥 Deterministic replay sharing and ghost solutions
  • 👻 Watch world-record and creator replays
  • 📈 Advanced chamber analytics and heatmaps
  • ⭐ Seasonal events with unique chamber themes
  • 🏅 Creator profiles and achievement collections
  • 🏛️ Expanded Hall of Fame
  • 🔍 Chamber search and recommendation engine
  • 🎨 More dungeon biomes, visual effects, and cosmetic unlocks
  • 🌐 Community-curated weekly featured chambers

Our long-term vision is to transform Mirror Dungeon into Reddit's definitive community-built puzzle universe—where every chamber has a creator, every solve becomes part of its history, and every visit reveals something new.

Built With

Share this project:

Updates