Define MVP survival readiness criteria

This commit is contained in:
2026-05-15 00:51:40 -07:00
parent 872aab2ff9
commit 3ef03469b6
3 changed files with 147 additions and 14 deletions
+14 -12
View File
@@ -34,7 +34,7 @@ Core commitments:
Baseline rule:
- [ ] Use `4 real hours = 1 in-game day` as the default server-authoritative world clock unless testing proves it is too slow.
- [x] Use real local time pacing for the represented Earth region as the default server-authoritative world clock. Test-only time acceleration remains allowed.
Design intent:
@@ -179,8 +179,8 @@ Remaining version 0.01 cleanup before moving deeper into new gameplay:
- [x] Finish required plugin documentation.
- [x] Confirm the project opens cleanly from a fresh checkout, not just the current working share.
- [x] Organize `Content/Agrarian/` folders and move starter/prototype assets into clearly named locations.
- [ ] Launch near-term MVP map-tile serving cloud VM.
- [ ] Define MVP day/night length, survival pressure target, success loop, failure conditions, and closed-test readiness criteria.
- [x] Launch near-term MVP map-tile serving cloud VM.
- [x] Define MVP day/night length, survival pressure target, success loop, failure conditions, and closed-test readiness criteria.
# Phase 0 - Project Foundation And Guardrails
@@ -288,12 +288,12 @@ Current tooling decisions:
- [x] Define acceptable real terrain accuracy for MVP.
- [x] Define acceptable real bathymetry/ocean-depth handling for MVP if Ground Zero is coastal.
- [ ] Define acceptable first-pass biome/resource accuracy for MVP.
- [ ] Define MVP day/night length.
- [ ] Define survival pressure target.
- [ ] Define basic success loop.
- [ ] Define failure conditions.
- [ ] Define first playable internal milestone.
- [ ] Define closed test readiness criteria.
- [x] Define MVP day/night length.
- [x] Define survival pressure target.
- [x] Define basic success loop.
- [x] Define failure conditions.
- [x] Define first playable internal milestone.
- [x] Define closed test readiness criteria.
## 0.6 Operational Infrastructure
@@ -406,7 +406,8 @@ Target deliverable: A small group can join a server, spawn into one biome, gathe
- [x] Create world time system.
- [x] Add day/night cycle.
- [x] Add configurable time scale.
- [ ] Set default server time scale to `4 real hours = 1 in-game day`.
- [x] Set default server time scale to real-time pacing for the represented Earth region.
- [ ] Add real local time-zone and sunrise/sunset lookup for Ground Zero by latitude/longitude.
- [ ] Add Agrarian calendar conversion helpers for days, seasons, crop cycles, livestock maturity, spoilage, and long-running tasks.
- [ ] Add temperature curve by time of day.
- [x] Add simple weather states.
@@ -1396,6 +1397,7 @@ The first playable MVP is not complete until:
- [ ] Players can create fire.
- [ ] Players can build a primitive shelter.
- [ ] Weather and time affect survival.
- [ ] Day/night follows the real local time and light cycle of the represented map tile.
- [ ] Hunger and thirst matter.
- [ ] Injury or damage can create meaningful risk.
- [~] At least one wildlife system exists.
@@ -1437,8 +1439,8 @@ Earliest incomplete foundation items:
- [ ] Create art direction, UX/HUD direction, coding standards, Blueprint standards, and asset/folder naming standards.
- [x] Organize `Content/Agrarian/` root folder and remove unused starter variant content.
- [ ] Define what qualifies as the 6-month MVP and what is explicitly excluded.
- [ ] Define MVP day/night length, survival pressure target, success loop, failure conditions, first playable internal milestone, and closed-test readiness criteria.
- [x] Define MVP day/night length, survival pressure target, success loop, failure conditions, first playable internal milestone, and closed-test readiness criteria.
Immediate next item:
- [ ] Define MVP day/night length, survival pressure target, success loop, failure conditions, and closed-test readiness criteria.
- [ ] Create the core design document.
+131
View File
@@ -0,0 +1,131 @@
# MVP Survival And Readiness Criteria
This document locks the early MVP target for time, survival pressure, player
success, failure, and closed-test readiness.
## Day And Night
MVP rule: day/night should mimic the real Earth region represented by the
loaded map tile.
For Ground Zero, the server-authoritative world clock should follow the local
time of the real Ground Zero region. Weather and sunlight should both come from
the same real-world tile context so the player feels like they are standing in
that place, not in an abstract accelerated map.
Implementation target:
- The server owns time and replicates it to clients.
- Ground Zero uses the real local time zone for its real-world coordinates.
- Sunrise, sunset, day length, night length, and seasonal light should be based
on the tile location as the system matures.
- The MVP fallback can use a 24-hour local clock with conservative fixed night
bounds until real sunrise/sunset lookup is implemented.
- Time acceleration is allowed for test commands and automation, but not as the
default player-facing world clock.
Design consequence:
- The sky clock stays grounded.
- Skills, tools, teamwork, shelter, storage, domestication, and infrastructure
improve what players can accomplish inside real time.
- Natural biological systems should not be casually compressed just to make
progress feel faster.
## Survival Pressure Target
The first playable MVP should feel difficult but learnable.
Target experience:
- A new solo player can survive the first session by gathering, drinking,
crafting a basic tool, making fire, and using shelter.
- Ignoring hunger, thirst, cold, injury, or weather can kill the player.
- Death should usually feel preventable after the player understands the rules.
- Early play should be inefficient and hands-on.
- Progress should noticeably reduce friction through better tools, storage,
shelter, food access, water access, and knowledge.
Early survival pressure should come from:
- thirst and freshwater access;
- hunger and low-yield gathering;
- cold exposure, especially at night or in bad weather;
- injury/damage;
- fire and shelter reliability;
- limited inventory and carrying capacity;
- weather changing the risk profile.
## Basic Success Loop
The MVP loop is complete when a player can:
1. Spawn into the Ground Zero tile after the startup and character-selection
flow.
2. Read the environment enough to find immediate resources.
3. Gather primitive materials.
4. Drink or collect water.
5. Craft at least one useful primitive tool.
6. Make or use fire.
7. Build or use a primitive shelter.
8. Survive weather and nighttime pressure.
9. Store or preserve some useful progress.
10. Leave and return after restart with core state preserved.
The loop should show the intended long-term direction: survival starts with
hands, improvised tools, and local knowledge, then moves toward better tools,
storage, shelter, domestication, farming, logistics, and cooperation.
## Failure Conditions
The MVP should support clear player failure states:
- death from health reaching zero;
- dehydration;
- starvation;
- cold exposure/hypothermia;
- injury or damage;
- inability to recover after poor preparation for night/weather.
For MVP, failure does not need a complete generational inheritance system.
Respawn rules can be simple, but death should still cost enough to make survival
matter.
## First Playable Internal Milestone
The first playable internal milestone is ready when:
- one Ground Zero tile loads as the playable map;
- the map uses the Ground Zero tile context for time/weather direction;
- the player can gather, drink, craft, make fire, and use shelter;
- hunger, thirst, body temperature, and health can all affect survival;
- one meaningful death path works;
- core state survives a server restart;
- the startup flow reaches character selection before entering the world;
- two players can join the same server for a basic multiplayer smoke test.
## Closed-Test Readiness
Closed testing can begin when:
- the Windows build installs and launches on a clean test machine;
- the public or LAN tile endpoint is stable for the test group;
- onboarding tells players enough to start without exposing debug internals;
- at least one full day/night survival test passes;
- basic telemetry/logging is available for crashes and major failures;
- known critical bugs are documented;
- reset/recovery instructions exist for the test server;
- testers can report bugs with build version, map tile, and reproduction notes.
## Explicit Non-Goals For This MVP
Do not block first playable MVP on:
- full Earth-scale streaming;
- full real-weather provider integration;
- full sunrise/sunset astronomy accuracy;
- mature farming/livestock life cycles;
- full economy or AGR utility;
- full generational succession;
- polished character art;
- public Steam/Epic release readiness.
+2 -2
View File
@@ -21,8 +21,8 @@ public:
UPROPERTY(EditAnywhere, BlueprintReadOnly, Replicated, Category = "Agrarian|World")
float WorldHours = 8.0f;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Agrarian|World", meta = (ClampMin = "0.1"))
float GameHoursPerRealMinute = 0.5f;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Agrarian|World", meta = (ClampMin = "0.001"))
float GameHoursPerRealMinute = 1.0f / 60.0f;
UPROPERTY(EditAnywhere, BlueprintReadOnly, ReplicatedUsing = OnRep_Weather, Category = "Agrarian|World")
EAgrarianWeatherType Weather = EAgrarianWeatherType::Clear;