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
51 changes: 26 additions & 25 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ Recommended views:
the regional power layer, and local institutions such as Vinh Hai Civic
Registry.
- [x] Alpha GDD spine documented: playable alpha loop, first 60-minute flow,
Relay Yard scope, Ash Underpass Gate scope, character/body roster rules,
The Garden scope, Ash Underpass Gate scope, character/body roster rules,
hostile body candidate constraints, UI surfaces, and backlog trace.
- [x] Alpha questline, encounter, and UX flow documented for `Check The Ash
Underpass Signal`, the Tollkeeper Shell encounter, mission card, outcome
Expand Down Expand Up @@ -153,7 +153,7 @@ Recommended views:
- [x] `ZoneTest_Hub` enters Play Mode with a Fusion-spawned local player.
- [x] `ZoneTest_Hub` has expanded ground coverage and a state-authority
out-of-bounds reset for networked player bodies that fall below the test pad.
- [x] Relay Yard permanent NPC prototypes use deterministic spawn slots,
- [x] Garden permanent NPC prototypes use deterministic spawn slots,
spacing-clamped patrol radius, stable low-jitter offsets, and local
separation tuning so the current 13 NPC prototype roster does not start or
idle as one clump.
Expand Down Expand Up @@ -211,8 +211,8 @@ Recommended views:
5 days.
- [x] BodyTime earn, spend, drain, zero-time death, and reinhabitation debug
controls exist in Play Mode for smoke testing.
- [x] The first server-owned normal-play TIME spend sink exists as the Relay
Yard `emergency-supply-cache` action. Nakama defines and applies the TIME
- [x] The first server-owned normal-play TIME spend sink exists as the
legacy-internal `emergency-supply-cache` Garden action. Nakama defines and applies the TIME
cost, rejects dead or underfunded bodies, records the BodyTime ledger event,
and returns the prepared-supply result.
- [x] Actor profile registry exists for NPC-like actors, including body, stats,
Expand Down Expand Up @@ -297,8 +297,8 @@ Recommended views:
instead of sending every body through the same generic attack command.
- [x] Prototype ranged attacks render local visual-only arrow, bolt, or spell
tracers while the actual training hit result remains Nakama validated.
- [x] Nakama has the first server-owned Relay Yard facility action lane:
Clinic stabilization, Training Yard focus drill, and Signal Tower sweep can
- [x] Nakama has the first server-owned Garden facility action lane:
Clinic stabilization, Training Lane focus drill, and Signal Mast sweep can
be started and completed through validated RPCs, then surfaced from the
Unity Body Lifecycle debug panel.
- [ ] Real Fusion-validated combat damage, enemy rewards, loot drops,
Expand Down Expand Up @@ -351,7 +351,7 @@ remember, build relationships, join Gate missions, and change after outcomes.

### Client Feature Lanes

- [ ] C1: Add a Relay Yard roster view for important NPC Frames, current state,
- [ ] C1: Add a Garden roster view for important NPC Frames, current state,
TIME, injury, and relationship hints. Track in
[#138](https://github.com/DOS/Second-Spawn/issues/138).
- [ ] C2: Stabilize focused RPG-style NPC dialogue with locked facing, typing
Expand All @@ -367,8 +367,8 @@ remember, build relationships, join Gate missions, and change after outcomes.

## Vertical Slice - Current Milestone

Goal: one playable AI NPC Town / Relay Yard, one player-inhabitable NPC-like
body, 5-10 permanent roster NPC Frames, one useful Yard facility action, one
Goal: one playable AI NPC Town / Garden, one player-inhabitable NPC-like
body, 5-10 permanent roster NPC Frames, one useful Garden facility action, one
Gate mission, BodyTime MVP, reinhabitation MVP, and a visible offline-agent
prototype.

Expand All @@ -385,22 +385,23 @@ prototype.
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.
- [x] Define the Relay Yard / living roster MVP from the Pick Me Up reference
- [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/Yard Life, Choose Risk, Gate Mission,
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.
- [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
selected account/soul progress survives.
- [ ] Add the first Relay Yard personalization slice: trophy placement,
- [ ] Add the first Garden personalization slice: trophy placement,
memorial wall, clinic/rest corner, visitor notes, and NPC reactions, with no
construction timers or pay-to-win furniture.
- [ ] Build the alpha level blockout from `docs/design/27-alpha-level-design.md`:
Central Yard, Clinic / Body Hall, Training Yard, Signal Tower, Gate Apron,
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.
- [ ] Implement the alpha character/body roster contract from
Expand All @@ -413,7 +414,7 @@ prototype.
relationship, and ledger rows.
- [ ] Implement `Check The Ash Underpass Signal` from
`docs/design/29-alpha-questline-and-encounter-design.md`: signal notice,
Yard NPC clue, body check, Gate entry, signal objective, extract-or-push
Garden NPC clue, body check, Gate entry, signal objective, extract-or-push
choice, and outcome report.
- [ ] 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,
Expand Down Expand Up @@ -445,13 +446,13 @@ prototype.
`docs/design/44-alpha-body-rig-action-compatibility.md`.
- [ ] Build alpha work in the milestone order from
`docs/design/33-alpha-production-backlog.md`: A0 stabilization, A1 Body
Hall, A2 Relay Yard facility loop, A3 Mission Board, A4 Gate combat, A5
Hall, A2 Garden facility loop, A3 Mission Board, A4 Gate combat, A5
outcome/economy, A6 offline-agent report, and A7 presentation readiness.
- [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, Yard action, mission risk, Gate consequence, outcome report,
TIME, SECOND, Garden action, mission risk, Gate consequence, outcome report,
server authority, LLM safety, smoke scripts, and evidence pack.
- [ ] 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,
Expand All @@ -466,15 +467,15 @@ prototype.
`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.
- [x] Define the first Town/Yard building slice: clinic, body hall, workshop,
- [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 Yard facility action, one Gate run,
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.
- [x] Implement the first useful Yard facility action set in Nakama and expose
it in Play Mode debug controls: Clinic, Training Yard, and Signal Tower.
- [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:
`26-alpha-game-design-document.md`, `27-alpha-level-design.md`, and
`28-character-body-and-roster-design.md`.
Expand All @@ -497,7 +498,7 @@ prototype.
examples, and scalable PC/Web/mobile quality tiers.
- [x] Define the art-direction buying contract for Asset Store scouting:
medieval assets are props or Gate pieces only, not the world identity; buy
one coherent humanoid family, one visual probe, one Yard prop pack, one Gate
one coherent humanoid family, one visual probe, one Garden prop pack, one Gate
pack, and one shader test before broader purchases.
- [x] Add server-owned permanent NPC seed/list and prototype interaction RPCs.
- [x] Add a Unity Play Mode debug panel for permanent NPC seed/list and
Expand Down Expand Up @@ -529,7 +530,7 @@ prototype.
optimistic concurrency for current sensitive body and economy writes, with
inventory and deeper relationship splitting tracked under ledger expansion.
- [x] Add the first append-only Nakama gameplay ledger for BodyTime, reward,
combat, quest, contested-loot, Yard, reincarnation, and agent-decision events
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.
Expand Down Expand Up @@ -588,7 +589,7 @@ prototype.
in [#249](https://github.com/DOS/Second-Spawn/issues/249).
- [x] Add BodyTime meter MVP with one earn source and one spend sink.
- [x] Move the first spend sink away from client-supplied amount input by adding
a server-owned Yard action that spends TIME and produces an inspectable
a server-owned Garden action that spends TIME and produces an inspectable
supply-prep result.
- [x] Add reinhabitation placeholder flow: death -> SECOND token check ->
another body with current-body reset.
Expand Down Expand Up @@ -623,15 +624,15 @@ prototype.
- [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,
account/soul stash, Yard stash, Gate temporary loot, equipment slots,
account/soul stash, Garden stash, Gate temporary loot, equipment slots,
death/reinhabitation loss rules, and server-owned LLM-safe mutation
boundaries. The design now also includes custody lifecycle states, hostile /
monster / boss body equipment rules, starter item definitions, starter
loadouts, first reward tables, compact AI inventory context, and offline-agent
inventory policy fields.
- [x] Implement the first server-owned inventory RPC slice: item definitions,
item instances, body carry inventory, equipment loadout, account stash,
Yard stash, run loot, equip/unequip, pickup, stash move, consumable use,
Garden stash, run loot, equip/unequip, pickup, stash move, consumable use,
salvage, run loot claim, and inventory mutation ledger rows.
- [x] Add the first Unity HUD inventory prototype for the backend slice: body
carry summary, equipped item summary, material summary, current loadout, and
Expand Down
2 changes: 1 addition & 1 deletion docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
- [Deferred Advanced Body Progression](design/04-cultivation-system.md)
- [Story Bible](design/17-story-bible.md)
- [Demo Lore and Story Direction](design/20-demo-lore-and-story-direction.md)
- [Dayton Demo Region Design](design/49-dayton-demo-region-design.md)
- [Dayton Demo Region Design (Historical)](design/49-dayton-demo-region-design.md)
- [Dayton Real-Map Slice Design](design/50-dayton-real-map-slice-design.md)
- [The Garden Hub Design](design/51-the-garden-hub-design.md)
- [Permanent NPC Story and Characteristics](design/21-permanent-npc-story-characteristics.md)
Expand Down
22 changes: 11 additions & 11 deletions docs/design/00-game-concept.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

## Elevator Pitch

> An AI NPC world where the player spends SECOND to inhabit one eligible NPC-like body, lives through that body in a Town or Relay Yard, risks TIME in Gate missions, builds the settlement, and loses the body on death. Selected account and soul-layer progress survives, but continuing play means spending SECOND to inhabit another eligible body.
> An AI NPC world where the player spends SECOND to inhabit one eligible NPC-like body, lives through that body in a Town or Garden hub, risks TIME in Gate missions, builds the settlement, and loses the body on death. Selected account and soul-layer progress survives, but continuing play means spending SECOND to inhabit another eligible body.

---

Expand All @@ -30,7 +30,7 @@

The world exists before the player arrives. It is a society of AI NPC bodies with names, jobs, memories, relationships, stats, TIME, injuries, voices, and local history. A real player account spends SECOND to inhabit one eligible NPC-like body, then lives with the consequences of that body's strengths, flaws, duties, and social ties.

The current body can fight in Gates, work in the Town, build the Relay Yard, talk to other NPCs, and operate through a bounded AI agent when the player is offline. Death is meaningful because the body is lost. It is not a normal respawn. The account can continue only by spending SECOND to inhabit another eligible body, with only explicitly designed account and soul-layer progress surviving.
The current body can fight in Gates, work in the Town, build The Garden, talk to other NPCs, and operate through a bounded AI agent when the player is offline. Death is meaningful because the body is lost. It is not a normal respawn. The account can continue only by spending SECOND to inhabit another eligible body, with only explicitly designed account and soul-layer progress surviving.

The fantasy is "you become someone already living in the world, and that life continues even when you log off."

Expand Down Expand Up @@ -70,7 +70,7 @@ Ecosystem extension: a user's OpenClaw agent can also connect into SECOND SPAWN
### Core Mechanics (3-5 systems generating the dynamics)

1. NPC body embodiment and reinhabitation via SECOND.
2. Town / Relay Yard building, care, recovery, and personalization.
2. Town / Garden building, care, recovery, and personalization.
3. Gate-based top-down ARPG combat with mission risk, extraction, and loot.
4. LLM-driven NPC dialogue and NPC-to-NPC society behavior with server-validated intent.
5. Offline AI agent policy for the currently inhabited body.
Expand All @@ -82,7 +82,7 @@ Ecosystem extension: a user's OpenClaw agent can also connect into SECOND SPAWN

| Need | How This Game Satisfies It | Strength |
| ---- | ---- | ---- |
| **Autonomy** | Choose which eligible body to inhabit, which Town/Yard work to prioritize, which Gates to risk, and what the offline agent may do | Core |
| **Autonomy** | Choose which eligible body to inhabit, which Town/Garden work to prioritize, which Gates to risk, and what the offline agent may do | Core |
| **Competence** | Level/stat growth gives a clear early ladder; combat skill ceiling comes from the final movement/combat controller after prototype validation | Core |
| **Relatedness** | NPCs remember the player and the body separately; Town relationships, guilds, and agent-to-agent socialization persist across sessions | Supporting |

Expand All @@ -98,25 +98,25 @@ Ecosystem extension: a user's OpenClaw agent can also connect into SECOND SPAWN
## Core Loop

### Moment-to-Moment (30 sec)
Talk, inspect, move, dodge, attack, kite, protect an NPC ally, or make a small Town/Yard decision. The camera remains top-down and combat remains ARPG-readable.
Talk, inspect, move, dodge, attack, kite, protect an NPC ally, or make a small Town/Garden decision. The camera remains top-down and combat remains ARPG-readable.

### Short-Term (5-15 min)
Choose a body, talk to nearby NPCs, assign a light Yard task, enter a small Gate encounter, loot SECOND or materials, and return with an outcome report.
Choose a body, talk to nearby NPCs, assign a light Garden task, enter a small Gate encounter, loot SECOND or materials, and return with an outcome report.

### Session-Level (30-120 min)
Complete one Gate run or Town objective chain, update relationships and memories, improve a facility or decoration, stabilize injuries, decide whether to risk the same body again, and set offline agent policy before logout.

### Long-Term Progression
- Current-body level, stat, injury, relationship, and role growth
- Town / Relay Yard facilities, decor, routines, and safety
- Town / Garden facilities, decor, routines, and safety
- Account and soul-layer carryover still to be designed
- NFT skin or cosmetic collection if the economy supports it
- Guild + faction reputation
- Reinhabitation cycles - each death replaces the body and resets selected body-bound state

### Retention Hooks
- **Curiosity**: AI agent activity log (what did your character do while you slept?)
- **Investment**: body history, Town/Yard growth, relationship state, level/stat progress, and owned cosmetics
- **Investment**: body history, Town/Garden growth, relationship state, level/stat progress, and owned cosmetics
- **Social**: guild obligations, zone friend agent encounters
- **Mastery**: combat, dungeon clears, TIME tradeoffs, and build choices

Expand Down Expand Up @@ -182,7 +182,7 @@ See [docs/ARCHITECTURE.md](../ARCHITECTURE.md) for system diagram + critical inv

### Design Risks
- AI agent offline play may feel either invisible (player doesn't notice progress) or invasive (agent does things player wouldn't choose)
- Level/stat progression may feel generic if body choice, Town/Yard state, combat, and reinhabitation do not create meaningful decisions
- Level/stat progression may feel generic if body choice, Town/Garden state, combat, and reinhabitation do not create meaningful decisions
- TIME may feel oppressive if drain is constant, or invisible if it only appears at death
- LLM NPCs may feel chatbot-like if they don't ground in world state (location, quest progress, faction)

Expand Down Expand Up @@ -212,7 +212,7 @@ See [docs/ARCHITECTURE.md](../ARCHITECTURE.md) for system diagram + critical inv

See [02-vertical-slice-spec.md](02-vertical-slice-spec.md).

**Core hypothesis**: A solo player can spend SECOND to inhabit an eligible NPC body, talk to grounded AI NPCs, improve a small Town/Yard state, risk TIME in one Gate, earn or spend SECOND once, and understand body loss within 30 minutes of first play.
**Core hypothesis**: A solo player can spend SECOND to inhabit an eligible NPC body, talk to grounded AI NPCs, improve a small Town/Garden state, risk TIME in one Gate, earn or spend SECOND once, and understand body loss within 30 minutes of first play.

---

Expand All @@ -221,4 +221,4 @@ See [02-vertical-slice-spec.md](02-vertical-slice-spec.md).
- [ ] JOY review and refine this concept doc (especially monetization line + open questions)
- [ ] Finalize [01-pillars.md](01-pillars.md) (preview pillars listed above need design tests added)
- [ ] Build vertical slice per [02-vertical-slice-spec.md](02-vertical-slice-spec.md)
- [ ] Per-system GDDs as systems are designed (advanced body progression deferred in [04-cultivation-system.md](04-cultivation-system.md); TIME / SECOND economy started in [08-time-as-currency.md](08-time-as-currency.md); NPC body embodiment, Town/Yard building, combat, AI agent, reinhabitation, NFT escrow, LLM NPC pending)
- [ ] Per-system GDDs as systems are designed (advanced body progression deferred in [04-cultivation-system.md](04-cultivation-system.md); TIME / SECOND economy started in [08-time-as-currency.md](08-time-as-currency.md); NPC body embodiment, Town/Garden building, combat, AI agent, reinhabitation, NFT escrow, LLM NPC pending)
Loading
Loading