# Ashveil 3D Implementation Roadmap

## Goal

Turn the current Godot project into a playable town-to-world sandbox by
finishing vertical slices in dependency order instead of scattering effort
across every subsystem in the full design doc at once.

The immediate principle is:

1. Stabilize the town sandbox.
2. Finish the core player verbs and consequences.
3. Expand outward into world travel, economy, online systems, and endgame.


## Current Baseline

The project already has substantial groundwork:

- World generation, chunk streaming, and a live town bootstrap.
- Playable character controller and combatant body/model pipeline.
- Town NPC spawning with role metadata and wardrobe selection.
- Dialog, item interaction, combat, and intimacy controllers wired into the HUD.
- Calendar, global game state, NPC registry, events, and save/load autoloads.
- Phone, browser, inventory, media, and calendar UI overlays.
- Off-screen simulation and backend systems for memory, courtship, trauma,
  disease, jail, trade, social events, and more.

The main problem is not "missing all systems." The problem is that many systems
exist in isolation and are not yet locked into a clean gameplay loop.


## Phase 0: Stabilization And Core Verbs

Priority: highest

This phase makes the town sandbox dependable before deeper feature expansion.

### Main deliverables

- Enforce the critical rule that all four base NPC actions always exist:
  Converse, Use Item On, Attack, Intimacy.
- Fix interaction routing edge cases so UI state cannot silently hide verbs.
- Finish the missing physical/social verbs around NPC bodies and helpless states:
  carry, drop, rescue, deliver, witness reactions, and consequence tracking.
- Implement surprise attacks against sleeping or unaware targets.
- Implement pickpocket and planted-item interactions as an actual reversible UI loop.
- Fix obvious gameplay bugs from `tasks.txt` that break trust in the simulation.

### Exit criteria

- The player can approach any town NPC and always get the same base action set.
- Combat, gifting/trading, and intimacy can all be entered and exited cleanly.
- Helpless or downed NPCs participate in a body/corpse flow instead of becoming
  dead-end entities.
- The town reacts consistently to witnessed player harm, theft, and rescue.


## Phase 1: Town Sandbox Vertical Slice

Priority: highest after Phase 0

This is the first true "game" milestone. One settlement should feel alive,
coherent, and replayable for a long session.

### Main deliverables

- Visible NPC daily routines that line up with off-screen simulation states.
- Building roles made physical and useful:
  tavern, blacksmith, chapel, town hall, barracks, general store.
- Consequence loop for crime and law:
  witnesses, guards, warrants, jail, release, execution path for severe cases.
- Shop, gift, romance, combat, gossip, and event attendance all influence stats.
- Hospital/rescue logic for injured NPC handling if the player intervenes.
- Better player feedback:
  status messages, relationship changes, witness feedback, crime notifications.

### Exit criteria

- A single town supports a full session loop:
  explore, talk, trade, fight, steal, get caught, build reputation, save/load.
- The player's behavior changes how the settlement treats them.
- Public events, feed updates, and social reactions are visible and not just backend state.


## Phase 2: Social Simulation Depth

Priority: high

Once the town loop is stable, deepen the simulation instead of widening the map.

### Main deliverables

- Stronger use of memory, trauma, respect, trust, resentment, and gossip in dialog.
- Courtship, dating, marriage, jealousy, cheating discovery, and affair fallout.
- Blackmail and evidence loop using media items and witnessed events.
- More expressive NPC reactions to player actions like carrying bodies, mercy,
  betrayal, public violence, and scandal.
- Better child, family, and household behavior consistency.

### Exit criteria

- NPCs behave like persistent social entities instead of stat containers.
- The player can manipulate reputation and relationships through multiple systems,
  not just direct dialog choices.


## Phase 3: World Expansion And Travel

Priority: medium-high

The current project is effectively centered on one town. After the town slice
works, expand into multi-settlement play.

### Main deliverables

- Multiple settlements and travel between them.
- Landmark placement and traversal:
  dungeons, towers, huts, special locations.
- Settlement-specific law, religion, and economy differences.
- Travel groups, off-screen updates, and return visits that preserve world state.

### Exit criteria

- The player can leave Ashveil, reach other destinations, and return to a world
  that still remembers previous actions.


## Phase 4: Economy, Crafting, And Services

Priority: medium

### Main deliverables

- Full item action coverage:
  equip, consume, gift, sell, steal, use-on-target, use-on-world.
- Cooking, gathering, recipes, and restaurant loops.
- Drug and poison gameplay integrated into inventory and NPC effects.
- Service economy:
  clinics, food, dates, shops, paid interactions, utility uses.

### Exit criteria

- Items are not just data entries; they produce meaningful strategic choices.
- Economic play supports both legitimate and criminal progression.


## Phase 5: Media, Online, And Side Activities

Priority: medium

### Main deliverables

- Real screenshot/video capture pipeline for the media system.
- Browser, forum, social feed, and chat driven by live world events.
- Phone calls, texts, contacts, and relationship consequences.
- Arcade, casino, sports, and event-specific interactions.

### Exit criteria

- The online and media systems stop being side panels and become part of the
  social simulation and evidence/blackmail loop.


## Phase 6: Endgame Systems

Priority: later

### Main deliverables

- Religion, disease, outbreaks, and social response.
- Diplomacy, war, atrocity tracking, and regional instability.
- Science progression, rocket building, and space travel.
- Ships, naval encounters, VR sub-reality, and planet templates.

### Exit criteria

- The town sandbox scales into a world-scale simulation with long-term arcs.


## Recommended Immediate Sprint

This is the next concrete slice to build now.

### Sprint target

`Town Sandbox Alpha`

### Ordered backlog

1. Lock the NPC interaction contract so the four base verbs always appear.
2. Implement body/corpse carry, drop, rescue, and witness reaction handling.
3. Implement pickpocket and planted-item interactions using the existing item UI patterns.
4. Add sleeping/unaware target handling and surprise attack rules.
5. Wire witness memory into warrants, guard response, and jail state changes.
6. Fix the high-visibility bugs already called out in `tasks.txt`:
   item naming issues, broken phone use paths, and other trust-breaking regressions.
7. Replace placeholder media capture with a real runtime screenshot path.
8. Tighten save/load coverage for the player overlays and interaction-side state.

### Definition of done

- The player can meaningfully interact with one settlement for a long session.
- Criminal and social actions cause immediate and remembered consequences.
- Save/load preserves the important state of that loop.
- The game no longer feels like disconnected feature demos.


## What Not To Do Yet

Do not prioritize these before the town sandbox is stable:

- Space travel
- Nuclear war
- Full multi-planet content
- Large-scale online feature expansion
- More cosmetic content beyond what is needed for readability

Those systems matter, but they depend on a stable core sandbox.


## Next Step

Start Phase 0 with the interaction-and-consequence pass, not with another new
subsystem. The shortest path to real momentum is making the existing town play
correctly and consistently.
