-
-
Splash: a live creature hatches in the post
-
The Phaser game: procedural creature, health bar, three actions
-
Daily limit enforced after 3 actions
-
Comments are gameplay: keywords become the instinct
-
Morning reveal card: what the community did overnight
-
Mutation applied, instinct credited to the commenter
-
Death state: X-eyes at a glance
-
Generation 2 auto-hatches in a new post, inheriting traits
Inspiration
Tamagotchi taught us that pixels can be loved. Reddit taught us that communities can keep anything alive - or hilariously kill it. Commune Critter merges the two: one creature per post, and the whole community shares its fate. The daily question that hooked us: "what did we become overnight?"
What it does
Every post hosts a single shared creature. Each redditor gets 3 actions per day:
- Feed - small instant heal, plus an aggregate overnight gain
- Mutate - vote on which trait slot (body, eyes, limbs, aura) evolves
- Ward - contribute protection; the least-tended slot is automatically shielded
Comments are gameplay: at the nightly tick, the top-ranked safe comment containing a recognized keyword becomes the creature's instinct (ferocity, hunger, guardian, or chaos) - it changes real health math and steers which trait mutates and in which direction, credited to the comment's author on the creature itself.
Each morning a reveal card tells the story of the night: how much the community fed it, whose comment became instinct, what mutated, what was shielded, and the health transition. Health drives at-a-glance visuals - thriving sparkle, struggling slump, dying decay particles, dead X-eyes.
If the creature hits 0 health, it dies - and the scheduler automatically hatches a Generation N+1 successor post that inherits two trait slots from its ancestor. The lineage never needs a human to continue.
How we built it
- Devvit Web (Node 22 + Hono) for the serverless backend, Redis for per-post creature state, daily action counters, and lineage tracking
- Devvit scheduler runs the nightly tick (decay, feed aggregation, instinct resolution, mutation, protection, death/succession); mods can also trigger it on demand
- Reddit API pulls ranked comments; a static keyword-bucket table (4 instinct buckets x ~20 words) plus a blocklist turns comments into deterministic gameplay effects - no runtime AI
- Phaser renders the creature procedurally: layered trait composition (body/eyes/limbs/aura variants), tweened posture and bobbing, particle systems per health stage, and the reveal-card overlay
Challenges we ran into
- Making comments matter mechanically without an LLM: we settled on static instinct buckets with a safety blocklist and ranked-comment fallback, so it's deterministic, safe, and fully testable
- Designing Ward so three actions stay legible: it auto-shields the least-tended slot instead of adding a second voting system
- Getting the succession loop airtight: the same tick that applies decay checks for death and spawns the next generation, so the retention loop never depends on a moderator
Accomplishments that we're proud of
- A full life-death-rebirth loop verified end-to-end on a live subreddit: actions, instinct extraction from a real comment, correct tick math, and automatic Gen 2 succession
- Comments as a first-class game verb - the most Reddit-native mechanic we could build
- A creature that reads at a glance: you can tell thriving from dying without reading a word
What we learned
- Devvit's scheduler + Redis + custom posts are a complete game backend - the platform disappears once state is modeled per-post
- Deterministic design (fixed thresholds, static buckets) beats cleverness under a deadline: every mechanic is unit-testable
- Aggregate-choice gameplay creates drama no single-player system can: nobody controls the creature, everybody blames each other
What's next for Commune Critter
- Majority-vote Ward targeting and richer trait trees
- Lineage museum: a hall of ancestors showing each generation's final form and cause of death
- Instinct seasons: rotating keyword buckets so community meta-vocabulary evolves
- Cross-subreddit breeding events between creatures
Note for judges
The Devvit app listing link may show a 403 while Reddit's app review (required for apps that create custom posts) is pending. The live demo post on r/CommuneCritter is the primary judged artifact and is fully playable.
Built With
- devvit
- hono
- node.js
- phaser.js
- redis
- typescript
- vite
Log in or sign up for Devpost to join the conversation.