merge: integrate remote player quest slices

This commit is contained in:
Rijad Zuzo
2026-08-16 16:53:30 +02:00
55 changed files with 3640 additions and 54 deletions
+22 -2
View File
@@ -49,13 +49,16 @@ SimulationClock
-> SimulationEventLog records and indexes completed facts
-> WorldEventStore exposes typed participants, locations, and causal queries
-> EventKnowledgeSystem records, ranks, transfers, and retains bounded knowledge
-> RelationshipSystem applies seven-dimensional evidence-backed consequences
-> RelationshipSystem applies seven-dimensional evidence-backed consequences
-> SituationSystem projects real unresolved conditions from facts and events
-> QuestJournalSystem records only player discovery/tracking preference
-> SocialCommitmentSystem resolves promises from ordinary outcome events
-> ConversationService plans deterministic semantic turns from current context
-> VillageOpportunitySystem preserves the legacy bounded compatibility slice
-> ConflictSystem advances indexed combatants and authoritative combat outcomes
-> ConflictSystem advances indexed combatants and authoritative combat outcomes
-> PlayerQuestSystem turns open needs into named player quests and
grants Standing as the player resolves them through real supply/feed
-> PlayerNeedsSystem advances the player's hunger, energy, and carry
-> WorldViewManager presents travel, NPC state, and world-state cues
-> ActiveWorldAdapter supplies loaded-world positions/capacity
-> LoadedResourceSpatialIndex bounds finite-anchor discovery
@@ -128,6 +131,22 @@ would otherwise obscure that lifecycle:
When no such helper exists, it can separately derive an ephemeral
`OpportunityPlayerResponseResult` from the real destination capacity and
enabled player-usable finite sources;
- `simulation/quests/PlayerQuestSystem.gd` turns real open needs into named
player quests (`PlayerQuestRecord`) and owns the player's `PlayerStandingRecord`
reputation. A quest is generated only when the player can genuinely act
through the ordinary economy (an unassisted pantry/wood shortage, or a hungry
player-feedable animal), and it is resolved only by a real player supply or
feed event. Completing a quest grants Standing and raises the requester's
gratitude; a requester who personally trusts the player can ask them directly
even when another capable helper exists. Quests, Standing, and gratitude are
persisted and never become quest-only simulation state;
- `simulation/quests/PlayerNeedsSystem.gd` owns the player's embodied hunger,
energy, starvation, death, and carried inventory, advancing on the
deterministic tick and mutating finite resources and storage only through the
ordinary economy and recorder;
- `simulation/quests/PlayerNegotiationSystem.gd` owns the read-only villager
talk surface plus accept/decline of personal requests, delegating quest
lifecycle to `PlayerQuestSystem`;
- `simulation/persistence/` owns save-slot file safety;
- `simulation/state/` owns versioned serialized record contracts;
- `simulation/definitions/` owns stable IDs and immutable action/profession
@@ -189,6 +208,7 @@ hard to read.
| `simulation/situations/` | World situation, journal, and commitment lifecycles |
| `simulation/dialogue/` | Semantic conversation planning and presenter boundary |
| `simulation/regional/` | Regional records, due-job scheduling, keyed randomness, analytical updates |
| `simulation/quests/` | Named player quests and Standing reputation from real need resolution |
| `simulation/state/` | Versioned, serializable mutable records |
| `simulation/definitions/` | Stable IDs and immutable gameplay definitions |
| `simulation/persistence/` | Validated local save-file storage |