commit de4e094d006800c18b08f6147ba1e6f389fa82ba Author: josh Date: Fri May 8 20:57:15 2026 -0400 docs: initialize project diff --git a/.planning/PROJECT.md b/.planning/PROJECT.md new file mode 100644 index 0000000..f08602f --- /dev/null +++ b/.planning/PROJECT.md @@ -0,0 +1,114 @@ +# The Last Garden + +## What This Is + +An idle game for the browser in which the player tends a walled garden at the fraying edge of a world that is being *forgotten*. Every plant grown recovers a memory fragment from a dissolving civilization, and the idle loop *is* the act of remembering. Tonally: Hayao Miyazaki directing a podcast about grief — warm watercolor visuals, a solo cello, and the slow-burn unfolding of a seven-Season story about loss, the cost of trying to erase suffering, and what it means to let something persist. + +The audience is the lineage that responded to *A Dark Room* and *Universal Paperclips* — players who want the reason the numbers go up to be the thing they actually care about — overlapping with the cozy-gaming and narrative-game audiences who currently have no idle game built for them. + +## Core Value + +**Every idle mechanic must function as a metaphor that the player absorbs without being told.** Composting *is* letting go. Prestige *is* grief. Roothold *is* what survives. If a mechanic does not carry narrative weight, it does not belong in this game. + +This drives every tradeoff: when economy and meaning conflict, meaning wins. The numbers are in service of the story, not the other way around. + +## Requirements + +### Validated + + + +(None yet — ship to validate) + +### Active + + + +- [ ] Core idle loop: planting, waiting, harvesting memory fragments +- [ ] Offline progression — the garden grows while the player is away +- [ ] Memory fragment system — every harvest yields a piece of authored narrative content +- [ ] Seasonal prestige cycle — die-off resets surface garden, persists Roothold and learned memories +- [ ] Seven authored Seasons (Soil → Roots → Canopy → Storm → Depth → Loom → Return), each with its own mechanic, story beats, and tonal shift +- [ ] Three named characters (Lura, the Nameless Man, the Archivist) with the dialogue arcs the bible specifies +- [ ] Cross-pollination, composting, ecosystem planting (Season 5+), and Memory Storms (Season 4+) +- [ ] Place-memory vignettes from canopy trees (Season 3+) — short interactive scenes +- [ ] Final binary narrative choice and "The garden persists" ending +- [ ] Save persistence (local at minimum) so a 7-Season idle game can survive gaps in play +- [ ] Watercolor-adjacent visual style and acoustic audio (solo cello main theme + ambient garden sounds + the high-tone silence of the Pale) +- [ ] Color palette and audio that shift across the seven Seasons +- [ ] Cosmetic monetization (planters, walls, gates, tool skins) — never gating narrative +- [ ] Season acceleration purchases — never *skipping* story beats +- [ ] Premium "Keeper's Journal" feature for annotating and organizing collected fragments + +### Out of Scope + + + +- **Gacha mechanics** — The game's thematic argument is that you cannot reduce complex things to simple transactions. Gacha would directly contradict the story. +- **Lootboxes** — Same reason as above. The monetization model must not undermine the story's argument. +- **Narrative gating behind purchases** — Story is the product. Story content is never paid. +- **Skipping (vs accelerating) Seasons** — Players must never miss story beats; acceleration is allowed, skipping is not. +- **Generic fantasy flora** — Plants must look like real-world species, slightly wrong. No D&D-style fictional flora. +- **Combat / boss fights** — The Archivist is not a boss. There is no enemy. +- **Multiplayer / social features** — This is a contemplative, solitary experience. Garden visiting / sharing may be considered post-1.0 if it does not break the tone. +- **Lore codex / encyclopedia entries** — World-building emerges through fragments only. The player should always feel like they're *almost* understanding. +- **Voiced dialogue (v1)** — Tone is "a friend texting you while you're at work." Text fits the medium. Reconsider only if the cello-and-silence soundscape benefits. +- **A Keeper with a name, backstory, or dialogue beyond the final choice** — The Keeper is a presence, not a personality. +- **Generic cosmetic items unrelated to the garden setting** — Cosmetics must reinforce, not dilute, the aesthetic. + +## Context + +**Market positioning.** The idle game market is ~$14.2B (2025), projected to ~$34.8B by 2034. Idle RPGs are growing at 13.7% CAGR. Industry analysts identify *narrative quality* as the emerging differentiator. The genre clusters around three settings (generic fantasy combat, capitalism parody, sci-fi mining); the cozy-gaming-meets-narrative-idle space is essentially uncontested. + +**Lineage.** *A Dark Room* (idle resource gathering wrapped around a slowly-unfolding mystery) and *Universal Paperclips* (an existential horror story disguised as a spreadsheet) are the proof points. Both became cultural phenomena with zero marketing. The Last Garden is consciously in this lineage and should be marketed within it. + +**Tonal anchors.** +- Visual: warm watercolor; hand-painted textures; plants as real species made slightly wrong; the Pale rendered as overexposed white silence; palette shifts by Season (golden/autumnal → deep green/storm → dawn/silver). +- Audio: solo cello main theme; ambient garden sounds that thin as the Unremembering nears; near-silence and a faint high tone in the Pale. +- Writing: short. Every line earns its place. No exposition dumps. Fragments do the world-building, and fragments are by nature incomplete. + +**Story structure.** Seven prestige Seasons (Soil, Roots, Canopy, Storm, Depth, Loom, Return) with explicit mechanic + narrative beats per Season already mapped in the story bible. Roothold is the never-lost prestige currency representing what has been *truly* understood. + +**Pipeline reality.** Solo / small-team development with AI-assisted art and audio production, hand-refined where it matters most. This means the production pipeline (asset generation → curation → integration) is a load-bearing piece of the system, not an afterthought. + +## Constraints + +- **Platform**: Web (browser) — Browser-based to match the *A Dark Room* / *Paperclips* precedent and remove install friction. Steam and mobile ports are post-1.0 considerations. +- **Engine/stack**: Open — research will recommend (TypeScript-based 2D framework most likely; Phaser, PixiJS, or Godot's web export are leading candidates pending research). +- **Scope**: Full 7 Seasons at v1 — committing to ship the entire authored arc. This is a multi-year scope and the roadmap will reflect it. +- **Art/audio production**: AI-assisted then hand-refined — this constrains tooling choices (we need a curation/refinement pipeline) and asset pipeline design. +- **Save model**: Local persistence required (idle game economics demand it); cloud sync via simple backend or Steam-cloud-equivalent is a stretch goal. +- **Monetization**: Cosmetic-only, plus Season acceleration (not skipping), plus premium Keeper's Journal. No gacha, no lootboxes, no narrative gating. This is a hard thematic constraint, not a soft preference. +- **Audience**: Cozy + narrative + idle Venn — the game must read as cozy at first glance and earn its emotional weight gradually. v1 must not lead with grief. + +## Key Decisions + +| Decision | Rationale | Outcome | +|----------|-----------|---------| +| Browser as the launch platform | Matches A Dark Room / Paperclips lineage; zero install friction; broadest reach for narrative-driven idle | — Pending | +| Full 7 Seasons in v1 (not vertical slice) | User explicitly chose to commit to the entire authored arc rather than ship Season 1 alone | — Pending | +| AI-assisted art + audio, hand-refined | Pragmatic for solo/small-team scope of 7 Seasons of authored content; refinement step is mandatory to preserve craft | — Pending | +| Engine deferred to research phase | No internal preference; let research surface the right fit for web + 2D + idle + content-heavy | — Pending | +| Single explicit narrative choice (final scene only) | Idle game players project themselves onto their systems; the garden choices *are* the characterization | ✓ Good (locked by story bible) | +| Roothold as never-lost prestige currency | Roothold represents understanding, not progress; it's the one thing the Unremembering cannot touch | ✓ Good (locked by story bible) | +| Cosmetic-only monetization with Keeper's Journal premium | The story is the product; monetization that gates narrative would undermine the game's thematic argument | ✓ Good (locked by story bible) | + +## Evolution + +This document evolves at phase transitions and milestone boundaries. + +**After each phase transition** (via `/gsd-transition`): +1. Requirements invalidated? → Move to Out of Scope with reason +2. Requirements validated? → Move to Validated with phase reference +3. New requirements emerged? → Add to Active +4. Decisions to log? → Add to Key Decisions +5. "What This Is" still accurate? → Update if drifted + +**After each milestone** (via `/gsd-complete-milestone`): +1. Full review of all sections +2. Core Value check — still the right priority? +3. Audit Out of Scope — reasons still valid? +4. Update Context with current state + +--- +*Last updated: 2026-05-08 after initialization*