From 08419f713f1ad749ddb33a568b3ed14e099dc1d5 Mon Sep 17 00:00:00 2001 From: nathan Date: Thu, 14 May 2026 07:53:25 -0700 Subject: [PATCH] Document Agrarian time and weather model --- AGRARIAN_DEVELOPMENT_ROADMAP.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/AGRARIAN_DEVELOPMENT_ROADMAP.md b/AGRARIAN_DEVELOPMENT_ROADMAP.md index 8c2a5f7..130fc64 100644 --- a/AGRARIAN_DEVELOPMENT_ROADMAP.md +++ b/AGRARIAN_DEVELOPMENT_ROADMAP.md @@ -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.