Inspiration
Pet rocks are the perfect Reddit pet: zero maintenance, infinite personality projection, and they cannot die. We crossed that joke with the games we actually retain for — idle merge ladders and old god-game "visit your friend's world" loops — and asked: what if the subreddit itself was the world? Every design decision flows from one rule: daily play should manufacture what the weekly community event consumes.
What it does
Every redditor gets a garden and a pet rock (stats fixed at creation — flavor, never power). From there:
- Plant golems — free, unlimited, tier 1 matures in 10 real seconds.
- Merge 3-of-a-kind up an eight-tier ladder: 10s → 60s → 3min → 10min → 45min → 3h → 12h → 48h, fuel value doubling each tier to a 128-fuel titan.
- Neglect has consequences (but never punishment): forgotten golems go overripe, then feral — a tier-5 escapee becomes five goobers in the community pool.
- Missions send your rock caving/foraging/patrolling and return procedurally written 2–3 sentence stories built for the comment section.
- Visits: rescue a stranger's overripe crop for split credit (both parties get full value), bless their garden, judge it with canned ratings (🏆/🪨/😭).
- Weekly boss: everything you grew gets hurled at a colossal goober on a rope-bridge platformer screen, with a damage leaderboard and a killing-blow race. Gold challenge tiers pay real Reddit flair.
How we built it
Devvit Web + Phaser 4 + Hono + platform Redis. The architecture law is compute-on-read: all time-driven state (growth, rot, missions, streaks) derives from timestamps at read time — no per-player ticks, no cron fleet, scales to any subreddit size for free. The full economy is pure functions with now as a parameter, which made two things possible: a test harness with time travel, and a balance simulation that runs 20,000 player-weeks through the real game math as a permanent regression test. All 33 art pieces came from one image model with a single style block and fixed seed — the entire visual identity cost about $1.
Challenges we ran into
- The platform fights automation: expanded mode requires trusted input, synthetic clicks never reach the Phaser canvas, webviews cache API GETs, and stale iframes survive hot-deploys. We built a two-actor verification protocol (on-screen build tags, self-narrating console logs, Playwright harnesses with stubbed APIs) so every change proves itself in pixels.
- The boss shipped unkillable. The balance sim caught it: damage/HP ratio 0.30. Simulation-tuned to die 65% of weeks — almost-fail tension, every week.
- The merge economy landed late and inflated fuel output ~21×. Every test suite, the boss HP curve, and the visit rules had to be rebuilt around it — including a griefing vector we caught where "blessing" a neighbor's fast-tier golem would rot their merge material into stealable range.
- ISO week boundaries: 7×24h from Monday 00:01 is next Monday. Twice.
Accomplishments that we're proud of
- 111 automated tests, including a full compressed-week E2E where three simulated personalities live seven days and the boss's HP reconciles to the exact damage ledger.
- A first session with the entire payoff loop in it: plant → 10 seconds → harvest → merge, before the first real wait.
- A cooperative-only social economy: visiting is profitable for both sides and structurally can't be extractive.
- Zero moderation surface: ratings are canned, reports are generated, names are filtered.
What we learned
Tune by simulation, not vibes — every balance number we guessed was wrong, some catastrophically. Compute-on-read turns "idle game on someone else's infrastructure" from scary to trivial. And economies are load-bearing everywhere: changing crop timers cascaded into visit rules, blessing mechanics, boss HP, and the onboarding curve. Write everything down; re-audit, don't append.
What's next for Pet Rock World
- Faction wars: opt-in ephemeral factions (Igneous vs Sedimentary), attacker-favored async knockouts — your rock gets tipped over for a few hours, never dies.
- Arena: deterministic physics battles with daily modifiers, replayed client-side.
- A drag-and-drop merge board, seasonal boss skins voted by the community, and chasing Reddit Developer Funds engagement milestones.
Log in or sign up for Devpost to join the conversation.