A daily story-and-creatures RPG that lives inside a Reddit post.

You are a keeper. Every day an egg arrives with a story attached — a six-chapter, choose-your-own-adventure tale where a new chapter opens every four hours. Your choices pour karma (Radiance, Curse, Mana) into the shell, and after six chapters — exactly one day — it hatches into a creature shaped by everything you chose. Then you raise it, train it, dress it, bed it down in your den, and march it into ranked battle against every other keeper in the subreddit.

Built on Devvit Web + Phaser + Hono + Redis. Every creature, room, furnishing, icon, and effect is drawn procedurally in code — the game ships zero image assets, and a creature's entire appearance derives from its seed, so Redis stores no art data at all.

How to play

Your first session hatches a creature start to finish: the Genesis egg runs a short arc with no cooldowns, so you make three story choices, watch the karma settle, and meet your first companion within minutes.

The daily rhythm after that:

  • The story (Chapter tab). A chapter every 4 hours, six per egg, a hatch every 24. There are 166 hand-written chapter premises filled from nine detail banks — tens of thousands of distinct chapter texts, and no premise repeats for over a month of daily play. The sky-clock at the top shows where your egg is in its day (early morning → deep night → dawn).
  • The Vessel shows the egg, its karma pools, the tending ritual (its own 4-hour clock), and a hatch early offering for the impatient.
  • The little games (Glean tab). Four minigames — a match-3 gleaning, a rhythm lullaby, a timing-based tilling, a potion-stirring cauldron — earn karma crystals, the game's single currency. Completions can drop surprise parcels: unwrap them for gems or wearable trinkets.
  • The Codex holds your creatures. Every one is unique — 12 body plans, auras, wings, horns, crowns, markings, coats: 30,000+ distinct feature combinations, measured. Tap a pet to hear its voice, train it (unlimited workouts banking grit toward stat points that come slower as it grows), feed it gems to tilt its battle signature, or adorn it with a trinket.
  • The Arena. Unlimited ranked battles, deterministic and replayable, with a training-rest bonus that rewards rhythm over grinding. A separate brewed ladder consumes potions. The first ranked win each day pays a crystal bounty.
  • The Gilded Bazaar. A live player-to-player auction house — the first of its kind on Reddit. Legendary and Mythic creatures and ultra-rare regalia go on the block in 7-day ascending auctions, bid in Reddit Gold. Because Devvit Payments has no escrow and no refunds, auctions shouldn't be possible here — the Bazaar makes them possible by ensuring every bid is a completed purchase that always yields value: outbid on a creature and you're granted a guaranteed-Legendary Gilded Clutch on the spot; outbid on an accessory and a sealed Wandering Crate waits for the hammer. Nobody's Gold is ever stranded, and every auction ends with every bidder holding something.
  • The Wayfarer's Pub. Walk in as your Reddit avatar. Every keeper who enters appears in the shared room with their champion at heel — tap anyone to browse their profile and collection, then ring the bell for a real ranked bout.
  • The Den. Spend crystals on procedurally-drawn furnishings, walls, and floors; tuck your champion into its bed; play the harp.
  • The Wilds. A side-scrolling stroll for gems and feral bouts.

Nothing is pay-to-win: battles are decided by training and timing, and everything the Bazaar trades is cosmetic prestige — a bought Legendary still has to be raised and trained like any other. Reddit Gold flows only through the Bazaar's auction block and crate stall; the crystal economy itself is earned entirely in play, and crystals earned anywhere are the same currency spent at the shrine (whose offerings include a guaranteed-Legendary egg gilding), in the den, and on the cauldron.

Design notes for judges

  • Recurring content: the 4h/24h cadence is exact and timezone-fair (rolling cooldowns, not UTC midnights), and the story engine's rotation guarantees ~32 consecutive daily eggs before any premise repeats.
  • A novel auction protocol for Reddit: ascending auctions are normally impossible on a one-way, fixed-price, no-refund payments API. The Bazaar's bid-as-final-purchase design (fixed-price sku ladders, consolation prizes granted at the moment of outbid, hold-pinned tiers, lazy settlement) is, to our knowledge, the first working auction house built on Devvit Payments. Soulbound prize-hatches close the printing loop, so the market can't inflate itself.
  • Community: the pub roster, defender-mirror ratings, community canon choices, festivals, and hatch milestones all live in shared Redis state.
  • No UGC moderation surface: pet names are server-generated; players cannot enter free text anywhere.
  • Safety rails: all rewards are rolled server-side inside verified completion handlers; budgets, pouch caps, and per-day gates are enforced on the server; battles are seeded and replayable.

Development

npm install
npm run type-check   # strict TS across client + server
npm run dev          # Devvit playtest

src/client is the Phaser webview (scenes for the almanac, hatch, den, wilds, pub, and bazaar). src/server is the Hono API with the game engine under engine/ and feature services under game/. src/shared holds the types, balance tables, story content, auction protocol, and combat math used by both sides.

Built With

Share this project:

Updates

Submission history