Define MVP survival readiness criteria
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user