Document Agrarian time and weather model

This commit is contained in:
2026-05-14 07:53:25 -07:00
parent 65d43839c8
commit 08419f713f
+30
View File
@@ -27,6 +27,26 @@ Core commitments:
- [ ] Build toward an Earth-scale world made from real-world terrain tiles.
- [ ] Keep travel paced by believable real-world movement, vehicles, terrain, and character condition.
- [ ] Treat terrain, bathymetry, biomes, resources, rivers, and mountains as data-driven long-term infrastructure, not one-off maps.
- [ ] Keep base world time grounded; the world should progress without feeling artificially sped up.
- [ ] Make player skill, tools, infrastructure, cooperation, and knowledge improve efficiency, yield, reliability, quality, and capacity rather than breaking natural biological time.
## Time And Progression Philosophy
Baseline rule:
- [ ] Use `4 real hours = 1 in-game day` as the default server-authoritative world clock unless testing proves it is too slow.
Design intent:
- [ ] The world does not get faster; the player gets better.
- [ ] Human-scale actions such as walking, gathering, chopping, fishing, hunting, hauling, crafting interaction time, and combat stay close to believable real-time pacing.
- [ ] Biological and seasonal systems such as crop growth, livestock maturity, pregnancy, spoilage, disease, healing, soil recovery, tree growth, and seasons use the Agrarian calendar.
- [ ] Skills should mostly improve efficiency, yield, quality, reliability, survival odds, and working capacity.
- [ ] Skills should rarely shorten natural biological time directly.
- [ ] Domesticated crops and livestock can require meaningful calendar time because hunting, gathering, fishing, scavenging, and primitive crafting remain available.
- [ ] Early survival should feel hands-on, difficult, inefficient, and somewhat fragile.
- [ ] Starting over should hurt because players lose knowledge, tools, stored food, seeds, livestock, shelter, infrastructure, claims, and local advantage.
- [ ] Progression should move players from hand-gathered survival to tools, storage, domestication, farms, logistics, labor systems, trade, and industrial-scale production.
## Current Known Project Location
@@ -397,6 +417,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`.
- [ ] 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.
- [x] Add clear weather.
@@ -405,6 +427,13 @@ Target deliverable: A small group can join a server, spawn into one biome, gathe
- [x] Add storm placeholder.
- [x] Add weather transition rules.
- [x] Add weather replication.
- [ ] Add real-world weather provider adapter for Ground Zero by latitude/longitude.
- [ ] Use Open-Meteo as the first global MVP weather source.
- [ ] Add NOAA/NWS fallback or enrichment for US tiles where useful.
- [ ] Cache real-weather snapshots server-side so clients never call public weather APIs directly.
- [ ] Map real weather inputs into Agrarian weather states: temperature, precipitation, wind, cloud cover, humidity, pressure, visibility, and weather code.
- [ ] Add deterministic fallback weather simulation when external weather data is unavailable.
- [ ] Store weather source, provider timestamp, tile coordinate, and applied in-game weather state for debugging and persistence.
- [ ] Add weather save/load support.
- [x] Connect weather to body temperature.
- [~] Connect shelter to weather protection.
@@ -415,6 +444,7 @@ Target deliverable: A small group can join a server, spawn into one biome, gathe
- [x] Choose Ground Zero real-world 1 km x 1 km MVP tile.
- [x] Choose MVP biome based on Ground Zero location.
- [ ] Link Ground Zero tile coordinates to real-world weather lookup coordinates.
- [~] Create playable test map.
- [x] Add terrain base from real elevation data.
- [x] Add first-pass water depth/shoreline handling if applicable.