Inspiration

We noticed something strange about Reddit: 100 million people comment, vote, argue every day... then it's gone. Threads archive. Conversations die. No persistence, no legacy. Meanwhile, games on Reddit are mostly clones — trivia, clickers, word puzzles. They use Reddit as a platform, not as a mechanic.

We wanted to build something that only Reddit can do: a permanent, collective world where your comments literally leave a mark forever.

What it does

Tellus Ignota is a shared infinite map covered in fog. Every day, you get one action: reveal one tile. Your username and timestamp get permanently stamped on it. Anyone can see it — now, tomorrow, six months from now.

You can only reveal tiles next to already-discovered ones, so the community pushes outward together. Tiles contain procedurally generated terrain (forests, mountains, deserts, ruins). Hidden across the map are artifacts spawned from live Reddit data: post karma × 31 + comment count.

Find an artifact? The game auto-posts a clue in the comment thread. Other players reply "Claim" to get it. The comments ARE the scavenger hunt.

How we built it

Frontend: Phaser 3 (TypeScript) running inside a Devvit Web iframe. Chunk-based rendering, shader fog-of-war, 60fps at 4000+ visible tiles.

Backend: Devvit Server Functions (Node/Hono). Validates one action per UTC day, adjacency checks, anti-cheat. Deterministic Simplex Noise terrain generation with global seed — we store seed + revealed coordinates, not the world. Infinite map, finite storage.

Data: Redis KV for tile data, frontier sorted sets (O(1) adjacency), daily game state.

Integration: Reddit API for live karma/comment data. Event-driven artifact spawning. Auto-posted clue comments. The comment thread is our event bus.

Challenges we ran into

Time zone coordination: Two students, Morocco and India, 4.5 hour difference. We made it work with async communication and late-night calls.

Scope control: We wanted everything — streaks, cosmetics, Golden Age events. We cut hard. Shipped core loop first, polished what works.

Asset limitations: No budget for art. Found free pixel assets, modified colors, kept it simple. The fog hides a lot.

Accomplishments that we're proud of

  • Built a persistent infinite world in 12 days
  • Reddit API as game mechanic, not just platform
  • One student team, two countries, shipped working product
  • 25 bytes per tile storage — a thousand tiles is 50KB

What we learned

  • Reddit's Realtime API is powerful but undocumented edges exist
  • Simplex Noise > Perlin for performance
  • Cutting features hurts but shipping heals
  • Community-driven games need community from day one

What's next for Tellus Ignota

  • Season 2 with new biomes and artifact sets
  • Streak system and cosmetic upgrades
  • Cross-subreddit expeditions
  • Golden Age community events
  • Mobile polish (most Reddit users are on phones)

Built With

  • 2d-game-development
  • devvit
  • devvit-realtime-api
  • devvit-web
  • event-driven
  • hono
  • node.js
  • phaser-3
  • pixel-art
  • procedural-generation
  • reddit
  • reddit-comments-api
  • redis
  • redis-kv
  • serverless-functions
  • simplex-noise
  • typescript
Share this project:

Updates