Document corpse backpack MVP decision

This commit is contained in:
2026-05-18 13:32:30 -07:00
parent 11f051c830
commit e8f4acb98d
4 changed files with 49 additions and 2 deletions
+5 -1
View File
@@ -665,7 +665,11 @@ Target deliverable: A small group can join a server, spawn into one biome, gathe
the Ground Zero MVP spawn/home location, revives with partial health,
stabilizes hunger/thirst/body temperature, clears acute injury conditions,
and leaves family/inheritance respawn for later generational milestones.
- [ ] Add corpse/backpack placeholder if needed.
- [x] Add corpse/backpack placeholder if needed. Decision: no physical
corpse/backpack actor is needed for the 0.1.J MVP respawn loop because death
inventory loss is not active yet. Future corpse/backpack recovery is reserved
as a persistent, server-owned, interaction-gated death-recovery record once
inventory loss and decay rules exist.
- [ ] Add replicated death feedback.
## 0.1.K Wildlife Prototype
+5 -1
View File
@@ -150,7 +150,11 @@ Initial MVP spawn:
Respawn MVP behavior:
- may use a simple fixed spawn point or small spawn zone;
- should clear or penalize some carried inventory if death is implemented;
- does not spawn a corpse/backpack container in 0.1.J;
- should clear or penalize some carried inventory when death inventory loss is
implemented;
- should make any future corpse/backpack actor server-owned, interaction-gated,
persistent, and decay-aware;
- should not require full generational inheritance yet;
- should record enough information for debugging death/respawn bugs.
+8
View File
@@ -111,11 +111,19 @@ Persist the survival state needed to resume a player:
- sickness severity;
- exhaustion;
- alive/dead state if death persistence is active.
- future corpse/backpack recovery records once death inventory loss is enabled.
Survival rates and tuning values should not be duplicated into the save unless
there is a specific compatibility reason. They belong in code/config/data
assets.
0.1.J decision: the MVP death/respawn loop does not spawn a physical corpse or
backpack actor yet. Respawn currently stabilizes the character at the Ground
Zero MVP spawn/home location without inventory-drop recovery. When inventory
loss is introduced, corpse/backpack records should be persistent, server-owned,
time-limited or decay-aware, tied to the death event id/location, and recoverable
through normal interaction rules.
MVP implementation note: `UAgrarianPersistenceSubsystem::SaveCurrentWorld`
captures live Agrarian player characters into `FAgrarianSavedPlayer`, including
transform, survival snapshot, care history snapshot, and inventory stacks.
@@ -0,0 +1,31 @@
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
def require(path: Path, snippet: str) -> None:
text = path.read_text(encoding="utf-8")
if snippet not in text:
raise SystemExit(f"{path.relative_to(ROOT)} missing {snippet!r}")
def main() -> None:
roadmap = ROOT / "AGRARIAN_DEVELOPMENT_ROADMAP.md"
persistence = ROOT / "Docs" / "PersistenceDesignDocument.md"
networking = ROOT / "Docs" / "MultiplayerNetworkingDesign.md"
require(roadmap, "[x] Add corpse/backpack placeholder if needed.")
require(roadmap, "no physical")
require(roadmap, "corpse/backpack actor is needed for the 0.1.J MVP respawn loop")
require(roadmap, "persistent, server-owned, interaction-gated death-recovery record")
require(persistence, "the MVP death/respawn loop does not spawn a physical corpse or")
require(persistence, "death event id/location")
require(networking, "does not spawn a corpse/backpack container in 0.1.J")
require(networking, "server-owned, interaction-gated")
print("PASS: corpse/backpack MVP decision is documented.")
if __name__ == "__main__":
main()