Inspiration

We wanted to build a small tile-placement strategy game that works directly on Reddit. The idea is simple, a daily puzzle that everyone can play together and compete for the highest score.

What it does

Miniature Borough is a daily tile-placement puzzle game. Each day, a new 6Γ—6 grid is generated with a unique seed. Players get 10 turns, and each turn offers two tile choices (πŸ”οΈ Mountain, 🌲 Tree, 🌾 Farm, 🏰 Castle, 🏠 House) with row or column placement limits.

Tiles score based on their surroundings: trees score near mountains, farms score near grass, houses score based on different neighbors, and castles score by their grass-path distance to houses. Players get three attempts per post to achieve their best score.

How we built it

β€’ Built as a Devvit app with a React-based client for the splash screen and game UI.
β€’ Backend runs in Devvit’s serverless environment.
β€’ A scheduled Devvit job automatically creates the daily post.
β€’ Uses a deterministic, seeded puzzle engine.
β€’ Game logic (scoring, grid generation, placement validation) lives in a shared module used by both client and server, keeping everything in sync with zero duplication.

Challenges we ran into

Deterministic puzzle generation - ensuring all players see the exact same board and tile options required carefully sharing a seeded PRNG between client and server.

Accomplishments that we're proud of

It was our first time working with Devvit, but we successfully built a complete game.

What we learned

Designing scoring systems that reward spatial reasoning (BFS pathfinding, neighbor diversity).

What's next for Miniature Borough

β€’ Leaderboards - subreddit-wide and global score rankings.
β€’ a mode where players can design and share custom puzzles.

Built With

Share this project:

Updates