313 lines
40 KiB
Markdown
313 lines
40 KiB
Markdown
# Feature Research
|
||
|
||
**Domain:** Browser-based narrative idle game (cozy + narrative + idle Venn) — *The Last Garden*
|
||
**Researched:** 2026-05-08
|
||
**Confidence:** HIGH (genre conventions are well-documented; tonal alignment to PROJECT.md is the load-bearing judgment call)
|
||
|
||
---
|
||
|
||
## Feature Landscape
|
||
|
||
### Table Stakes (Users Expect These)
|
||
|
||
Features that, if missing, cause idle game players to bounce or write angry reviews. These are non-negotiable. Players don't praise their presence — they punish their absence.
|
||
|
||
| Feature | Why Expected | Complexity | Notes |
|
||
|---------|--------------|------------|-------|
|
||
| **Offline progression simulation** | Idle games are *defined* by the promise that the world advances when you're not playing. Without it, the genre contract is broken. | HIGH | Must simulate elapsed time on resume. Cap matters (typically 8–24 hours) — players resent both "lost" idle time and unbounded numbers. For The Last Garden, the cap *is* a tonal lever (the garden waits, but not forever). |
|
||
| **"What you missed while away" report** | Players need to feel rewarded on return, not lost. Industry pattern: a modal/screen showing fragments earned, plants grown, narrative beats reached. | MEDIUM | Tonal opportunity: not a spreadsheet but a small letter from the garden. "While you were away, the moonbloom opened. Lura sat with it." Drives Day-2 retention. |
|
||
| **Save persistence (local)** | Idle games run for weeks/months. Losing a save = losing the relationship. Browser idle games *must* survive tab closes, restarts, accidental clears. | MEDIUM | Use IndexedDB primary (50MB+, async, survives storage pressure better than localStorage), with localStorage as fallback. Auto-save every 10–30s. Multiple save slots / rolling backups. Hard requirement per PROJECT.md. |
|
||
| **Save export / import (manual backup)** | Standard practice in browser idle games because browsers wipe storage. Lets users back up, move between devices, recover from corruption, and submit bug reports. | LOW | Base64-encoded text blob. Copy/paste UI (clipboard via fallback overlay for any embedded WebGL contexts). "Always export before importing" warning is genre-standard. |
|
||
| **Manual save / load slot UI** | Defensive players want explicit control over their long-running save. Auto-save alone breeds anxiety. | LOW | 2–3 slots minimum. Show date, season, key stat. New game = explicit confirmation, never automatic. |
|
||
| **Audio toggles (music + SFX + ambient, separate sliders)** | Idle games run in background tabs for hours. A single mute is insufficient — players keep ambient on, mute music, etc. | LOW | Three-channel mixer minimum. Persisted across sessions. Especially important for The Last Garden because cello/silence are part of the storytelling. |
|
||
| **Master mute / quick mute keybind** | Idle games are played at work, in meetings, while watching TV. Instant mute is muscle memory. | LOW | M key or icon. Visual confirmation. Survives reload. |
|
||
| **Pause / resume** | Cozy/contemplative players want to "set down" the game without feeling time pressure. Even more important when the loop is metaphor. | LOW | True pause (no time advance) vs. afk pause. Both have a place; document the choice. |
|
||
| **Settings menu (audio, visual, accessibility, save management)** | Standardized expectation. No settings = unprofessional. | LOW | Single discoverable gear icon. Group sensibly. |
|
||
| **Notification of meaningful events** | Long idle gaps mean players miss state changes. They need a cue (browser tab title flash, in-game flag, or PWA push). | MEDIUM | Title bar update is the cheapest, most respectful pattern. Push notifications are higher-impact but require service worker, opt-in, and risk feeling intrusive in a cozy game. |
|
||
| **Tab visibility-aware behavior** | Players keep the tab open in background. Game must continue (or simulate continuation on focus return) without burning CPU/battery. | MEDIUM | requestAnimationFrame paused when hidden, fall back to deltaTime calculation on focus. |
|
||
| **Multi-buy / max-affordable purchase** | Once costs scale exponentially, single-click purchasing becomes hand-cramping busywork. Genre-standard since Cookie Clicker. | LOW | Buy x1 / x10 / x100 / Max toggle. "Max" calculates the largest affordable batch. UI: a small toggle next to the buy button. |
|
||
| **Numeric formatting (K, M, B, scientific notation)** | Idle game numbers blow past human-readable scales. Without formatting, the UI becomes unreadable. | LOW | Standard library: scientific notation past 1e15, named suffixes (K/M/B/T) below. The Last Garden's economy may stay smaller-scale per its tone — still need this. |
|
||
| **Visible progress / upgrade tree / what's next hints** | Players need to know what they're working toward. Pure mystery loses players; pure roadmap kills wonder. | MEDIUM | The Last Garden's challenge: convey "something is coming" without spoiling Season transitions. Soft cues (a leaf appears at the wall edge) > explicit progress bars. |
|
||
| **Achievement / collection tracking** | Persistent positive feedback. In narrative idle, doubles as a reading log of fragments collected. | MEDIUM | Maps directly to the memory fragment collection in The Last Garden. The Keeper's Journal is essentially this feature, gated as premium. A free baseline collection view is table stakes. |
|
||
| **First-time-user experience (FTUE) that doesn't break tone** | First 30 min determines if players stay. Idle games have a unique FTUE problem: there's "nothing to do" until something appears. | HIGH | A Dark Room solves this with a single button and patience. Universal Paperclips trusts the player. The Last Garden should follow this lineage — minimal explicit instruction, lots of careful first-action design. |
|
||
| **Resume-from-pause friendliness** | Cozy/idle players close the tab for a week and return. The game must orient them: where am I, what's new, what should I do? | MEDIUM | Returning-player view: time-since indicator, "what happened" recap, gentle "next" affordance. |
|
||
| **Accessibility: keyboard navigation** | Industry baseline. Web players assume tab/enter works. | MEDIUM | Most idle games are click-only and fail this. Don't. |
|
||
| **Accessibility: text scaling / readable contrast** | Browser players come from many eyesight contexts. Mandatory under modern web norms. | LOW | Respect browser zoom. Minimum AA contrast on all text/UI. |
|
||
| **Accessibility: reduced motion option** | Watercolor + animation may include effects (wind, growth, particles) that trigger motion sensitivity. WCAG 2.1 baseline. | LOW | Respect `prefers-reduced-motion`. Provide explicit toggle. |
|
||
| **Accessibility: colorblind support / icon redundancy** | Don't convey state by color alone. Especially important if Season palettes shift heavily. | LOW | Pair color cues with shape/icon. The seven Seasons each have distinct palettes — already an opportunity to enforce icon-redundant identity per Season. |
|
||
| **Tab title / favicon as background indicator** | When tab is in background, players want a glance signal that something's ready. | LOW | Update document.title with a count or symbol when meaningful events accumulate. Cheap, expected, respected. |
|
||
| **Stable performance with tab in background** | Tab throttling (browsers throttle setInterval in background tabs) is a known foot-gun. Players will rage if numbers stop moving. | MEDIUM | Use timestamps + simulation on resume rather than per-tick increments. This is the standard idle-game safe pattern. |
|
||
| **No data loss on page refresh** | One accidental F5 cannot wipe progress. | LOW | Frequent autosave + onbeforeunload save. |
|
||
| **Privacy-respecting telemetry (or none)** | Cozy/narrative audience overlaps heavily with privacy-conscious indie game audience. Heavy telemetry feels off-brand. | LOW | If included: opt-in, transparent, anonymized. Often "off by default" is the right call for this audience. |
|
||
|
||
### Differentiators (Competitive Advantage)
|
||
|
||
These are where The Last Garden competes — features that elevate it above the crowded idle-RPG/clicker space and deliver on the cozy + narrative + idle promise.
|
||
|
||
| Feature | Value Proposition | Complexity | Notes |
|
||
|---------|-------------------|------------|-------|
|
||
| **Mechanic-as-metaphor design (every system carries narrative weight)** | This *is* the project's Core Value per PROJECT.md. Composting = letting go. Prestige = grief. Roothold = what survives. No other idle game commits to this. | HIGH | Not a feature so much as a design discipline — but it's what distinguishes The Last Garden from every other idle. Every mechanic gets reviewed against "does this carry the metaphor." |
|
||
| **Season-specific mechanics (7 Seasons, each with distinct system)** | Unlike the typical idle that adds layers atop the same loop, each Season transforms the game. Soil → Roots → Canopy → Storm → Depth → Loom → Return. This is *Universal Paperclips*-style escalation, not Cookie Clicker stacking. | HIGH | The biggest production risk *and* the biggest creative differentiator. Each Season ships as a vertical slice of mechanics + art + audio + writing. |
|
||
| **Discovery-driven progression (no roadmap; reveal by play)** | Hallmark of A Dark Room and Paperclips. Players don't know what's coming — finding out *is* the game. This is the cozy-narrative-idle audience's primary delight. | MEDIUM | Tension with FTUE: players need *just enough* to not bounce. Lean on the A Dark Room rule: one button at start, expand only when the player is ready. |
|
||
| **Authored memory fragment system (every harvest = a piece of writing)** | Direct alignment to PROJECT.md core mechanic. Turns the idle harvest loop into a reading experience. The fragments *are* the world-building (no codex). | HIGH | Requires hundreds of authored fragments. Pipeline is content-pipeline-heavy, not engineering-heavy. Display: "while you were away" report doubles as fragment delivery. |
|
||
| **Watercolor + cello aesthetic (consistent through all 7 Seasons, evolving)** | Aesthetic is the moat. No idle game looks or sounds like this. Audience overlaps significantly with the *Spiritfarer* / *Stardew* / *Cozy Grove* art-direction-driven audience. | HIGH | AI-assisted art + hand-refinement pipeline (per PROJECT.md). Audio: solo cello + ambient. Tone-locked per Season. |
|
||
| **"Place-memory vignettes" (Season 3+) — short interactive scenes from canopy trees** | Breaks the idle loop with bursts of authored interactivity. Like *Spiritfarer*'s spirit storylines but short and lyrical. | HIGH | Scene-graph / dialogue system needed. Could ship as Season 3 content, doesn't have to be in v1's earliest playable build. |
|
||
| **Three-character authored arcs (Lura, Nameless Man, Archivist)** | Idle games rarely have characters with arcs. This is borrowed from cozy/narrative games (*Spiritfarer*, *Stardew*, *Disco Elysium*-light). Hard differentiator. | HIGH | Dialogue tree / scripting system. Characters appear in tonally-keyed beats per Season, not gated behind currencies. |
|
||
| **Roothold as never-lost prestige currency** | Most idle games' prestige currencies are about throughput (multipliers). Roothold represents *understanding*. It's a thematic choice that becomes a mechanical signature. | MEDIUM | Standard prestige math (Cookie Clicker / Paperclips style); the differentiator is thematic framing and what it unlocks (memory permanence, not number scale). |
|
||
| **Final binary narrative choice ("the garden persists" ending)** | Single-decision ending matches A Dark Room / Paperclips conviction. Players project themselves onto their gardens — the choice lands because of accumulated investment, not because of fork-tree-of-decisions complexity. | MEDIUM | One scene. Two outcomes. Both respect player investment. Locked by story bible. |
|
||
| **Tonal pacing across Seasons (palette + audio shift)** | Seasons aren't just mechanic shifts — they're emotional shifts. Golden/autumnal warmth → deep green/storm tension → dawn/silver release. Almost no idle game does this. | MEDIUM | Asset organization by Season. Cross-fade transitions. Per-Season ambient loops. |
|
||
| **Memory Storms (Season 4+ event mechanic)** | Idle games rarely have weather/event systems with narrative weight. Storms are both mechanic (resource influx + risk) and metaphor (memory rushes back, then leaves). | MEDIUM | Time-windowed events. Visual + audio cue. Can ship in a later Season patch. |
|
||
| **Cross-pollination + ecosystem planting (Season 5+)** | Idle games stack systems shallowly; this introduces a true depth curve in late Seasons. Differentiates from clicker/RPG flatness. | HIGH | Plant-relationship system. Compatibility / interaction matrix. Requires careful design to remain readable. |
|
||
| **Episodic Season patches as live content updates** | Hollow Knight / Hades model: ship base game with a complete arc, then drop free additive content patches that deepen specific Seasons or add new place-memory vignettes. Sustains community without exploiting it. | MEDIUM | Requires content pipeline + hot-patchable content data. Distinct from full-episodic release (which we're explicitly not doing — see Anti-Features). |
|
||
| **Cosmetic-only monetization (planters, walls, gates, tool skins) tied to garden aesthetic** | Per PROJECT.md. Animal Crossing-style decoration purchases that *reinforce* the aesthetic, not generic skins. Trust-building monetization. | MEDIUM | Item pipeline + cosmetic equip system. Content-light (a dozen items at launch is enough). |
|
||
| **Premium "Keeper's Journal" feature for annotating fragments** | One-time purchase or unlockable. Lets players annotate, organize, mark favorites, write their own observations next to fragments. Genuinely valuable feature, ethical pricing. | MEDIUM | Rich-text or markdown editing surface, persistent storage. The free version still shows fragments; the premium adds annotation layer. |
|
||
| **Season acceleration purchase (never skipping)** | Per PROJECT.md: a paid "lean forward" option for players short on time. Clear ethical line: accelerates the rate but never bypasses a story beat. | MEDIUM | Simple multiplier on Season-specific tick rate. Story gates still apply. |
|
||
| **Letter-style "while you were away" return screen** | Tonal differentiator. Most idle games show a stat dump on return; The Last Garden shows a small written note from Lura/the garden. | MEDIUM | Templated micro-prose generated from the events that occurred. Authored variants per Season. |
|
||
| **PWA / installable home screen presence** | Lets dedicated players "live with" the game without a tab. Aligns with cozy game aesthetics (Stardew on a phone home screen). | MEDIUM | Manifest + service worker. Optional push notification opt-in for Memory Storm events. |
|
||
| **"Quiet mode" / sleep mode for the garden** | Cozy player tells the game: "I'll be back in a week. Wait for me." The garden enters a stasis state. Tonally rhymes with the Pale's silence. | LOW | Narrative-dressed pause feature. Player consent for time-skip behavior. |
|
||
|
||
### Anti-Features (Commonly Requested, Often Problematic)
|
||
|
||
Features standard in the broader idle/F2P market that would directly undermine The Last Garden's thematic argument or cozy/narrative tone. The reasoning here ties to PROJECT.md's hard constraints — these aren't soft preferences, they're load-bearing creative decisions.
|
||
|
||
| Feature | Why Requested | Why Problematic | Alternative |
|
||
|---------|---------------|-----------------|-------------|
|
||
| **Gacha / lootbox mechanics** | Industry-standard mobile idle monetization (54.7% of idle revenue is IAP). Highly effective at extraction. | Directly contradicts PROJECT.md's thematic argument: "the game's argument is that you cannot reduce complex things to simple transactions." Gacha is the embodiment of that reduction. Locked out by story bible. | Cosmetic catalog with fixed prices. Players see exactly what they're paying for. |
|
||
| **Combat / boss fights / enemy power creep loops** | Idle RPG is the genre's largest sub-segment (13.7% CAGR). The "kill numbers go up" loop is well-understood and lucrative. | The Archivist is not a boss. There is no enemy. PROJECT.md is explicit. Adding combat would shift the game out of the cozy-narrative-idle Venn entirely. | The "stakes" come from the Unremembering — environmental, not adversarial. Tension via loss, not opposition. |
|
||
| **Daily quest / login bonus pressure systems** | Industry-standard retention pattern. Forms habits, increases DAU. Players in idle communities tolerate it. | Active hostility to the cozy/contemplative audience. Cozy players play *when they want to*. Daily quests turn the game from a relationship into an obligation. Many cozy-game communities cite "no daily quest harassment" as a buying reason. | Persistent narrative pull (something always growing) instead of FOMO mechanics. Streaks would actively poison the metaphor. |
|
||
| **Energy / stamina systems** | Mobile F2P pattern that creates monetizable friction. | Energy systems exist to artificially gate play, then sell the gate. Anti-cozy. Anti-trust. | Time-gated growth (plants take real time) is the natural rhythm. No artificial stamina layer. |
|
||
| **Rewarded ads / ad-watch incentives** | 28.3% of idle game revenue. Easy money. | Disrupts atmosphere catastrophically. Cello + watercolor + Mountain Dew ad = tone collapse. Also requires partner SDK that complicates web build. | Cosmetic purchases. Premium Keeper's Journal. Season acceleration. All non-disruptive to atmosphere. |
|
||
| **Narrative content gated behind purchase** | Story-DLC monetization works in many genres. | Hard line per PROJECT.md: story is the product, story is never paid. This is the highest-trust commitment to the audience. | Cosmetics + utility (Keeper's Journal) + acceleration. Never the story itself. |
|
||
| **Skipping Seasons (vs accelerating)** | Players who already played want to "see the end" faster. | The cumulative weight of the seven Seasons *is* the experience. Skipping breaks the metaphor. Per PROJECT.md. | Acceleration purchase: same beats, faster ticks. Story preserved. |
|
||
| **Lore codex / encyclopedia / wiki-style entries** | Standard worldbuilding feature in narrative games. Players love feeling completionist about lore. | PROJECT.md: "World-building emerges through fragments only. The player should always feel like they're *almost* understanding." A codex would resolve the ambiguity that *is* the meaning. | Memory fragments only. Fragments are by nature incomplete. Resist the pull to make them tidy. |
|
||
| **Generic fantasy flora (D&D-style)** | Easier to source AI art for "moonbloom" than for "a hyacinth that's slightly wrong." | PROJECT.md: plants must be real species, slightly wrong. Generic fantasy plants would shift the visual language toward standard fantasy idle and lose the uncanny grounding. | Real-species reference + AI generation tuned to slight wrongness. Curation is heavier; the payoff is unique. |
|
||
| **Multiplayer / social / clan / leaderboard systems** | Drives long-tail retention. Universal in modern idle. | PROJECT.md: "This is a contemplative, solitary experience." Adding social features pollutes the introspective tone. Garden visiting *might* be considered post-1.0 if it preserves tone — but the bar is high. | Solitude is the feature. Lean into it. The Keeper is alone. |
|
||
| **Voiced dialogue / cutscenes (v1)** | Modern narrative game expectation. | PROJECT.md tone: "a friend texting you while you're at work." Voice acting at v1 cost is also production-prohibitive. Reconsider only if specific scenes benefit. | Text only, with cello and ambient as the soundscape. Silence does dialogue work. |
|
||
| **Always-online requirement / server-side validation** | Anti-cheat / anti-piracy. | The audience is browser indie players. Always-online breaks the "I can play this on a plane" expectation and adds infrastructure cost for no thematic gain. | Local-first save. Cloud sync as optional stretch. |
|
||
| **Aggressive notification / re-engagement push** | F2P industry standard ("we miss you!" emails, "your harvest is ready!" pings). | Cozy audience finds these intrusive. Erodes trust. | Opt-in push for Memory Storms only (rare, tonally appropriate events). Default off. Tab title is sufficient for routine signaling. |
|
||
| **Power-creep loops / multiplier escalation as primary motivator** | The bedrock pattern of clicker/idle. | Numbers in service of story (PROJECT.md), not the inverse. Pure power-creep would make the metaphors invisible. | Roothold-as-understanding, not Roothold-as-multiplier. Mechanical depth over numerical scale. |
|
||
| **Cosmetic items unrelated to the garden setting** | Easy revenue (skins of every flavor sell). | PROJECT.md: cosmetics must reinforce, not dilute, the aesthetic. A neon planter would break the watercolor world. | Every cosmetic is a planter, wall, gate, tool — all garden-coherent. Curated catalog over volume. |
|
||
| **A named/personality-rich Keeper character** | Players want to know who they are. | PROJECT.md: "The Keeper is a presence, not a personality." The player projects themselves onto the Keeper — that's the trick. | Keeper has presence (cursor, intent, the garden's care) but no portrait, no name, no dialogue beyond the final choice. |
|
||
| **In-game wiki / hint system / objective tracker** | Modern UX expectation in many genres. | Resolves the discovery loop that Paperclips/Dark Room teach the audience to *love*. Patronizes the player. | Trust the player. Lean on environmental cues. If a system needs a hint system to be understood, the system needs redesign. |
|
||
| **Time-skip purchases that bypass real-time growth** | "Speed up by 4 hours" is mobile-standard. | The waiting *is* the metaphor. Bypassing time bypasses the meaning. | Season acceleration adjusts the rate, doesn't compress real-time gates that carry weight. |
|
||
| **Generic UI chrome / corporate idle aesthetic** | Most idle games look like spreadsheets with skins. | The Last Garden's UI is part of the watercolor world. Hand-crafted UI that breathes the same air as the art. | Custom UI components. Watercolor-edged buttons. Hand-lettered numerics where it serves. |
|
||
|
||
---
|
||
|
||
## Feature Dependencies
|
||
|
||
```
|
||
Save persistence (local)
|
||
└── enables ──> Offline progression simulation
|
||
└── enables ──> "What you missed" return screen
|
||
└── enables ──> Letter-style return narration
|
||
|
||
Memory fragment system
|
||
└── requires ──> Save persistence
|
||
└── enables ──> Achievement / collection tracking
|
||
└── enables ──> Premium Keeper's Journal (annotation layer)
|
||
|
||
Core idle loop (plant/wait/harvest)
|
||
└── enables ──> Roothold prestige currency
|
||
└── enables ──> Seasonal prestige cycle
|
||
└── enables ──> Season-specific mechanics (1–7)
|
||
└── enables ──> Place-memory vignettes (S3+)
|
||
└── enables ──> Memory Storms (S4+)
|
||
└── enables ──> Cross-pollination/ecosystem (S5+)
|
||
└── enables ──> Final binary choice (S7)
|
||
|
||
Settings menu (audio/visual/accessibility)
|
||
└── required for ──> All accessibility features
|
||
└── required for ──> Audio toggles, reduced motion, etc.
|
||
|
||
Cosmetic system
|
||
└── requires ──> Save persistence (to remember equipped items)
|
||
└── requires ──> Asset pipeline maturity
|
||
└── enables ──> Cosmetic monetization
|
||
|
||
Episodic content patches (live updates)
|
||
└── requires ──> Hot-patchable content data layout
|
||
└── requires ──> Save schema versioning + migration
|
||
└── enables ──> Post-launch Season expansions / vignette additions
|
||
|
||
PWA / installability
|
||
└── enables ──> Push notifications (opt-in)
|
||
└── enables ──> Home-screen presence
|
||
|
||
Tab visibility-aware tick logic
|
||
└── required for ──> Stable performance with tab in background
|
||
└── required for ──> Offline progression accuracy on focus return
|
||
```
|
||
|
||
### Dependency Notes
|
||
|
||
- **Save persistence is foundational.** Every long-running idle feature depends on it. Get this right first — schema migrations are painful retroactively, especially when 7 Seasons of content evolution will demand schema growth.
|
||
- **Memory fragments depend on save persistence + offline progression.** Players will want to read fragments from offline harvests; the "while you were away" report and the fragment delivery are the same surface.
|
||
- **Save schema versioning is required before episodic patches.** If post-launch content patches add new Season state, old saves must migrate cleanly. This is the kind of decision that wrecks an idle game retroactively.
|
||
- **Settings menu is required infrastructure for accessibility.** Don't ship without it — accessibility added late is twice the work.
|
||
- **The cosmetic system needs the asset pipeline to be mature.** Cosmetics aren't urgent, but they require curated assets — the same pipeline that produces Season art. Monetization is unlikely to be a v1.0 launch feature; v1.1+ is fine and more honest.
|
||
- **Tab visibility / background tick logic is a foot-gun.** Browsers throttle background tabs. The standard fix is timestamp-based simulation on focus, not interval-based ticks. This must be the default architecture, not retrofitted.
|
||
- **Discovery-driven progression conflicts with explicit objective tracker / hint system.** Don't ship both. The discovery loop is the differentiator; explicit hints kill it.
|
||
|
||
---
|
||
|
||
## MVP Definition
|
||
|
||
The Last Garden is committed to shipping all 7 Seasons at v1 (per PROJECT.md). That's the *content* commitment. But within that, there's a "smallest playable vertical" that proves the loop and tone before scaling content.
|
||
|
||
### Launch With (v1.0)
|
||
|
||
The shipped game. All seven Seasons of authored content + the table-stakes feature set.
|
||
|
||
- [ ] **Core idle loop** — plant, wait, harvest memory fragments — *this is the entire game's foundation*
|
||
- [ ] **Offline progression simulation** with sensible cap — *genre table stakes*
|
||
- [ ] **"While you were away" return screen, in letter style** — *tonal differentiator on a table-stakes feature*
|
||
- [ ] **Save persistence (IndexedDB primary, localStorage fallback)** — *non-negotiable for long-running play*
|
||
- [ ] **Save export / import (Base64 text)** — *defensive UX for browser persistence reality*
|
||
- [ ] **Memory fragment system + fragment collection view** — *core narrative delivery vehicle*
|
||
- [ ] **All 7 Seasons of authored content** (Soil → Roots → Canopy → Storm → Depth → Loom → Return) — *PROJECT.md commitment*
|
||
- [ ] **Three character arcs (Lura, Nameless Man, Archivist)** — *PROJECT.md commitment*
|
||
- [ ] **Final binary narrative choice + "garden persists" ending** — *story-bible-locked*
|
||
- [ ] **Roothold prestige currency** — *story-bible-locked*
|
||
- [ ] **Settings menu** with audio sliders (music/SFX/ambient), reduced motion toggle, contrast/text-size respect — *accessibility baseline*
|
||
- [ ] **Master mute keybind + tab title indicator** — *idle-genre baseline*
|
||
- [ ] **Tab visibility-aware tick logic** — *required for correctness*
|
||
- [ ] **Multi-buy (x1/x10/x100/Max) for purchases that scale** — *idle baseline*
|
||
- [ ] **FTUE that respects the player** (one button at start, expand by reveal) — *competes on tone*
|
||
- [ ] **Watercolor + cello aesthetic, palette-shifted by Season** — *the moat*
|
||
- [ ] **Cross-pollination, composting, ecosystem planting (S5+) and Memory Storms (S4+)** — *PROJECT.md commitment*
|
||
- [ ] **Place-memory vignettes (S3+)** — *PROJECT.md commitment*
|
||
|
||
### Add After Validation (v1.x)
|
||
|
||
Features to ship as free patches once the base game is out and the audience is real. These are genuinely valuable but don't gate launch.
|
||
|
||
- [ ] **PWA / installability** — *added when player demand for "live with it" is confirmed*
|
||
- [ ] **Opt-in push notifications for Memory Storm events** — *only after PWA exists; risk of feeling intrusive*
|
||
- [ ] **Cloud save sync** — *huge UX win, but infrastructure cost; ship after proving demand*
|
||
- [ ] **Cosmetic monetization catalog** — *requires asset pipeline maturity; don't launch with monetization, launch with the game*
|
||
- [ ] **Season acceleration purchase** — *genuine player value once the game is stable; tonally needs careful execution*
|
||
- [ ] **Premium Keeper's Journal (annotations layer)** — *deepens the relationship with fragments; ship once free baseline is loved*
|
||
- [ ] **Additional place-memory vignettes** — *episodic content patches, Hollow-Knight-style free additive content*
|
||
- [ ] **Achievements / collection milestones (beyond fragment count)** — *deepens completionist motivation, but secondary to the main loop*
|
||
- [ ] **Multiple save slots beyond the default 2–3** — *if requested*
|
||
- [ ] **Quiet/sleep mode (narrative-framed pause)** — *if players ask for it*
|
||
|
||
### Future Consideration (v2+)
|
||
|
||
Things to defer until product-market fit is established and the team has room.
|
||
|
||
- [ ] **Steam port** — *post-1.0 per PROJECT.md*
|
||
- [ ] **Mobile port (iOS/Android native or PWA-as-app)** — *post-1.0 per PROJECT.md*
|
||
- [ ] **Garden visiting / sharing (limited social)** — *only if it preserves the contemplative tone; bar is high*
|
||
- [ ] **Localization beyond English** — *enormous content burden given fragment density; v2+ minimum*
|
||
- [ ] **Voiced moments (specific scenes, not full dialogue)** — *only if cello/silence soundscape benefits*
|
||
- [ ] **Modding / fragment authoring tools** — *community-extension dream, far-future*
|
||
|
||
---
|
||
|
||
## Feature Prioritization Matrix
|
||
|
||
| Feature | User Value | Implementation Cost | Priority |
|
||
|---------|------------|---------------------|----------|
|
||
| Core idle loop (plant/wait/harvest) | HIGH | MEDIUM | P1 |
|
||
| Save persistence (local) | HIGH | MEDIUM | P1 |
|
||
| Offline progression | HIGH | HIGH | P1 |
|
||
| "While you were away" letter | HIGH | MEDIUM | P1 |
|
||
| Memory fragment system | HIGH | HIGH | P1 |
|
||
| 7 Seasons of authored content | HIGH | VERY HIGH | P1 |
|
||
| Settings + audio toggles | HIGH | LOW | P1 |
|
||
| Reduced motion / accessibility baseline | MEDIUM | LOW | P1 |
|
||
| Save export/import | MEDIUM | LOW | P1 |
|
||
| Multi-buy / max-affordable | MEDIUM | LOW | P1 |
|
||
| Tab visibility-aware ticks | HIGH | MEDIUM | P1 |
|
||
| FTUE that respects the player | HIGH | MEDIUM | P1 |
|
||
| Roothold prestige | HIGH | MEDIUM | P1 |
|
||
| Three character arcs | HIGH | HIGH | P1 |
|
||
| Final binary choice | HIGH | LOW | P1 |
|
||
| Watercolor + cello aesthetic | HIGH | VERY HIGH | P1 |
|
||
| Place-memory vignettes (S3+) | HIGH | HIGH | P1 |
|
||
| Memory Storms (S4+) | HIGH | MEDIUM | P1 |
|
||
| Cross-pollination (S5+) | HIGH | HIGH | P1 |
|
||
| PWA installability | MEDIUM | MEDIUM | P2 |
|
||
| Cosmetic monetization | MEDIUM | MEDIUM | P2 |
|
||
| Premium Keeper's Journal | MEDIUM | MEDIUM | P2 |
|
||
| Season acceleration | MEDIUM | LOW | P2 |
|
||
| Cloud save sync | MEDIUM | HIGH | P2 |
|
||
| Push notifications (opt-in) | LOW | MEDIUM | P2 |
|
||
| Multiple save slots | LOW | LOW | P2 |
|
||
| Quiet/sleep mode | LOW | LOW | P3 |
|
||
| Achievement system (beyond fragments) | LOW | MEDIUM | P3 |
|
||
| Steam port | MEDIUM | HIGH | P3 |
|
||
| Mobile port | MEDIUM | HIGH | P3 |
|
||
| Localization | MEDIUM | VERY HIGH | P3 |
|
||
| Garden visiting (limited social) | LOW | HIGH | P3 |
|
||
|
||
**Priority key:**
|
||
- P1: Must have for launch (v1.0)
|
||
- P2: Should have, ship as v1.x patch
|
||
- P3: Future consideration, defer
|
||
|
||
---
|
||
|
||
## Competitor Feature Analysis
|
||
|
||
| Feature | A Dark Room | Universal Paperclips | Cookie Clicker | Melvor Idle | Spiritfarer | Stardew Valley | The Last Garden Approach |
|
||
|---------|-------------|----------------------|----------------|-------------|-------------|----------------|--------------------------|
|
||
| **Offline progression** | Limited (event-driven) | No (active session) | Yes (capped) | Yes (full) | N/A (not idle) | N/A | Yes, capped, narratively framed |
|
||
| **"What you missed" report** | Random events on return | None | Stat dump | Stat dump | N/A | N/A | Letter-style narrative (differentiator) |
|
||
| **Tutorial / FTUE** | Single button reveal | Trust-the-player | Tooltip-light | Heavy tutorial | Hand-holding intro | Soft intro | A Dark Room lineage — discovery |
|
||
| **Save persistence** | localStorage | localStorage | localStorage + cloud | Local + cloud (Steam) | Steam cloud | Steam cloud | IndexedDB + export/import + optional cloud |
|
||
| **Save export/import** | Yes (text) | Yes (text) | Yes (text) | Yes (text) | No | No | Yes (Base64 text) |
|
||
| **Discovery vs roadmap** | Pure discovery | Pure discovery | Visible upgrades | Visible skill tree | Mixed | Mixed | Pure discovery (lineage commitment) |
|
||
| **Narrative depth** | Heavy (the twist) | Heavy (the existential arc) | Light (jokes) | Almost none | Heavy (the arcs) | Medium (NPCs) | Heavy (7 Seasons + 3 arcs) |
|
||
| **Prestige** | None (one-shot) | "New Universe" loop | Heavenly Chips | None (skill-based) | N/A | N/A | Roothold (never-lost prestige) |
|
||
| **Multi-buy** | N/A | N/A | x1/x10/x100/Max | x1/x10/x100/Max | N/A | N/A | x1/x10/x100/Max |
|
||
| **Aesthetic ambition** | Minimalist text | Minimalist UI | Cookies-and-jokes | Functional UI | High (hand-painted) | High (pixel art) | High (watercolor + cello) |
|
||
| **Monetization model** | Free + paid mobile port | Free | Free + paid mobile | One-time paid + DLC | Premium ($30) | Premium ($15) | Free base + cosmetics + acceleration + Keeper's Journal |
|
||
| **Daily quest pressure** | None | None | None | Optional events | None | None (festivals are voluntary) | None — explicit anti-feature |
|
||
| **Combat / enemies** | Yes (combat layer) | Yes (drone wars) | None | Yes (skill-based) | None | Light (mining) | None — explicit anti-feature |
|
||
| **Episodic content updates** | No (static) | No (static) | Yes (free patches) | Yes (paid DLC) | No | Yes (free patches) | Yes (free additive patches, Hollow Knight model) |
|
||
| **Multiplayer / social** | None | None | None (leaderboards on Steam) | None | None | Multiplayer (3.0+) | None v1; maybe garden-visiting v2+ |
|
||
| **Accessibility (color/motion)** | Minimal | Minimal | Minimal | Minimal | Strong | Strong | Strong (cozy-audience expectation) |
|
||
|
||
**Key takeaway:** The Last Garden inherits A Dark Room and Paperclips' lineage on **discovery**, **narrative weight**, and **trust the player**, while inheriting Spiritfarer and Stardew's lineage on **aesthetic ambition**, **accessibility**, and **respectful monetization**. It uniquely combines these into the cozy + narrative + idle Venn that PROJECT.md identifies as uncontested.
|
||
|
||
---
|
||
|
||
## Tonal-Tradeoff Notes (load-bearing for downstream design)
|
||
|
||
Because PROJECT.md is unusually opinionated about tone, several normally-default features need explicit tonal review:
|
||
|
||
1. **"What you missed" screen as letter, not stat dump.** The data is the same; the framing is the entire experience.
|
||
2. **Notifications opt-in and rare.** The push notification standard for idle games is aggressive. This game's contract with the player is gentler. Default off; opt-in for Memory Storms only.
|
||
3. **No streaks, no "don't break the chain."** Streaks are FOMO weaponized. The garden does not punish absence.
|
||
4. **Numbers should grow but not dominate the screen.** Most idle games center the count; The Last Garden centers the garden visualization, with numbers as a secondary read.
|
||
5. **Tutorialization is environmental.** No "click here" arrows. No popup overlays. The first plant teaches you what planting is. The Dark Room rule: one button, expand only when the player is ready.
|
||
6. **Settings menu chrome must match the world.** A standard browser-game settings overlay (gray rectangle, system fonts) would break atmosphere. Watercolor-edged components, garden-vocabulary labels where natural ("Quiet" not "Mute"), but not so cute it becomes opaque.
|
||
7. **Cosmetic items are catalog, not random drop.** Players see exactly what they're buying. No surprise, no FOMO.
|
||
|
||
---
|
||
|
||
## Sources
|
||
|
||
- **A Dark Room design philosophy:** [TV Tropes](https://tvtropes.org/pmwiki/pmwiki.php/VideoGame/ADarkRoom), [Beginners guide without spoilers](https://ber10thal.com/blog/the-unofficial-guide-to-a-dark-room-without-spoilers/), [Wikipedia](https://en.wikipedia.org/wiki/A_Dark_Room)
|
||
- **Universal Paperclips structure:** [Paperclips Wiki - Stages](https://universalpaperclips.fandom.com/wiki/Stages), [History of incremental games](https://medium.com/@touloutoumou/from-progress-quest-to-universal-paperclip-the-history-of-free-incremental-games-3c96bfeaa918)
|
||
- **Cookie Clicker prestige system:** [Cookie Clicker Wiki - Ascension](https://cookieclicker.fandom.com/wiki/Ascension), [Heavenly Chips](https://cookieclicker.fandom.com/wiki/Heavenly_Chips)
|
||
- **Idle game player expectations 2025/2026:** [Future of Idle Games](https://gamertagguru.com/blog/the-future-of-idle-games-trends-and-expectations), [Apptrove guide](https://apptrove.com/a-guide-to-idle-games/)
|
||
- **Save persistence patterns:** [IndexedDB game saves tutorial](https://app.cinevva.com/tutorials/indexeddb-game-saves), [LocalStorage vs IndexedDB](https://dev.to/tene/localstorage-vs-indexeddb-javascript-guide-storage-limits-best-practices-fl5), [localForage](https://blog.logrocket.com/localforage-managing-offline-browser-storage/), [Construct 3 game save best practices](https://bugnet.io/blog/game-save-best-practices-construct3)
|
||
- **Save export/import conventions:** [TV Tropes - Export Save](https://tvtropes.org/pmwiki/pmwiki.php/Main/ExportSave), [Salt Keep devlog on save import/export](https://smallgraygames.itch.io/the-salt-keep/devlog/485074/feature-design-save-import-export)
|
||
- **Cozy game progression and storytelling:** [Stardew vs Spiritfarer comparison](https://thegemsbok.com/art-reviews-and-articles/spiritfarer-stardew-valley-mechanics-comparison/), [Spiritfarer preview](https://gameinformer.com/preview/2020/07/30/why-spiritfarer-is-a-different-kind-of-sim), [Integrating storytelling in cozy games](https://sdlccorp.com/post/integrating-narrative-and-gameplay-how-storytelling-enhances-cozy-games/)
|
||
- **Cosmetic monetization ethics:** [Game Economist Consulting on cozy games](https://www.gameeconomistconsulting.com/here-come-the-cozy-games-so-what-now/), [Ethical monetization design](https://www.daydreamsoft.com/blog/ethical-monetization-system-design-earning-revenue-without-losing-player-trust), [Indie monetization ethics](https://www.wayline.io/blog/ethical-dilemmas-monetization-indie-games)
|
||
- **Animal Crossing customization model:** [Furniture customization Wiki](https://nookipedia.com/wiki/Furniture_customization), [Customization guide](https://animalcrossing.fandom.com/wiki/Furniture_customization)
|
||
- **PWA / push notifications for games:** [MDN: PWAs and push for js13kGames](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Tutorials/js13kGames/Re-engageable_Notifications_Push), [W3C games-on-the-web roadmap](https://w3c.github.io/web-roadmaps/games/lifecycle.html), [Web Game Dev: PWAs](https://www.webgamedev.com/publishing/pwa)
|
||
- **Episodic vs full release for narrative games:** [Episodic video games on Wikipedia](https://en.wikipedia.org/wiki/Episodic_video_game), [Black Tabby on episodic narrative](https://blacktabbygames.medium.com/how-early-access-can-work-for-episodic-narrative-games-a-midpoint-post-mortem-ab19796de5b0), [Vice on the death of episodic gaming](https://www.vice.com/en/article/why-did-episodic-gaming-die/)
|
||
- **Live content updates (Hollow Knight / Hades model):** [Hollow Knight DLC](https://hollowknight.wiki.fextralife.com/DLC), [Hades II patch model](https://steamcommunity.com/app/1145350/discussions/0/682987821011709628/)
|
||
- **FTUE / onboarding best practices:** [Antidote FTUE playbook](https://antidote.gg/ftue-the-antidote-playbook/), [Unity 10 FTUE tips](https://unity.com/how-to/10-first-time-user-experience-tips-games), [GameAnalytics F2P FTUE tips](https://www.gameanalytics.com/blog/tips-for-a-great-first-time-user-experience-ftue-in-f2p-games)
|
||
- **Accessibility patterns for games:** [Color-Blindness Accessibility Guide](https://caniplaythat.com/2020/01/29/color-blindness-accessibility-guide/), [Accessible Games - Distinguish This From That](https://accessible.games/accessible-player-experiences/access-patterns/distinguish-this-from-that/), [Filament Games - Color blindness](https://www.filamentgames.com/blog/color-blindness-accessibility-in-video-games/)
|
||
- **Daily-quest harassment dynamics:** [Resetera idle escalation thread](https://www.resetera.com/threads/what-idle-game-escalation-is-your-favorite.109498/), [Idle Slayer community discussion on weekly quest design](https://steamcommunity.com/app/1353300/discussions/0/5287797783031277967/)
|
||
|
||
---
|
||
*Feature research for: cozy + narrative + idle browser game (The Last Garden)*
|
||
*Researched: 2026-05-08*
|