docs: record player-citizen loop, care needs, regrowth, and seasons

This commit is contained in:
Rijad Zuzo
2026-08-11 00:46:00 +02:00
parent e51cde57be
commit e359e5253a
7 changed files with 150 additions and 38 deletions
+45 -19
View File
@@ -226,12 +226,22 @@ plugin content, not game architecture.
follow/focus behavior, and exposes an opt-in presentation preset for
reproducible runtime captures.
- Pressing `E` near a berry bush or tree extracts its configured yield into the
village through the same `ResourceNode` contract used by NPCs.
player's carried inventory through the same `ResourceNode` contract used by
NPCs. At the pantry or woodpile the same `E` deposits carried food or wood;
at the pantry it can also eat from carried or village food.
- The player is a citizen: a persisted hunger/energy/carried-inventory record
advances on the simulation tick, gathering fills the carried inventory,
depositing restocks typed storage, and eating eases hunger. A compact
bottom-center status line shows hunger, energy, and carried goods, and nearby
villagers witness and can trust a real player pantry restock.
- Guard, study, rest, and food interactions now use typed world sites.
- A cardless bottom-center `E` prompt derives the exact current animal,
resource, storage, or activity target and its availability. Named goat care
reports pantry cost plus transient success or blockage, remains in cinematic
mode, and never enters saved state.
- The world runs a deterministic four-day seasonal cycle: the cold day halves
gather yields and pauses berry regrowth, surfacing a recurring shortage the
player and villagers can address.
- `Escape` releases captured mouse input.
### Village simulation
@@ -630,11 +640,19 @@ These are expected prototype constraints, not necessarily isolated bugs:
gathering use `ResourceNode` instances with no fallback, food transfer uses
the typed pantry `StorageNode`, and patrol/study/rest use `ActivitySite`.
- Current NPC, village, resource, storage, animal, event, knowledge,
relationship, opportunity, clock, and RNG state serialize through world
schema v11. F5/F9 provide one validated local quicksave; a save menu,
metadata, and player-transform persistence remain deferred.
- Simulation-owned resource records retain live amounts, reservations, and
usage definitions while ResourceNode scenes are unloaded.
relationship, opportunity, clock, RNG, and player-citizen state serialize
through world schema v13. F5/F9 provide one validated local quicksave; a save
menu, metadata, and player-transform persistence remain deferred.
- The player is a first-class citizen with persisted hunger, energy, and
carried inventory. Gathering moves yield into carried inventory, depositing
restocks the typed pantry or woodpile, and eating eases hunger from carried
or pantry food. Nearby villagers witness a real player pantry restock and a
hungry familiar witness can gain directed trust toward the player.
- Finite berry sources regrow deterministically toward an authored `max_amount`
cap, and a cold season (one of every four simulated days) halves gather
yields and pauses regrowth, creating recurring scarcity.
- Simulation-owned resource records retain live amounts, reservations, usage
definitions, and regrowth rules while ResourceNode scenes are unloaded.
- An explicit fixed-step clock converts frame delta into simulation ticks, but
orchestration still lives on the scene-tree `SimulationManager`.
- Automated coverage includes deterministic same-seed and save/restore
@@ -655,14 +673,16 @@ These are expected prototype constraints, not necessarily isolated bugs:
other knowledge is capped and reviewed after one simulated day. NPCs do not
yet have wider social dimensions, goals, line-of-sight/hearing evidence,
personalized reinforcement/decay, false beliefs, or multi-hop rumours.
- The bounded opportunity family supports one open `restock_empty_pantry` or
`supply_missing_wood` need from exact known evidence. Both have exact NPC and
player supply resolutions; the wood need also closes deterministically on
interested-party death or one-day staleness. One read-only query derives and
explains a capable helper, and the matching idle NPC can consume it through
ordinary action selection after urgent self-care and schedule precedence.
There is still no helper assignment, acceptance, rewards, free-form dialogue,
or quest log.
- The bounded opportunity family supports one open need from exact known
evidence: `restock_empty_pantry`, `supply_missing_wood`,
`feed_weak_villager`, and `repair_home_roof`. The pantry and weak-villager
needs resolve through real food supply (the weak need only when the
interested villager actually eats), the wood needs through the real
wood-deposit path, and all close deterministically on interested-party death
or one-day staleness. One read-only query derives and explains a capable
helper, and the matching idle NPC can consume it through ordinary action
selection after urgent self-care and schedule precedence. There is still no
helper assignment, acceptance, rewards, free-form dialogue, or quest log.
- The reason inspector exposes current decisions, utility rejections, one exact
relationship cause, and a compact person-history view that distinguishes
importance-ranked retained memories from objective personal actions.
@@ -1036,24 +1056,30 @@ route, a capable helper, or an honest unavailable state. An available player
route should resolve through the ordinary harvest path without dialogue
branching, quest acceptance, rewards, or saved UI state.
The remaining simulation-garden target still aims for:
The remaining simulation-garden target now adds the player-citizen loop on top
of the completed autonomous core:
- one attractive valley section;
- six named villagers;
- three visibly distinct workplaces;
- food and wood as location-based resources;
- visible gathering, carrying, storing, and consuming;
- hunger and energy;
- visible gathering, carrying, storing, and consuming for both NPCs and player;
- hunger and energy for NPCs and the player;
- one understandable shortage crisis;
- direct player assistance and priority influence;
- day/night presentation;
- an in-game reason inspector;
- deterministic replay or scenario reset;
- save/load for the slice;
- the player carried-inventory loop: gather → carry → deposit → eat;
- recurring cold-season scarcity and finite-source regrowth;
- four knowledge-gated village need types with honest helper/player routes;
- a stable 2030 minute session.
Safety and knowledge can remain present, but their deeper production chains
should follow a complete food loop rather than grow in parallel.
Still deferred: replanting, population growth from a built house, and a
market/traveler cadence. Safety and knowledge can remain present, but their
deeper production chains should follow a complete food loop rather than grow in
parallel.
## Out of scope until the simulation garden works