- Banned Mechanics table enumerates 17 banned patterns (gacha, lootboxes, narrative gating, daily login, streaks, limited-time, energy/stamina, rewarded ads, push notifications, loss-aversion copy, countdown timers, Season skipping, time-skip purchases, hint systems, mobile nag UX, etc.) - Allowed Engagement section names the 4 affordances that respect presence rather than demand it (Memory Storm opt-in, while-you-were-away letter, tab-title bloom indicator, Season-transition save-export reminder) - Review Checklist provides 3 questions for every UX/copy/monetization change - Source Documents section cites PROJECT.md, REQUIREMENTS.md, CLAUDE.md, .planning/research/PITFALLS.md - Per CONTEXT D-07: doctrine is enforced by review, NOT by lint rule on UX strings (the doc explicitly notes this and proposes no lint rule) - Per CONTEXT D-09: lives in .planning/ alongside other internal design docs
4.5 KiB
Anti-FOMO Doctrine
Phase 1 deliverable per PIPE-05 + UX-13. Consolidated from PROJECT.md, REQUIREMENTS.md, CLAUDE.md, and .planning/research/PITFALLS.md #9.
This document is referenced at every UX, monetization, and copy review going forward. It enumerates mechanics this game does not use, with the reason for each, so the answer to a "should we add X?" question is in writing rather than relitigated.
Per CONTEXT D-07: this doctrine is enforced by review, not by lint rules on UX strings. The reviewer (you, at every UX/monetization/copy decision) consults this list and rejects or rewrites any change that violates it.
Banned Mechanics
| Mechanic | Why Banned |
|---|---|
| Gacha mechanics | Directly contradicts the game's thematic argument that complex things cannot be reduced to simple transactions. (PROJECT.md, REQUIREMENTS.md Out of Scope, CLAUDE.md) |
| Lootboxes | Same reason as gacha — undermines the story's monetization-as-meaning argument. |
| Narrative gating behind purchase | The story IS the product; story content is never paid. |
| Random-drop monetization | All cosmetics must be deterministic catalog purchases. |
| Daily login bonuses | Presence is not a debt the game collects. |
| Login streaks | Skipping a day is allowed, even encouraged. |
| Limited-time / time-limited content | The game's premise is what persists. |
| Energy / stamina systems | Anti-cozy gating that interrupts contemplative play. |
| Rewarded ads | Anti-cozy; tonally incoherent with a contemplative grief-narrative. |
| Re-engagement push notifications | Memory Storm opt-in is the only allowed notification class. |
| Loss-aversion copy ("you'll lose your X") | Tonally incompatible with cozy/contemplative. |
| Visible countdown timers in core UI | The cello is the timer. The seasons are the timer. Not a digit. |
| "Don't miss out" / "limited time" / "only X hours left" copy | Bannable phrases at copy review. |
| Season skipping (vs. Season acceleration) | Players must never miss authored story beats; acceleration is allowed, skipping is forbidden. |
| Time-skip purchases that bypass real-time | Real-time IS the metaphor for memory; skip-time would violate mechanic-as-metaphor doctrine. |
| Hint system / objective tracker | Discovery-driven progression (A Dark Room rule); explicit objectives violate the tone. |
| Mobile-style nag UX | Cozy audience expects respect; nag patterns will tank reviews. |
Allowed Engagement
The following engagement affordances are explicitly allowed because they respect presence rather than demand it:
- Memory Storm opt-in notifications — the single allowed notification class. Player must explicitly opt in. Never daily, never marketing, never streak-based.
- "While you were away" letter on return — written in Lura's voice, never a stat dump (UX-02). Describes what bloomed, what the wind brought; never "fragments per hour."
- Tab-title bloom indicator when a fragment is ready (UX-09, Phase 8) — passive surfacing, no notification.
- Save-export reminder after Season transitions — relationship-saving, not nag.
Review Checklist
When reviewing any UX, copy, monetization, or feature change, ask three questions:
- Does this create urgency around presence rather than around content? If yes → reject.
- Does this frame absence as loss? If yes → rewrite or reject.
- Would removing this from the game make it less cozy? If no → reconsider whether the change belongs.
Additional sanity checks for monetization specifically:
- Does this mechanic gate any story content? → reject (PROJECT.md hard constraint).
- Is this random-drop / gacha / lootbox shaped? → reject.
- Is this a "limited-time" anything? → reject.
Source Documents
This doctrine consolidates constraints already locked in:
- PROJECT.md § "Out of Scope" — anti-features (gacha, lootboxes, narrative gating, Season skipping, generic flora, combat, multiplayer, voiced dialogue, named Keeper, generic cosmetics)
- REQUIREMENTS.md UX-13 + § "Out of Scope" table — 24 explicit exclusions
- CLAUDE.md § "Hard Thematic Constraints (Out of Scope by Design)" — 13 thematic exclusions, no FOMO push notifications, no daily login bonuses, no streaks, no limited-time, no energy/stamina
- .planning/research/PITFALLS.md § "Pitfall 9: FOMO/Nag Mechanics Violate Cozy Tone" — rationale + warning signs
Authored: Phase 1 deliverable. Updates: append-only — entries can be added (new banned patterns identified) but never removed without surfacing the change for review.