Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 53 additions & 39 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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.
Expand All @@ -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,
Expand Down Expand Up @@ -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`.
Expand All @@ -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

Expand Down
4 changes: 2 additions & 2 deletions docs/design/45-inventory-and-equipment-system.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
12 changes: 12 additions & 0 deletions docs/setup/github-project-tracking.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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`
Expand Down
Loading