diff --git a/ROADMAP.md b/ROADMAP.md index 71dddff0..41019260 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -196,7 +196,7 @@ Recommended views: hair/lash materials. - [ ] Evaluate installing Unity Animation Rigging for Ida Faber and future semi-real bodies, then add authored look-at, weapon aim, two-bone hand IK, - and foot IK constraints as a focused animation-import lane. + and foot IK constraints as a focused animation-import lane. Track in #263. - [x] Prototype combat visuals now distinguish dual-swords from one-hand sword semantics and recover from one-shot attack, cast, dodge, pickup, gather, and hit-react poses back into body-aware idle states. @@ -309,7 +309,7 @@ Recommended views: Unity Body Lifecycle debug panel. - [ ] Real Fusion-validated combat damage, enemy rewards, loot drops, production quest content, and player time-loot from other users are not - implemented yet. + implemented yet. Track in #26 and #261. ## Current Review Gate @@ -390,14 +390,15 @@ prototype. - [ ] Replace prototype cube visuals with one approved player-inhabitable combat body visual using the existing visual prefab catalog. Track in [#174](https://github.com/DOS/Second-Spawn/issues/174). -- [ ] Add a proper hub NPC prefab using the prototype NPC brain contract. +- [ ] Add a proper hub NPC prefab using the prototype NPC brain contract. Track + in #139. - [x] Define The Garden living roster MVP from the Pick Me Up reference analysis: roster inspection, light training/repair, mission selection, offline-agent risk policy, and post-mission report. - [ ] Implement Core Loop V1 from `docs/design/25-core-loop-v1.md`: AI NPC Town, spend SECOND to inhabit NPC, Town/Garden Life, Choose Risk, Gate Mission, Outcome Report, Repair / Remember / Build, Offline Agent, and Death or Next - Decision. + Decision. Track in #260. - [x] Redesign the player entry loop around AI NPC world embodiment: a player account spends SECOND to inhabit an eligible NPC-like body, body death loses that body, and continued play requires inhabiting another eligible body while @@ -410,19 +411,20 @@ prototype. Central Garden Court, Clinic / Body Hall, Training Lane, Signal Mast, Ash Underpass Apron, Ash Underpass threshold, corridor, signal split, Toll Plaza arena, and return - point. + point. Track in #260. - [ ] Implement the alpha character/body roster contract from `docs/design/28-character-body-and-roster-design.md`: body eligibility fields, starter body candidates, focus cast, hostile body candidates locked - behind server-owned `inhabitable` flags, and voice profile metadata. + behind server-owned `inhabitable` flags, and voice profile metadata. Track in + #260. - [ ] Create the alpha mission board and outcome report from `docs/design/26-alpha-game-design-document.md`: mission risk, expected TIME, reward, recommended role, SECOND result, TIME spent, injury, memory, - relationship, and ledger rows. + relationship, and ledger rows. Track in #138, #137, and #260. - [ ] Implement `Check The Ash Underpass Signal` from `docs/design/29-alpha-questline-and-encounter-design.md`: signal notice, Garden NPC clue, body check, Gate entry, signal objective, extract-or-push - choice, and outcome report. + choice, and outcome report. Track in #260. - [ ] Replace remaining debug-only core-loop surfaces with the alpha UX flow in `docs/design/30-alpha-ux-flow.md`: Main HUD, focused dialogue, Body Hall, facility panel, Mission Board, Gate HUD, outcome report, offline-agent @@ -455,32 +457,34 @@ prototype. `docs/design/33-alpha-production-backlog.md`: A0 stabilization, A1 Body Hall, A2 Garden facility loop, A3 Mission Board, A4 Gate combat, A5 outcome/economy, A6 offline-agent report, and A7 presentation readiness. + Track in #260. - [x] Track alpha execution with an A0-A7 milestone scoreboard and evidence pack template in `docs/design/47-alpha-execution-tracker.md`. - [ ] Verify alpha readiness against `docs/design/34-alpha-acceptance-matrix.md`: body identity, NPC context, TIME, SECOND, Garden action, mission risk, Gate consequence, outcome report, - server authority, LLM safety, smoke scripts, and evidence pack. + server authority, LLM safety, smoke scripts, and evidence pack. Track in #260. - [ ] Use `docs/design/35-alpha-content-and-copy-pack.md` as the first-pass source for UI labels, interaction hints, focus NPC answers, mission card, - Gate copy, outcome copy, relationship reactions, and system messages. + Gate copy, outcome copy, relationship reactions, and system messages. Track + in #260. - [ ] Check `docs/design/38-alpha-design-decision-register.md` before reopening - any alpha scope debate or treating older TODO text as blocking. + any alpha scope debate or treating older TODO text as blocking. Track in #260. - [ ] Implement alpha stats and skills from `docs/design/39-alpha-stats-and-skills-design.md`: 1-15 stat scale, body archetype budgets, skill origin model, first skill slots, Sentinel starter - kit, semantic skill intents, and server validation. + kit, semantic skill intents, and server validation. Track in #260. - [ ] Implement the alpha carryover and sync model from `docs/design/40-soul-skill-carryover-and-sync.md`: skill origin labels, carryover rules, lock reasons, simple soul-body sync, and server-validated - effective execution. + effective execution. Track in #260. - [x] Define the first Town/Garden building slice: clinic, body hall, workshop, signal tower, mess hall, memorial wall, market stall, and timer rules as world-simulation time, not pay-to-skip friction. - [ ] Implement the GDD V1 first 30-minute demo flow: body embodiment, one grounded NPC conversation, one useful Garden facility action, one Gate run, one SECOND reward, one SECOND spend, one outcome report, and one offline - agent policy/return report. + agent policy/return report. Track in #260. - [x] Implement the first useful Garden facility action set in Nakama and expose it in Play Mode debug controls: Clinic, Training Lane, and Signal Mast. - [x] Define the alpha docs/design lane: @@ -540,7 +544,8 @@ prototype. combat, quest, contested-loot, Garden, reincarnation, and agent-decision events so snapshots are auditable in the prototype HUD. - [ ] Expand gameplay ledgers to cover SECOND transfers, inventory mutations, - PvP time-loot, dungeon clears, admin corrections, and shard export. + PvP time-loot, dungeon clears, admin corrections, and shard export. Track in + #261. - [x] Add Nakama metrics and structured observability for AI decisions, fallback reasons, storage conflicts, reward claims, and BodyTime mutations. - [x] Add redacted `PromptTrace` records for NPC decisions, inspired by @@ -579,16 +584,18 @@ prototype. - [x] Define an external worker or Fusion-server scheduler path for periodic offline-agent and NPC simulation instead of long-running Nakama request loops. - [ ] Add the future voice-session Nakama RPC that mints short-lived - `api.dos.ai` voice tokens without exposing provider keys to Unity. + `api.dos.ai` voice tokens without exposing provider keys to Unity. Track in + #262. - [x] Add per-NPC `voice_profile` assignment for permanent NPCs, including voice id, language, speaking style, pitch/rate hints, emotional range, and fallback text-only behavior. Each important NPC should keep a stable voice across sessions and body respawns unless lore explicitly changes it. - [ ] Add NPC TTS playback in Unity through scoped `api.dos.ai` voice sessions: Nakama owns authorization, `api.dos.ai` owns provider routing, and Unity only - receives short-lived playback/session material. + receives short-lived playback/session material. Track in #262. - [ ] Decide whether Convai remains a phase 1 spike for one boss or hub NPC. The default long-term backbone stays Nakama plus Fusion plus `api.dos.ai`. + Track in #262. - [ ] Benchmark role-play model providers behind `api.dos.ai`, starting with Alibaba Qwen-Character as an R&D candidate only. Track API availability, latency, cost, structured intent reliability, multilingual tone, anti-repeat @@ -606,7 +613,7 @@ prototype. - [ ] Design the post-slice Bonebound Frame hidden class spec: limited checkpoint reconstitution, fracture charges, body-progress rollback, gear/TIME/SECOND loss rules, memory scars, NPC reactions, and hard server - authority guardrails. + authority guardrails. Track in #264. - [x] Design server-authoritative PvP or contested-zone loot rules where BodyTime and SECOND can be taken from other users after validated combat or zone events. Clients and LLMs must never self-report this loot. @@ -616,18 +623,21 @@ prototype. training hit loop instead of only a debug claim button. - [ ] Wire real rewards to Fusion-validated enemy kill or objective completion events. Reward, spend, loot, transfer, and ledger UI should use SECOND - amounts, while the HUD shows remaining TIME as readable duration. + amounts, while the HUD shows remaining TIME as readable duration. Track in + #261. - [x] Implement the first server-authoritative contested loot rule for taking BodyTime or SECOND from another user after a validated PvP or zone event. -- [ ] Add one dungeon instance with one boss and grounded dialogue. +- [ ] Add one dungeon instance with one boss and grounded dialogue. Track in + #260. - [ ] Add one Gate mission outcome report that records entrants, survivors, injuries or deaths, SECOND earned, TIME spent or lost, memories created, - relationship changes, and agent recommendations. + relationship changes, and agent recommendations. Track in #137 and #261. - [ ] Add a server-owned dungeon clear ledger before any Pioneer Charter - rewards. + rewards. Track in #261. - [ ] Add a non-economic first-clear record for the first Gate or dungeon. + Track in #261. - [ ] Design capped in-game Pioneer Charter / Clearance Royalty rules after - combat, dungeon validation, and reward ledgers exist. + combat, dungeon validation, and reward ledgers exist. Track in #261. - [x] Add one Hunter NFT skin equip placeholder with DOS Chain escrow design still server-authoritative. - [x] Design the alpha inventory and equipment system for body carry inventory, @@ -671,7 +681,7 @@ prototype. focused backlog experiments before any broad migration. Current alpha UI can stay on uGUI/TMP while UI Toolkit is tested for screen-based panels; raw vendor folders should remain stable unless a dedicated migration PR verifies - references. + references. Track in #263. - [ ] Resolve Unity 6000.5.0b9 Package Manager startup blocker tracked in issue #122. Current failure happens before C# compilation with `The "path" argument must be of type string. Received undefined`. @@ -686,30 +696,34 @@ prototype. - [x] Move prototype agent decisions to Nakama -> `api.dos.ai`; remove the separate Second Spawn Go adapter from the active game path. -- [ ] Add RAG memory for NPCs with Supabase pgvector or Qdrant. -- [ ] Expand quest system beyond the first vertical slice questline. -- [ ] Add multiple zones with travel. -- [ ] Add marketplace and NFT trade. -- [ ] Add guild system before PvP. +- [ ] Add RAG memory for NPCs with Supabase pgvector or Qdrant. Track in #265. +- [ ] Expand quest system beyond the first vertical slice questline. Track in + #265. +- [ ] Add multiple zones with travel. Track in #265. +- [ ] Add marketplace and NFT trade. Track in #265. +- [ ] Add guild system before PvP. Track in #265. - [ ] Add higher-quality NPC voice and interruption once ephemeral-token cost, - latency, reliability, and per-NPC voice identity are acceptable. + latency, reliability, and per-NPC voice identity are acceptable. Track in + #262 and #265. ## Beta -- [ ] Guild PvP up to 50v50. -- [ ] Pet breeding system. -- [ ] Movement-only mount system. -- [ ] Economy balancing. +- [ ] Guild PvP up to 50v50. Track in #265. +- [ ] Pet breeding system. Track in #265. +- [ ] Movement-only mount system. Track in #265. +- [ ] Economy balancing. Track in #265. - [ ] Gate tiering, Pioneer Charter, and in-game Clearance Royalty balancing. -- [ ] Live ops infrastructure. -- [ ] Public beta launch. + Track in #261 and #265. +- [ ] Live ops infrastructure. Track in #265. +- [ ] Public beta launch. Track in #265. ## Post-Launch -- [ ] Seasons and content updates. -- [ ] Modding support. -- [ ] Sentis on-device AI for client perception. +- [ ] Seasons and content updates. Track in #265. +- [ ] Modding support. Track in #265. +- [ ] Sentis on-device AI for client perception. Track in #265. - [ ] Redesign advanced body or soul progression after the vertical slice. + Track in #265. ## Deliberately Out of Scope diff --git a/docs/design/45-inventory-and-equipment-system.md b/docs/design/45-inventory-and-equipment-system.md index c296fa6c..bf86f829 100644 --- a/docs/design/45-inventory-and-equipment-system.md +++ b/docs/design/45-inventory-and-equipment-system.md @@ -671,9 +671,9 @@ weight, not an endgame item-power ladder. | Rarity | Purpose | UI Label | Color Rule | | ---- | ---- | ---- | ---- | | `common` | Baseline gear, ration items, and salvage materials. | Common | Neutral off-white / gray. Suggested token: `#D8D8D2`. | -| `field` | Local tools or supplies that matter in one route, facility, or Gate. | Field | Calm blue. Suggested token: `#5FA8D3`. | +| `field` | Local tools or supplies that matter in one route, facility, or Gate. | Field | Calm blue. Suggested token: `hex 5FA8D3`. | | `marked` | Quest, faction, first-clear, body-story, or memorial item. | Marked | Warm gold. Suggested token: `#D8B14A`. | -| `anomaly` | Rare Gate-distorted or story-danger item. Not normal alpha loot. | Anomaly | Violet with cyan accent. Suggested tokens: `#7B61FF` and `#4DD6D0`. | +| `anomaly` | Rare Gate-distorted or story-danger item. Not normal alpha loot. | Anomaly | Violet with cyan accent. Suggested tokens: `hex 7B61FF` and `hex 4DD6D0`. | Do not ship full ARPG affix colors in alpha. Avoid `magic`, `rare`, `legendary`, or `mythic` language for now. SECOND SPAWN already has body diff --git a/docs/setup/github-project-tracking.md b/docs/setup/github-project-tracking.md index fac74644..ee08e2ed 100644 --- a/docs/setup/github-project-tracking.md +++ b/docs/setup/github-project-tracking.md @@ -44,6 +44,9 @@ design doc or ADR update. 6. A local backlog-sync script may check links, missing issue references, issue existence, closed/open state, and reciprocal doc references. It should be deterministic by default and should not require an LLM. +7. When docs need color tokens inside scanned backlog files, avoid hash-prefixed + hexadecimal notation because local sync treats it as an issue reference. Use + `hex 5FA8D3` style text unless the file is outside backlog scanning. ## Recommended Fields @@ -116,6 +119,15 @@ Open issues that should be added to the project: - [#219 Add inventory lifecycle validation tests and guards](https://github.com/DOS/Second-Spawn/issues/219) - [#220 Finalize alpha inventory content tables and copy tone](https://github.com/DOS/Second-Spawn/issues/220) +### Roadmap Umbrella Tracking + +- [#260 Track alpha demo implementation umbrella](https://github.com/DOS/Second-Spawn/issues/260) +- [#261 Track expanded gameplay ledgers and reward authority](https://github.com/DOS/Second-Spawn/issues/261) +- [#262 Track NPC voice session and Convai decision lane](https://github.com/DOS/Second-Spawn/issues/262) +- [#263 Track Unity presentation and pipeline experiments](https://github.com/DOS/Second-Spawn/issues/263) +- [#264 Design post-slice Bonebound Frame hidden class spec](https://github.com/DOS/Second-Spawn/issues/264) +- [#265 Track post-alpha and beta roadmap decomposition](https://github.com/DOS/Second-Spawn/issues/265) + ## Automation Notes GitHub CLI project automation requires a token with project scopes. If `gh`