DRIFTLANDS co-op survival on drifting tides — studio progress

Systems Index: Driftlands

Status: Approved
Created: 2026-08-25
Last Updated: 2026-08-27 (cross-GDD review FAIL → six rulings applied → since-last-review CONCERNS; report: gdd-cross-review-2026-08-27.md)
Source Concept: design/gdd/game-concept.md
Phase Brief: design/gdd/systems-design-brief.md (binding: 5 full GDDs + 7 quick-specs)
TD-SYSTEM-BOUNDARY: CONCERNS (adopted inline) 2026-08-25 · PR-SCOPE: REALISTIC WITH ADJUSTMENTS (adopted) 2026-08-25


Overview

Driftlands is a top-down 2D co-op crafting-survival game for 2–5 friends whose entire mechanical identity flows from one Foundation system: the **Tide Scheduler**, a pure function of (seed, wallClockTime) that docks and departs landmasses against a permanent home island. Every other system either feeds the loop it creates (venture → fight → harvest → haul → craft → build) or presents that loop's state to players. The netcode model is fixed by prototype and binding constraints (host-and-play NGO 2.x; owner-auth movement, host-auth damage; see Forbidden Patterns in .claude/docs/technical-preferences.md). Progression is flat-stats-through-gear — skill-drift was cut at the Systems Design gate. Visual language is governed by the approved art bible (design/art/art-bible.md).


Systems Enumeration

# System Name Category Priority Status Design Doc Depends On
1Tide SchedulerCoreMVPReviewed (CD-GDD-ALIGN APPROVED; independent /design-review APPROVED WITH CONDITIONS 2026-08-26 — all findings applied)full GDD — tide-scheduler.md—
2Netcode SessionCoreMVPDesigned (cross-GDD review 2026-08-27: C1 Downed-disconnect vs combat, W7, W8 — blockers applied same day; since-last-review CONCERNS, warnings applied) (quick-spec 2026-08-27 — netcode-session-2026-08-27.md; two-rail model locked, full-table late-join sync, rejoin = late join; ADR still pending the friend playtest)quick-spec + ADR (after friend playtest)—
3CameraCoreMVPDesigned (quick-spec 2026-08-27 — camera-2026-08-27.md; locked 64 px/u integer zoom = the silhouette-test calibration; never detaches; no shake)quick-spec—
4Save & PersistencePersistenceMVPDesigned (quick-spec 2026-08-26 — save-persistence-2026-08-26.md; consolidates the 5 provisional reconcile contracts; two-class rule: HarvestDiff droppable, all else permanent)quick-specTide Scheduler
5Player MovementGameplayMVPDesigned (quick-spec 2026-08-27 — player-movement-2026-08-27.md; moveSpeed 6 u/s registered; no-MoveSpeedModifier lock; no player/enemy body collision; twin-stick aim parity)quick-specNetcode Session
6Inventory & HaulingEconomyMVPDesigned (cross-GDD review 2026-08-27: C2 instanceTag in ItemStack, W6 — blockers applied same day; since-last-review CONCERNS, warnings applied) (quick-spec 2026-08-26 — inventory-hauling-2026-08-26.md; TD carry/storage split baked in; HIGH-RISK mitigations: no world items, atomic host transfers)quick-spec — sprint-1 exit criterion, 3-day time-boxNetcode Session
7CombatGameplayMVPReviewed (cross-GDD review 2026-08-27: C1, D2 unarmed strike, Rule 13 vs EC8, W2, W4, W6 — blockers applied same day; since-last-review CONCERNS, warnings applied) (CD-GDD-ALIGN APPROVED; independent /design-review NEEDS REVISION 2026-08-26 — all findings applied same day)full GDD — combat-system.mdPlayer Movement, Netcode Session
8Land Dock/UndockCoreMVPDesigned (cross-GDD review 2026-08-27: C3 party-clock gate, W1 — blockers applied same day; since-last-review CONCERNS, warnings applied) (quick-spec 2026-08-27 — land-dock-undock-2026-08-27.md; KnownLandTemplates registry contract locked; party-clock check owned; TD lifecycle/authority split-watch honored)quick-specTide Scheduler, Save & Persistence
9Harvesting & Resource NodesEconomyMVPReviewed (cross-GDD review 2026-08-27: C3 clock claim, strike disambiguation timing, W3, W2/W5/W6 — blockers applied same day; since-last-review CONCERNS, warnings applied) (CD-GDD-ALIGN CONCERNS applied; independent /design-review NEEDS REVISION 2026-08-26 — all findings applied same day)full GDD — harvesting-system.mdInventory, Save, Tide Scheduler
10Crafting & Gear IdentityEconomyMVP (cloth) / Tier 1 (full)Designed + Reviewed (cross-GDD review 2026-08-27: D1 reinforced DR undefined, C2, W6 — blockers applied same day; since-last-review CONCERNS, warnings applied) (CD-GDD-ALIGN CONCERNS resolved 2026-08-26; independent /design-review 2026-08-26 NEEDS REVISION, all findings applied same day — review)full GDD — crafting-system.mdInventory, Harvesting
11Base BuildingGameplayMVP (basic)Reviewed (fifth re-review 2026-08-27 closed with CS-18 applied and CD gating inline — no sixth panel; consistency-check PASS same day. History: third re-review 2026-08-27, fresh session, scoped to CS-4/5: CS-6 (knob-row bounds 25–57 → 35–58, gate subject) and CS-7 (AC-14b constructible, AC-14c BFS pin, host-exactness mechanism, maze boundary) applied same day with the recommended pass, fourth re-review 2026-08-27 (fresh session, scoped to CS-6/7): blocking CS-8 (wallCost 3–4), CS-10 (EC17 bound < 2 hops), CS-11 (AC-14b/14c pinned), CS-12 (EC21 (iii) fresh search) + recommended CS-9/13–16, all applied same day; fifth re-review 2026-08-27 (fresh session, scoped to CS-8–16 + closure step — every numeric cell passed; blocking CS-18: AC-14c's pinned hop-2 GIVEN unreachable under EC21's clear-cells-only rule → BFS hop bound retired (EC17 ratio row, AC-64b) for a four-neighbour ring check with a binding reference block, AC-14c rewritten, AC-14e added, plus the recommended/nice tail — applied same day; no sixth panel, CD gates inline; see design/reviews/base-building-rereview-5-2026-08-27.md). Prior: fourth re-review. Prior: third re-review; second re-review; re-review; first review; full GDD 2026-08-26, CD-GDD-ALIGN CONCERNS resolved)full GDD — base-building.mdCrafting, Save & Persistence
12Enemy AIGameplayMVP (3 named behaviors)Designed (quick-spec 2026-08-27 — enemy-ai-2026-08-27.md; PR tripwire closed: chase-and-lunge / kite-and-throw / advance-and-slam; flat state machines + separation steering; telegraph-density cap = 1; guard variation = harvesting OQ8 mechanism)quick-specCombat, Land Dock/Undock
13UI/HUD & Co-op AffordancesUIMVP (minimal) / Tier 1 (full)Designed (quick-spec 2026-08-27 — ui-hud-2026-08-27.md; closed HUD list, per-system ledger, two UI-layer bans, /ux-design queue with pre-playtest items; UX queue ①–⑤ all APPROVED 2026-08-31 — design/ux/ inventory · crafting · build-mode · hud · settings + interaction-patterns v0.15)quick-specwraps Core systems
14Tide-Tint Render Pipeline (minimal)PresentationMVP (pulled forward 2026-08-27 at the Technical Setup gate — cross-GDD D5, CD + AD: the anchor's "world says it, no UI timer" test must be runnable at the playtest)Shader contract in art bible §4.3/§8.B.3 — one Shader Graph sprite shader, global _TideAmount, amber/violet only; ADR-0013 (Accepted 2026-09-01) discharges the Render Graph / shader ADR input — no separate quick-spec is owedTide Scheduler, Land Dock/Undock
15Tide-Tint Polish (atmosphere, departure mist, drift-in/out cosmetics, multi-stop §4.3 curves)PresentationTier 1art bible §4.3 / §2 — the polish half of the former row 14—Tide-Tint Render Pipeline
16Base-Defense EventsGameplayTier 1 — first-to-slipIndexed only — NO design worknone (deliberate)Enemy AI, Base Building
17Save-Anyone-Can-HostPersistenceTier 1 — first-to-slipIndexed only — NO design worknone (deliberate)Save & Persistence
18Animal HusbandryGameplayFull VisionIndexed onlynone—
19Production ChainsEconomyFull VisionIndexed onlynone—
20Ruins & BlueprintsGameplayFull VisionIndexed onlynone—
21Rival SettlementsGameplayFull VisionIndexed onlynone—
22Audio DirectionAudioFull VisionIndexed onlynone—

Dependency Map

Foundation Layer (no dependencies)

Core Infrastructure Layer (Foundation-only deps)

Gameplay Engine Layer

Feature Layer

Presentation Layer

Cycle Resolution (locked)

Inventory ↔ Crafting: Inventory owns the item-stack interface; Crafting owns item definitions and recipes. Contract between them — Inventory is designed first against the interface. (TD: correct Dependency Inversion; no circular assembly reference.)


Recommended Design Order

Order System Doc Type Rationale
1Tide SchedulerFull GDDFoundation everything hangs off; contract already spike-proven — GDD formalizes cadence/recurrence as rules (CD line item: recurrence is a Pillar 1 rule, not a tuning value)
2CombatFull GDDPrototype tuning values + the hit-reconciliation edge case captured while fresh; swing-masks-latency principle goes in Detailed Rules
3Inventory & HaulingQuick-spec — 3-day time-box, sprint-1 exit criterionCritical path: owns the item-stack interface + carry/storage authority split that GDDs 4–6 build against. If this slips, three full GDDs stall simultaneously (PR)
4HarvestingFull GDDDefines harvest-diff usage; needs Inventory's interface
5Crafting & GearFull GDDPillar 3 rules must be unambiguous; explicitly note MVP-cloth cannot validate Pillar 3 (CD line item); owns gear-as-identity (skill-drift replacement)
6Base BuildingFull GDDPlacement/storage rules; co-op friction lives here
7+Player Movement, Save & Persistence, Camera, Land Dock/Undock, Enemy AI, UI/HUDQuick-specsInterleave as needed; Camera + UI parallel-buildable (PR)

Tripwire (phase brief): if full-GDD count exceeds 7, run /scope-check.


High-Risk Systems

System Risk Mitigation
Inventory & HaulingUnmitigated bottleneck: no prototype, co-op storage races, chronically underestimated UITD boundary split mandated; 3-day time-boxed quick-spec as sprint-1 exit criterion; consider a micro-spike if the spec surfaces unknowns
Tide Scheduler4 direct dependentsMitigated — 9/9 contract tests (prototypes/tide-scheduler-spike-2026-08-25/)
Netcode SessionEverything rides itMitigated — combat prototype CONFIRMED; external gate: friend-group playtest before ADR lock
Land Dock/UndockBoundary overload (lifecycle + authority)Watch for split; keep the two concerns internally separated
Enemy AIScope balloon past quick-specName the 2–3 MVP behaviors in the quick-spec before any code

Progress Tracker

**13 of 14 MVP systems designed (row 14 Tide-Tint Render Pipeline was pulled forward to MVP 2026-08-27 and still needs its quick-spec) — GDD AUTHORING WORK COMPLETE (2026-08-27).** Remaining phase exits: independent /design-review of base-building.md (fresh session), the friend-group playtest (external — gates the netcode ADR), then /gate-check toward Pre-Production. — Netcode Session (quick-spec 2026-08-27 — two-rail model [owner: movement/CARRY/predicted FX; host: damage/storage/ commits/registries]; late-join = full small-table sync incl. complete InstanceMetadata [no view-scope relevancy — protects the signature test]; rejoin = late join, no separate path; disconnect despawns the body, tide EC1 governs return; host quit ends session; ADR pending playtest), — UI/HUD & Co-op Affordances (quick-spec 2026-08-27 — closed screen-space list per art bible §7.1; co-op affordances required; per-system contribution ledger; tone rule + no-contribution-comparison bound as UI law; /ux-design queue ordered with harvesting no-op cues + inventory panels BEFORE the first friend playtest), — Camera (quick-spec 2026-08-27 — locked integer zoom 64 px/u [the silhouette-test calibration, a rule not a knob]; smoothed follow + aim bias; never detaches [anti-RTS made hardware]; hard cuts on deposit/respawn, no travel pans; no shake), — Player Movement (quick-spec 2026-08-27 — flat 6 u/s owner-auth/predicted; instant accel; decoupled aim, one vector for combat arc + BB ghost; collision blocks never damages, no body collision with players/enemies; NO MoveSpeedModifier hook ever [Pillar 4 schema fact]; interpolated remotes, never extrapolated), — Enemy AI (quick-spec 2026-08-27 — three behaviors named [PR tripwire closed]; host-simulated flat state machines, no behavior trees at MVP; separation steering [prototype fix]; no-respawn-per-docking + fully ephemeral state; telegraph-density cap maxUninterruptibleTelegraphsPerTarget=1 [combat CD advisory mechanized]; guard variation via variationSeed = harvesting OQ8's live-variance mechanism; party-scaling lever pre-armed = density/HP never per-hit reduction), — Land Dock/Undock (quick-spec 2026-08-27 — lifecycle on tide edges; pure seed→layout; append-at-φ historical registry seeded at world creation; sole-source loud warning; enemy spawn routing with reserved scalingContext; "possibly changed" = variation not revision at MVP; party-clock check ≥1.0 @ 5 harvesters, live-recomputed), — Save & Persistence (quick-spec 2026-08-26 — host-owned single file, never merged; per-confirmed-action durability with atomic writes; fixed reconcile pipeline invoking each owner's predicate; two-class rule binding), — Base Building (full GDD 2026-08-26, 847+ lines, 68 ACs; CD-GDD-ALIGN CONCERNS resolved same day: C1 orbit test [stations/storage exist ONLY at home — Pillar 2 enforced at the provider], C2 staleness falsification OQ8, C3 no-move-verb reclassified as MVP scope decision; **crafting OQ9 ruled in the NEGATIVE and CD-approved on merits** — MVP base building is a finite stand-it-up project, the home-facing dead zone is accepted; no-contribution-comparison rule propagated to the phase brief [CD A4]; pending independent /design-review), — Crafting & Gear (full GDD 2026-08-26; CD CONCERNS resolved same day incl. the durability implementation approved on merits and the maker's-mark aggregation ban; independent /design-review 2026-08-26 NEEDS REVISION, all findings applied same day — report at design/reviews/crafting-system-review-2026-08-26.md), — Harvesting & Resource Nodes (full GDD 2026-08-26; CD-GDD-ALIGN CONCERNS applied same day incl. the sinew carcass-node Pillar 3 ruling; independent /design-review NEEDS REVISION — all findings applied same day, incl. supply ratio 2.19 correction, monotonic-band load guard, hard modifier ceiling 2.0 enforced, Enemy AI guard-variation named load-bearing; report at design/reviews/harvesting-system-review-2026-08-26.md), Inventory & Hauling (quick-spec 2026-08-26, design/quick-specs/inventory-hauling-2026-08-26.md — TD carry/storage boundary baked in; Harvesting, Crafting, and Base Building design unblocked), Tide Scheduler (full GDD, independent /design-review 2026-08-26 APPROVED WITH CONDITIONS — **all findings applied same day**, H1/M2 unblocked Harvesting + Save) and Combat (full GDD, CD-GDD-ALIGN APPROVED 2026-08-26; independent /design-review 2026-08-26 NEEDS REVISION — all findings applied same day, incl. telegraph hard floor 350→400 and binding contracts inherited by Enemy AI + Crafting; report at design/reviews/combat-system-review-2026-08-26.md). Next in design order: independent /design-review of base-building.md (fresh session), then the remaining quick-specs (Player Movement, Netcode Session, Save, Enemy AI, LDU — Save now carries BB's Edge Case 13–16 reconcile posture; Enemy AI + LDU carry inherited constraints from Harvesting + Crafting; LDU also owns the socketNoBuildRadius Tier 1 re-check, BB OQ2). Update this index as each GDD/quick-spec lands: Status → In Design → In Review → Approved.