# Agrarian Development Roadmap This roadmap converts the Agrarian master vision into a practical, trackable development plan. It is intentionally broad and granular so the project can grow from a small playable Unreal prototype into a long-term persistent civilization platform without losing the original direction. ## Project North Star Agrarian is a persistent generational civilization simulator where players rebuild humanity through survival, stewardship, family, labor, trade, governance, and technological progress. The guiding question is: > What survives after you are gone? Core commitments: - [ ] Civilization is built, not spawned. - [ ] Legacy matters more than levels. - [ ] History is never erased. - [ ] The frontier always exists somewhere. - [ ] Knowledge is the true progression system. - [ ] AGR has both in-game and real-world community value. - [ ] No pay-to-win mechanics. - [ ] No seasonal wipes. - [ ] No loot boxes. - [ ] No fragmented DLC model. - [ ] Build the smallest strong survival foundation first. - [ ] Keep every system compatible with long-term persistence and generations. - [ ] Make family and community characters feel like living participants, not static quest NPCs. - [ ] Keep NPC/community intelligence proprietary-first and server-authoritative; avoid external AI dependencies for core behavior or private world state. - [ ] 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. - [ ] Represent each real-world tile with layered climate, biome, ecology, and human-use metadata so the in-game environment feels geographically recognizable rather than using generic biome labels. - [ ] 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. - [ ] Treat learning as a core play loop: knowledge unlocks understanding, practice builds competence, and infrastructure makes advanced work possible. - [ ] Use real-world learning checks carefully; they should teach and confirm understanding without turning the game into mandatory homework. - [ ] Let players choose depth: basic survival should be approachable, while advanced civilization, nuclear power, spaceflight, and colonization should reward real study, planning, and mastery. - [ ] Avoid trivia-only gates; complex achievements require the right knowledge, repeated hands-on experience, tools, safety systems, materials, teams, and institutions. ## Time And Progression Philosophy Baseline rule: - [x] Use `4 real hours = 1 in-game day` as the MVP gameplay calendar target, while day/night presentation mimics the represented Earth region's local solar/weather context. 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 Primary development repository: ```text git@github.com:pacificao/AgrarianGameBuild.git ``` Primary local Codex/server checkout: ```text /mnt/projects/AgrarianGameBulid ``` Ubuntu-Codex host: ```text 192.168.5.10 ``` Unraid project share: ```text \\DevBox\projects\AgrarianGameBulid ``` Windows build VM: ```text Windows-Builder / 192.168.5.12 ``` Codex headless editor build command: ```text UNRAID_PASSWORD= /home/nathan/bin/agrarian-build-editor ``` Important tracked project root files/folders: - [x] `AgrarianGame.uproject` - [x] `Source/` - [x] `Content/` - [x] `Config/` - [x] `Scripts/` - [x] `.gitignore` - [x] `.gitattributes` - [x] Roadmap and vision docs Important generated/local-only files/folders: - [x] `Binaries/` ignored - [x] `Intermediate/` ignored - [x] `Saved/` ignored - [x] `DerivedDataCache/` ignored - [x] `.vs/` ignored - [x] `*.sln` ignored and regenerated locally ## Roadmap Status Legend Use these markers as the project progresses: - `[ ]` Not started - `[~]` In progress - `[x]` Complete - `[!]` Blocked or needs decision - `[?]` Needs design decision --- # Milestone Flow And Current Focus Roadmap order is now: 1. Current milestone status and decision log. 2. Version 0.01 foundation and guardrails. 3. Version 0.1 foundational survival MVP. 4. Later version tracks for gameplay, civilization, technical, release, and community work. 5. Calendar, MVP definition of done, and earliest next actions. Roadmap headings now use release-style milestone numbers. Subsections use lettered labels such as `0.1.A`, `0.1.B`, and `0.1.C` so they do not look like separate versions. ## Active Milestone - Version 0.01 Foundation Baseline Status: completed. Purpose: establish the project in GitHub, prove Windows builds from a clean checkout, and create the first C++ gameplay foundation for survival, inventory, crafting, building, persistence, admin testing, wildlife, and early terrain pipeline planning. Major version 0.01 work already completed: - [x] Created GitHub repository `pacificao/AgrarianGameBuild`. - [x] Imported the Unreal project into Git with Git LFS. - [x] Added Unreal-safe `.gitignore` and `.gitattributes`. - [x] Added Windows build and cleanup helper scripts. - [x] Removed stale `VisualStudioTools` plugin reference. - [x] Confirmed Windows build succeeds through `Scripts/BuildEditor-Windows.bat`. - [x] Added replicated survival, inventory, interaction, crafting, building, persistence, admin/dev command, wildlife, time, and weather foundations. - [x] Added item definition and recipe data asset classes. - [x] Created first gameplay item and recipe assets. - [x] Created first resource, campfire, primitive shelter, wildlife, foliage, stone, and freshwater Blueprints. - [x] Built `AgrarianGameEditor Win64 Development` successfully on Windows-Builder. - [x] Added Codex headless Windows build and Unreal Python automation lanes. - [x] Confirmed the project loads through Unreal Editor command mode and the default test map passes map check. - [x] Added `IA_Interact`, bound it to keyboard/gamepad, and assigned it to the character Blueprint. - [x] Added smoke/automation coverage for gathering, crafting, placement, persistence, wildlife harvest, foliage, resources, and freshwater placement. - [x] Selected Ground Zero MVP terrain tile and added the first tile registry schema. - [x] Prototyped and imported real elevation data for the Ground Zero tile. - [x] Verified the Ground Zero terrain test map is centered and spans 1 km x 1 km in Unreal. - [x] Set the packaged investor demo default map to Ground Zero. - [x] Added Agrarian Studio splash, startup movie, demo notice, motto, version, and copyright language. - [x] Built and smoke-tested a Windows Development packaged demo. Remaining version 0.01 cleanup before moving deeper into new gameplay: - [x] Decide whether to keep current Unreal template variants or remove unused starter variants. - [x] Decide whether to create/use a long-lived `dev` branch. Decision: do not use one yet; use `main` plus short-lived task branches until team size or release channels require a staging branch. - [x] Finish branch naming conventions. - [x] Finish commit message conventions. - [x] Define GitHub/LFS free-tier storage guardrails. - [x] Define backup expectations for NAS and repository. - [x] Implement Linastorage incremental project backup job. - [x] Implement quiesced VM backup job for Windows-Builder and Ubuntu-Codex. - [x] Create repeatable dedicated server build instructions. - [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. - [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. # Version 0.01 - Project Foundation And Guardrails Goal: Prepare the project so all future development is controlled, recoverable, documented, and aligned with the long-term vision. ## 0.01.A Repository And Source Control - [x] Decide where the Unreal project repository will live. - [x] Create or confirm GitHub repository for the Unreal project. - [x] Decide whether large assets use Git LFS. - [x] Add Git LFS for `.uasset`, `.umap`, large media, and binary assets if using Git. - [x] Create `.gitignore` for Unreal Engine. - [x] Ensure `Binaries/`, `Intermediate/`, `Saved/`, and `DerivedDataCache/` are excluded unless intentionally needed. - [x] Commit clean baseline project. - [x] Create `dev` branch if we want staging before main. Decision: do not create a long-lived `dev` branch yet. - [x] Define branch naming conventions. - [x] Define commit message conventions. - [x] Define GitHub/LFS free-tier storage guardrails. - [x] Define backup expectations for NAS and repo. - [x] Confirm this roadmap file is committed or otherwise backed up. ## 0.01.B Engine And Tooling Decisions - [x] Confirm Unreal Engine version. - [x] Decide Blueprint-first, C++-first, or hybrid approach. - [x] Decide whether Gameplay Ability System is needed now or later. Decision: defer GAS until after the version 0.1 MVP survival foundation; keep current explicit replicated components for survival, inventory, crafting, interaction, movement, time, weather, resources, and building. Revisit when skills, combat, injuries, medicine, equipment effects, professions, and long-term status modifiers create enough repeated ability/effect logic to justify GAS. - [x] Decide networking model for MVP. - [x] Decide dedicated server target platform. - [x] Decide local development platforms. - [x] Decide build machine strategy. - [x] Create repeatable local build instructions. - [x] Create repeatable packaged build instructions. - [x] Create repeatable dedicated server build instructions. - [x] Document required plugins. - [x] Disable unneeded plugins. - [x] Confirm project compiles from a clean checkout. - [x] Confirm project opens from a clean checkout. Current tooling decisions: - Unreal Engine version: `5.7`. - Development approach: hybrid C++ foundation with Blueprint/content assembly in the editor. - Gameplay Ability System: deferred until after version 0.1. Current MVP gameplay remains in explicit replicated components, with a revisit planned when ability/effect complexity grows. - Source control and daily coding: Ubuntu-Codex working against the Unraid `projects` share. - Editor/build host: Windows-Builder VM with GPU passthrough. - Headless build path for Codex: Unraid QEMU guest agent into Windows-Builder. - Preferred interactive editor/gameplay connection: Parsec or similar real-GPU remote desktop, not RDP. - Dedicated server target: Linux for multiplayer hosting. - Windows compiler used by Unreal 5.7: VS 2022 Build Tools MSVC `14.44.35207`. - Packaged Windows demo wrapper: `Scripts/PackageWindowsDevelopment.bat`. - Current investor demo starts on the Ground Zero terrain map: `/Game/Agrarian/Maps/L_GroundZeroTerrain_Test`. - Rendering baseline: the project remains DX12-first for future Unreal 5 features, while packaged investor builds include a Windows compatibility override and launchers so demo machines can start reliably with DX11 if DX12 startup fails. - Investor-demo release rule: whenever all tracked roadmap items for a version milestone are complete, including minor versions like `.01` or `.6` and major versions like `1`, build and smoke-test a fresh Windows packaged executable for investor/demo review. ## 0.01.C Design Documentation - [x] Create game design document. - [x] Create technical design document. - [x] Create multiplayer/networking design document. - [x] Create persistence design document. - [x] Create Earth-scale terrain/tile streaming design document. - [x] Create tile registry/database design document. - [x] Create real-world terrain source data evaluation document. - [x] Create economy and AGR design document. - [x] Create art direction document. - [x] Create UX/HUD direction document. - [x] Create content naming conventions. - [x] Create folder conventions for Unreal assets. - [x] Create coding standards. - [x] Create Blueprint standards if using Blueprints. - [x] Create data asset standards. - [x] Create save/persistence standards. ## 0.01.D Project Structure - [x] Organize `Content/Agrarian/` root folder. - [x] Create folders for Characters. - [x] Create folders for Environment. - [x] Create folders for Items. - [x] Create folders for UI. - [x] Create folders for Systems. - [x] Create folders for Maps. - [x] Create folders for Materials. - [x] Create folders for Audio. - [x] Create folders for DataAssets. - [x] Create folders for Prototypes. - [x] Create folders for Developer-only test assets. - [x] Create naming convention for assets. - [x] Remove unused Combat, Platforming, and SideScrolling starter variant content. - [x] Move any starter content into clear prototype folders. Decision: close the version 0.01 structure item by retaining the narrow `ThirdPerson` and `LevelPrototyping` dependencies in place until replacement work lands in version 0.1. Moving those assets now would break active player Blueprints, package maps, setup scripts, and automation. Remaining cleanup is tracked as explicit version 0.1 replacement work. ## 0.01.E MVP Definition - [x] Define what qualifies as the 6-month MVP. - [x] Define what will not be included in MVP. - [x] Define target player count for MVP test. - [x] Select the real-world "Ground Zero" 1 km x 1 km MVP tile. - [x] Define target map size for MVP around the Ground Zero tile. - [x] Define MVP biome. - [x] Define acceptable real terrain accuracy for MVP. - [x] Define acceptable real bathymetry/ocean-depth handling for MVP if Ground Zero is coastal. - [x] Define acceptable first-pass biome/resource accuracy for MVP. - [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.01.F Operational Infrastructure - [x] Stand up Unraid `DevBox` as shared project storage. - [x] Create and expose the `projects` SMB share. - [x] Add LAN name resolution for `DevBox`. - [x] Mount `\\DevBox\projects` on Ubuntu-Codex at `/mnt/projects`. - [x] Clone `pacificao/AgrarianGameBuild` to `/mnt/projects/AgrarianGameBulid`. - [x] Configure GitHub SSH access on Ubuntu-Codex for clone, pull, and push. - [x] Set up Windows-Builder as the Unreal/Visual Studio build VM. - [x] Install Unreal Engine 5.7 on Windows-Builder. - [x] Install Visual Studio 2026 for interactive development tools. - [x] Install VS 2022 Build Tools for Unreal 5.7 compiler compatibility. - [x] Confirm Codex can launch Windows headless build commands without RDP. - [x] Confirm headless editor target build succeeds. - [x] Set up Parsec or equivalent real-GPU remote access for occasional Codex visual inspection. Sunshine is installed on Windows-Builder, paired with the GTX 1660 SUPER and a virtual 1920x1080 display for Moonlight-based LAN inspection; documented in `Docs/Ops/WindowsBuilderGpuRemoteAccess.md`. - [x] Stabilize Windows-Builder network/RDP behavior under GPU passthrough. Confirmed fixed bridged VirtIO NIC on `br0` with MAC `52:54:00:17:ec:5d`, set Windows network profile to Private, made `TermService` automatic, confirmed RDP firewall/listener access, disabled sleep/hibernate, and documented recovery checks in `Docs/Ops/WindowsBuilderNetworkRdpStability.md`. - [x] Decide and document VM snapshot cadence before major engine/tool changes. - [x] Define Unraid share backup policy. - [x] Implement Linastorage incremental project backup job with deleted-file retention. - [x] Implement quiesced VM backup job for Windows-Builder and Ubuntu-Codex. - [x] Add recurring restore-test log for project and VM backups. Added `Docs/Ops/BackupRestoreTestLog.md`, linked it from the backup runbooks, and recorded initial blocked baseline entries for the project restic repository and VM snapshot directory so the first successful tests can be appended after snapshots are available. - [x] Define GitHub branch protection and review rules. Documented the current free-tier/private-repo limitation, main-branch policy, PR review expectations, required validation, and future protected-main settings in `Docs/Ops/GitHubBranchProtectionAndReviewRules.md`; added `.github/PULL_REQUEST_TEMPLATE.md` for repeatable review checks. - [x] Add a build log retention policy. Documented generated log locations, default retention windows, preserve-before-pruning rules, cadence, and dry-run/apply cleanup flow in `Docs/Ops/BuildLogRetentionPolicy.md`; added `Scripts/prune_build_logs.sh`. - [x] Add a simple operational runbook for rebooting/recovering Windows-Builder, Ubuntu-Codex, and DevBox. Added `Docs/Ops/DevelopmentInfrastructureRecoveryRunbook.md` with triage checks, safe reboot order, Windows-Builder recovery, Ubuntu-Codex recovery, DevBox/SMB recovery, and post-recovery validation. ## 0.01.G Earth-Scale Terrain Architecture Long-term goal: Agrarian can eventually expand toward an Earth-scale world made from real terrain and ocean data. The intended unit is a 1 km x 1 km tile. At full Earth scale this implies roughly 510-520 million possible tiles, added over many years, streamed from servers, cached locally, scrubbed when unused, and redownloaded when a player returns to a region. - [x] Define canonical tile coordinate system for 1 km x 1 km world tiles. - [x] Decide how latitude/longitude maps to Unreal coordinates and World Partition cells. - [x] Decide how to handle projection distortion, poles, and dateline crossing. - [x] Define authoritative tile manifest schema. - [x] Define tile status states: unknown, queued, source-data-found, generated, validated, packaged, published, deprecated. - [x] Define tile adjacency and stitching rules. - [x] Define tile versioning rules so terrain can improve without corrupting player state. - [x] Define server-side tile delivery protocol. - [x] Launch a near-term MVP tile-serving VM on Ubuntu or another Linux distro. - [x] Add repeatable static Ground Zero tile-delivery package and Ubuntu nginx bootstrap scripts. - [x] Publish a tiny Ground Zero tile manifest and package from the tile server. - [x] Prove client/server tile lookup, download, local cache, and redownload flow with the Ground Zero tile and immediate-neighbor metadata. - [x] Add tile-serving server cost controls and shutdown/runbook notes so MVP testing stays free or near-free. - [x] Move the MVP tile server into a dedicated `Agrarian-TileServer` VM on Unraid. - [x] Decide whether public testing uses the LAN-hosted `Agrarian-TileServer` VM or an external cloud host. - [x] Define client local tile cache layout. - [x] Define local cache retention policy for old or unused tiles. - [x] Define local cache redownload/revalidation behavior. - [x] Define minimum metadata per tile: coordinates, biome, elevation range, water coverage, source datasets, generation version, neighbors, and publish status. - [x] Evaluate real terrain/elevation data sources. - [x] Evaluate bathymetry/ocean-depth data sources. - [x] Evaluate river, lake, coastline, road, and land-cover data sources. - [x] Define automated terrain import pipeline for a single 1 km tile. - [x] Define automated biome and natural resource inference pipeline. - [x] Define QA checks for terrain seams, water edges, slope extremes, and missing source data. - [x] Build a small tile-tracking database prototype before scaling beyond MVP. - [x] Build an MVP tile registry table for the Ground Zero tile and immediate neighbors. - [x] Keep World Partition compatibility as a hard requirement for all terrain decisions. # Version 0.1 - Foundational Survival MVP Goal: Build a small playable multiplayer prototype that proves survival, weather, inventory, gathering, crafting, shelter, and basic persistence can work together. Target deliverable: A small group can join a server, spawn into one biome, gather resources, survive weather, craft primitive tools, build simple shelter, manage hunger/thirst/injury, and return later to find basic world state preserved. ## 0.1.A Core Player Foundation - [x] Create base player character class. - [x] Create player controller. - [x] Create camera setup. - [x] Decide first-person, third-person, or hybrid camera. Decision: hybrid camera with third person as default and optional first-person toggle. - [x] Implement first/third-person camera toggle. - [x] Implement movement. - [x] Implement sprinting. - [x] Define real-world baseline walking speed. Decision: baseline adult walking speed is `1.4 m/s` (`140 Unreal units/s`), with MVP tuning allowance up to about `1.6 m/s` for brisk walking. Movement speed does not scale with the `4 real hours = 1 in-game day` calendar. - [x] Define real-world baseline running speed. Decision: sustainable adult running target is `3.0 m/s` (`300 Unreal units/s`); MVP sprint is a short burst at `5.5 m/s` (`550 Unreal units/s`) with stamina limits. Movement speed does not scale with the calendar. - [x] Connect movement speed to age, condition, strength, endurance, hunger, thirst, injury, carried weight, and terrain. Implemented with live survival/inventory modifiers plus replicated age, condition, strength, endurance, and terrain hooks. - [x] Implement crouching and prone movement stances. Decision: `C` toggles crouch at `55%` movement speed and `Z` toggles prone at `25%` movement speed. Gamepad mappings are Right Shoulder for crouch and Left Shoulder for prone. Sprint is disabled while crouched or prone. - [x] Implement jumping if needed. - [x] Implement interaction trace. - [x] Implement interact prompt. Implemented as a local trace-backed HUD prompt using each interactable's `GetInteractionText`, rendered as `[E] ` through the Agrarian HUD. - [x] Implement basic animation blueprint. Verified `BP_AgrarianPlayerCharacter` uses `SKM_Quinn_Simple` with `/Game/Characters/Mannequins/Anims/Unarmed/ABP_Unarmed` for first-pass idle, locomotion, jump, fall, and landing presentation. - [x] Implement placeholder character mesh. - [x] Replace `ThirdPerson` template player Blueprint/game mode paths with Agrarian-native player, controller, and game mode assets once the MVP character selection flow is ready. Added `BP_AgrarianPlayerCharacter`, `BP_AgrarianPlayerController`, and `BP_AgrarianGameMode`; updated default game mode, packaging, automation, and docs to use the Agrarian-owned paths. - [x] Add replication for player movement and core state. Explicitly enabled replicated character movement, replicated sprint/prone intent, replicated age/condition/strength/endurance/terrain movement state, OnRep speed refreshes, and server-authoritative stance/sprint/terrain update paths. - [x] Add developer debug overlay for player status. Expanded `AgrarianDebugHUD` to show authority/local-control state, location, horizontal speed, movement mode, stance, sprint state, camera mode, movement multiplier, carry weight, age, condition, strength, endurance, and terrain movement modifier. ## 0.1.B Character Stats - [x] Create stat component. - [x] Add health. - [x] Add stamina. - [x] Add hunger. - [x] Add thirst. - [x] Add body temperature. - [x] Add exhaustion. Added replicated `Exhaustion` to the survival snapshot, low-stamina exhaustion gain, gradual recovery when fed/hydrated/warm, sprint-related exhaustion gain, movement/sprint penalties at high exhaustion, debug HUD display, admin survival output, and admin heal recovery. - [x] Add injury state. - [x] Reserve long-term care history fields for nutrition, illness, injury, sleep, shelter, stress, workload, and treatment quality. Added replicated/save-ready `FAgrarianCareHistorySnapshot`, clamping, debug HUD visibility, save-game field reservation, and persistence documentation. - [x] Add infection or sickness placeholder. Added replicated `SicknessSeverity`, server-authoritative add/reduce hooks, sickness recovery/damage rates, exhaustion and care-history illness burden effects, movement penalty, debug HUD/admin output, admin heal recovery, persistence documentation, and verification coverage. - [x] Add stat regeneration rules. - [x] Add stat decay rules. - [x] Add stat replication. - [x] Add stat save/load support. `SaveCurrentWorld` now captures live Agrarian player transform, survival snapshot, care history snapshot, and inventory; load commands restore matching player stats/care history/inventory through `RestorePlayers` before restoring world actors. - [x] Add debug commands for modifying stats. - [x] Add HUD display for critical stats. Added an always-on compact survival status panel for health, stamina, food, water, temperature, exhaustion, injury, and sickness, with warning/critical coloring separate from the developer debug overlay. ## 0.1.C Time, Weather, And Environment Pressure - [x] Create world time system. - [x] Add day/night cycle. - [x] Add configurable time scale. - [x] Set default server time scale to `4 real hours = 1 in-game day`. - [x] Add real local time-zone and sunrise/sunset lookup for Ground Zero by latitude/longitude. Added tile-aware solar metadata to `AAgrarianGameState`, Ground Zero Pacifica defaults, local sunrise/sunset/solar-noon/day-length approximation, replicated solar state, `IsNight` based on active tile solar bounds, and a repeatable registry-driven solar metadata generator that skips placeholder/unknown tiles. - [x] Add Agrarian calendar conversion helpers for days, seasons, crop cycles, livestock maturity, spoilage, and long-running tasks. Added replicated year/day and absolute-day helpers, season/day-of-season lookup, `4 real hours = 1 in-game day` conversion helpers, long-task progress calculation, active tile growing-zone profile, crop maturity fit checks against frost-free/growing-season windows, and a repeatable growing-zone metadata generator that skips placeholder/unknown tiles. - [x] Add temperature curve by time of day. Added replicated regional daily low/high temperatures, a sunrise-to-afternoon warming curve, overnight cooling, observed regional temperature blending for future real-weather adapters, weather modifiers, and deterministic fallback behavior when no provider data is available. - [x] Add simple weather states. - [x] Add clear weather. - [x] Add rain. - [x] Add cold/wind state. - [x] Add storm placeholder. - [x] Add weather transition rules. - [x] Add weather replication. - [x] Add real-world weather provider adapter for Ground Zero by latitude/longitude. Added a tile-driven Open-Meteo adapter subsystem that can request weather for any active tile by center latitude/longitude, map provider weather codes into Agrarian weather states, apply current temperature and daily low/high to `AAgrarianGameState`, and generate a source-backed tile weather manifest so future real tiles become weather-eligible automatically. - [x] Use Open-Meteo as the first global MVP weather source. Added `Data/Weather/open_meteo_mvp_source.json` as the provider contract, documented the global tile lookup rule, and added `Scripts/verify_open_meteo_mvp_source.py` to validate the static contract plus live Open-Meteo responses for every source-backed tile in the generated weather manifest. - [x] Add NOAA/NWS fallback or enrichment for US tiles where useful. Added a US/NWS-eligible coordinate check, NOAA/NWS points and forecast-grid request hooks, fallback parsing for gridded temperature, precipitation probability, and wind speed, `Data/Weather/noaa_nws_us_fallback.json`, and live/static verification for source-backed US tiles. - [x] Cache real-weather snapshots server-side so clients never call public weather APIs directly. Added provider/tile-keyed server cache entries with TTL, cache reuse before Open-Meteo or NOAA/NWS requests, cache clearing/debug helpers, and documentation that clients consume only replicated game-state weather and temperature. - [x] Map real weather inputs into Agrarian weather states: temperature, precipitation, wind, cloud cover, humidity, pressure, visibility, and weather code. Added replicated `FAgrarianMappedWeatherInputs`, provider snapshot mapping, Open-Meteo visibility derivation, NOAA/NWS grid enrichment for humidity/sky cover/pressure/visibility, and game-state application that preserves raw mapped inputs alongside the collapsed Agrarian weather state. - [x] Add deterministic fallback weather simulation when external weather data is unavailable. Added tile/day-seeded fallback snapshots for temperature, daily low/high, cloud cover, humidity, wind, pressure, precipitation, visibility, provider code, and mapped Agrarian state; fallback snapshots use the normal server cache and apply through the same mapped-weather path as live providers. - [x] Store weather source, provider timestamp, tile coordinate, and applied in-game weather state for debugging and persistence. Added tile ID/coordinate fields to mapped weather inputs, a replicated `FAgrarianWeatherDebugSnapshot` on game state, provider snapshot mapping into the debug path, and save fields for mapped inputs plus applied weather debug state. - [x] Add weather save/load support. Added `LoadCurrentWorld` as the unified persistence load path, restored weather/time before players and world actors, updated the admin load command to use the combined path, and extended the persistence smoke test to prove provider-backed weather metadata survives save/load. - [x] Connect weather to body temperature. - [x] Connect shelter to weather protection. Survival now calculates the best overlapping shelter protection volume, replicates current weather protection, reduces ambient exposure and cold damage by shelter coverage, trends care-history shelter quality toward active protection, and shows shelter protection on the dev HUD. - [x] Add first-pass sky and lighting. Added `AAgrarianSkyLightingController` with movable sun, skylight, and fog components driven by replicated time, local sunrise/sunset, weather state, and provider cloud cover; updated the Ground Zero setup script to place the controller and remove legacy static lighting actors. - [x] Add audio cues for weather. Added `AAgrarianWeatherAudioController` with ambient, rain, wind, and storm audio components, assignable loop sound slots, weather/wind/night-driven volume fades, and Ground Zero map setup placement so placeholder or final loops can be assigned without changing gameplay code. ## 0.1.D Single Biome MVP Map - [x] Choose Ground Zero real-world 1 km x 1 km MVP tile. - [x] Choose MVP biome based on Ground Zero location. - [x] Link Ground Zero tile coordinates to real-world weather lookup coordinates. Added explicit Ground Zero `weather_lookup_metadata` with tile-center latitude `37.5925`, longitude `-122.4995`, Open-Meteo primary routing, NOAA/NWS fallback eligibility, manifest generation support, registry/schema documentation, and a verifier so future source-backed tiles use declared lookup metadata instead of one-off hard-coded coordinates. - [x] Create playable test map. Updated the Ground Zero playable-map verifier to validate the current real-terrain demo map instead of the deprecated flat prototype labels: safe player start, nearby wood/fiber/water/fire/shelter/ wildlife loop actors, map boundary, sky/weather controllers, and absence of legacy flat-test placements. - [x] Add terrain base from real elevation data. - [x] Add first-pass water depth/shoreline handling if applicable. - [x] Add first-pass hill, mountain, river, stream, lake, and coastline handling if present in Ground Zero. - [x] Add source metadata record for the MVP tile. - [x] Add generated tile metadata record for the MVP tile. - [x] Verify terrain scale is 1 km x 1 km in Unreal. - [x] Verify terrain tile origin and centered Unreal bounds for the Ground Zero test map. - [x] Verify neighboring tile edge coordinates against the registry before multi-tile stitching. - [x] Add foliage pass. - [x] Add resource nodes. Locked the Ground Zero wood, fiber, edible-plant, and stone node pass with verification for stable node IDs, yield item IDs, remaining harvests, and readable first-pass resource material assignments so the MVP map proves both gameplay function and investor-facing readability. - [x] Add biome-appropriate natural resources based on Ground Zero. - [x] Add water source. - [x] Replace grey-box environment presentation with an MVP natural environment pass: terrain material, grass, shrubs, bushes, trees, water-source visuals, and clearer Ground Zero biome dressing. Added repeatable Ground Zero environment material generation, applied terrain/foliage/resource/water materials in the map setup, regenerated the demo map, documented the pass, and added verification for material assets plus map assignments. - [x] Add first-pass environment asset variation so trees, bushes, grass, resource nodes, and water do not read as repeated placeholders. Added repeatable labeled variation actors for tree canopies/trunks, rounded bushes, grass mats, rock slabs, and a freshwater surface using multiple prototype mesh silhouettes, unique scales, rotations, and Ground Zero material families; extended the natural-environment verifier to require variation coverage. - [x] Replace `LevelPrototyping` cube/cylinder mesh dependencies in Agrarian setup scripts and prototype Blueprints with Agrarian-native placeholder environment meshes. Added repeatable Agrarian-native placeholder mesh assets under `/Game/Agrarian/Environment/PlaceholderMeshes`, updated playable Blueprint and Ground Zero setup scripts to use those native paths, regenerated affected Blueprints/map content, and added verification that Blueprint, foliage, and variation meshes no longer point at template mesh paths. - [x] Add weather exposure zones if needed. Added native `AAgrarianWeatherExposureZone` volumes with exposure multipliers and temperature offsets, wired survival to apply the strongest overlapping zone after shelter protection, exposed current zone effects on the dev HUD, placed three Ground Zero zones for ridge, coastal-wind, and drainage cooling cases, and added verification for zone placement plus docs. - [x] Add landmark or ruin placeholder. Added a repeatable five-piece Ground Zero ruin cluster using Agrarian-native placeholder stone meshes for a visible MVP point of interest, regenerated the map, documented the pass, and added verification for actor count, native mesh paths, stone material assignment, distinct placement, and roadmap/doc coverage. - [x] Add spawn area with validation that the player spawns above sea level, above terrain by a safe offset, away from water, away from steep slopes, away from dense resource clusters, and with a known safe fallback coordinate. Added safe spawn candidate/fallback selection to the Ground Zero setup script, validates elevation, slope, above-terrain Z offset, freshwater spacing, and resource-cluster spacing before map save, places `AGR_DemoPlayerStart` at the known safe fallback coordinate, and added verification so future terrain/resource/water changes cannot silently invalidate the spawn area. - [x] Add performance profiling markers. Added `STATGROUP_Agrarian` cycle stats and Unreal Insights CPU scopes for authoritative game-state time/weather ticking, survival ticking, sky-light refresh, weather-audio refresh, foliage instance mutation, and weather-provider request/parse/fallback work. - [x] Add navigation support for wildlife. Wildlife now auto-possesses an AI controller, samples reachable wander points, projects chase/flee targets onto navmesh, requests server-authoritative AI movement when nav data exists, and retains direct movement fallback for early maps without nav data. - [x] Add map boundaries or soft limits. Added native `AAgrarianMapBoundaryVolume`, placed `AGR_GroundZeroMapBoundary` around the loaded 1 km Ground Zero tile, clamps server-authoritative player pawns back inside the tile with padding, and exposes a warning-zone hook for later UI. - [x] Add developer travel command. Added server-authoritative `AgrarianTravel X Y Z` and `AgrarianTravelHome` exec commands on the Agrarian player controller, teleports the controlled pawn to explicit coordinates or the validated Ground Zero safe-spawn fallback, stops active movement after travel, and verifies the command wiring. ## 0.1.E Inventory System - [x] Design inventory data model. Added `Docs/InventoryDataModel.md` to lock the MVP contract for stable item definitions, runtime/save-game item stacks, server-authoritative replicated inventory components, persistence, carry weight, and the pickup/drop/split/use/equipment/UI operations that will build on the existing code. - [x] Create item definition data asset. - [x] Create item stack structure. - [x] Create inventory component. - [x] Add item pickup. Added native `AAgrarianItemPickup` interactable world actor with definition-backed or inline stack data, server-authoritative inventory add, prompt text, and destroy-on-success behavior so failed pickups remain available. - [x] Add item drop. Added server-authoritative `AgrarianDropItem ItemId Quantity`, inventory stack extraction that preserves dropped stack metadata, pickup spawning in front of the player, and restore-on-spawn-failure handling. - [x] Add stack splitting. Added server-authoritative `SplitStackByIndex`/`AgrarianSplitStack StackIndex SplitQuantity` support that validates source slot, quantity, and free slot capacity, preserves stack metadata, creates a separate stack slot, and avoids immediate re-merge. - [x] Add item use. Added server-authoritative `AgrarianUseItem ItemId Quantity` support for MVP consumables, with food hunger recovery, raw meat hunger recovery plus sickness risk, bandage injury treatment, and restore-on-unsupported-item behavior. - [x] Add equipment slots if needed. Decision complete for MVP: dedicated equipment slots are deferred because current tools do not yet drive equipped state; tools remain inventory items until active hand, worn, backpack, armor, weapon, durability, animation, or mesh-attachment rules require replicated and persisted slot state. - [x] Add weight or carry capacity placeholder. Locked MVP carry capacity to stack `UnitWeight`, inventory `GetTotalWeight`, character comfort/heavy carry thresholds, strength-scaled movement penalties, and a debug HUD carried weight readout. Later volume, backpack, awkward-object, and hard overload rules should extend this hook. - [x] Add inventory UI. Added a compact MVP HUD inventory panel that is separate from the full developer HUD and shows occupied slots, total carried weight, and visible item stacks from the replicated inventory component. - [x] Add replication for inventory changes. - [x] Add persistence for inventory. Player save data stores `FAgrarianSavedPlayer::Inventory`, capture writes the inventory component's stack array, restore now goes through `RestoreSavedItems`, and inventory UI listeners are notified after load. - [x] Add debug item spawn command. ## 0.1.F Gathering And Resources - [x] Create resource node base class. - [x] Add wood resource. - [x] Add stone resource. Stone is defined as `DA_Item_Stone`, exposed through `BP_StoneResourceNode`, placed in the Ground Zero resource pass, and covered by focused stone-resource verification. - [x] Add fiber resource. - [x] Add edible plant resource. Added `BP_EdiblePlantResourceNode` as a gatherable food-yield node, placed deterministic Ground Zero forage nodes, and extended resource verification to cover edible plant harvest sources. - [x] Add water gathering interaction. Confirmed `BP_FreshWaterSource` uses the shared interactable path, restores thirst through the replicated survival component on server authority, is placed in Ground Zero, and is covered by water-source and interaction verifiers. - [x] Add resource depletion. - [x] Add respawn rules for MVP. Added configurable resource-node respawn fields and timer logic: renewable surface resources respawn after MVP delays, while stone remains nonrenewable for the first survival loop. - [x] Add tool requirement rules. Added inventory-based resource tool rules: current MVP nodes preserve bare-hand gathering, while a basic tool in inventory improves yields for wood, fiber, and stone. - [x] Add bare-hand gathering fallback. - [x] Add resource node persistence. Added save records for existing map/tile resource nodes keyed by stable node IDs, persistence capture/restore paths, and Ground Zero placement support so only loaded tiles with actual resource nodes contribute depletion state. - [x] Add replicated gathering feedback. ## 0.1.G Primitive Crafting - [x] Design recipe data model. - [x] Create recipe data assets. - [x] Implement recipe validation. - [x] Implement crafting queue or instant crafting. - [x] Add primitive tool recipe. - [x] Add campfire recipe. - [x] Add shelter recipe. - [x] Add recipes or gather paths for primitive shelter structure parts. - [x] Add simple container recipe. Added `simple_container` item and recipe data assets, using wood, fiber, and hide as MVP ingredients for later placed-storage/container systems. - [x] Add bandage or basic treatment recipe. - [x] Add crafting UI. Added a compact crafting HUD panel that lists known MVP recipes, shows current ingredient counts, highlights craftable rows, and preloads the Agrarian player Blueprint with primitive recipe assets. - [x] Add multiplayer authority checks. - [x] Add crafting debug tools. Added `AgrarianCraftStatus` and `AgrarianCraft ` exec commands for listing known recipes, inspecting craftability, and triggering server-authoritative craft requests during smoke tests and demo rehearsal. ## 0.1.H Fire System - [x] Create fire actor. - [x] Add fuel amount. - [x] Add ignition interaction. - [x] Add extinguish logic. Added native campfire extinguish support that clears fuel, turns off replicated lit state, and reuses the fire visual update path used by natural fuel depletion. - [x] Add warmth radius. - [x] Add light source. - [x] Add cooking placeholder if needed. Added replicated campfire cooking placeholder state, a native cookability check, and progress ratio helpers so later recipe UI and food systems have a stable hook. - [x] Add smoke/visual effect placeholder. Added a native campfire smoke particle component placeholder that activates and hides with replicated fire state, leaving final visual assets assignable later. - [x] Add replication. - [x] Add persistence. Added campfire persistent actor support for transform, lit state, fuel seconds, and cooking placeholder progress using the shared world-actor persistence path. - [x] Connect fire to body temperature. - [x] Connect rain/weather to fire behavior. Campfires now read replicated game-state weather, burn fuel faster in rain and storms, and deterministically extinguish when wet weather pushes remaining fuel below the low-fuel threshold. ## 0.1.I Shelter Building - [x] Decide MVP building style. MVP shelter building uses a crafted-kit style: players gather natural materials, craft primitive frame/wall/roof panel parts, combine them into one placeable primitive shelter, and place that shelter through the server-authoritative placement component. Fully modular wall-by-wall building stays deferred to `0.2.E Permanent Structures`. - [x] Create build placement mode. - [x] Add ghost preview. The building placement component now exposes preview validity/transform state and draws an assetless green/red wireframe ghost footprint at the snapped placement location for MVP development builds. - [x] Add placement validation. - [x] Add basic shelter piece. - [x] Add wall piece if needed. For the kit-based MVP style, the wall piece is the craftable `primitive_wall_panel` inventory construction part consumed by the primitive shelter recipe; separately placeable modular walls remain deferred to `0.2.E Permanent Structures`. - [x] Add roof piece if needed. For the kit-based MVP style, the roof piece is the craftable `primitive_roof_panel` inventory construction part consumed by the primitive shelter recipe; separately placeable modular roofs remain deferred to `0.2.E Permanent Structures`. - [x] Add door/opening if needed. MVP primitive shelters use an open entrance with no interactive door; door actors, locks, permissions, and modular openings remain deferred to `0.2.E Permanent Structures`. - [x] Add resource cost validation. - [x] Add construction interaction. - [x] Add shelter protection volume. - [x] Add shelter persistence. - [x] Add shelter replication. - [x] Add deconstruction or damage placeholder. Primitive shelters now have replicated structure health, authority-only damage/repair/deconstruct hooks, TakeDamage integration, depletion destroy behavior, and save/load support for current/max structure health. ## 0.1.J Injury And Basic Survival Consequences - [x] Add generic injury state. - [x] Add bleeding placeholder. Survival now tracks replicated `BleedingSeverity`, applies lightweight health/exhaustion pressure while bleeding, adds bleeding from generic injuries, exposes add/reduce hooks, and shows bleeding in debug HUD and console survival output. - [x] Add sprain or movement penalty placeholder. Survival now tracks replicated `SprainSeverity`, generic injuries can seed sprain severity, active sprains add light exhaustion pressure, movement speed includes an explicit sprain multiplier, and debug HUD/console output display sprain state. - [x] Add cold exposure damage. - [x] Add starvation damage. - [x] Add dehydration damage. - [x] Add treatment item. The existing craftable `bandage` medicine item is now the MVP treatment item: item use reduces injury, bleeding, and sprain severity with a small health bump, using the existing server-authoritative `AgrarianUseItem` path. - [x] Add death state. Survival now has replicated `bIsDead` and `LastDeathReason` state, health depletion latches death, ordinary healing cannot revive a dead character, `Revive` provides an explicit respawn/admin hook, and debug HUD/console survival output show alive/dead state. - [x] Add respawn rules for MVP. Added server-authoritative `AgrarianRespawn`, available only after death, that returns the character to 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. - [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. - [x] Add replicated death feedback. Survival now exposes `OnDeathStateChanged` for UI/audio/animation hooks when replicated alive/dead state or death reason changes, and the debug HUD shows the replicated death reason while dead. ## 0.1.K Wildlife Prototype - [x] Choose MVP wildlife species. - [x] Create wildlife base pawn. - [x] Add simple AI wander. - [x] Add flee behavior. - [x] Add aggression behavior if needed. - [x] Add health. - [x] Add damage. - [x] Add harvesting interaction. - [x] Add meat/hide resources. - [x] Add spawn manager. Added a replicated, server-authoritative wildlife spawn manager actor with configurable wildlife class, initial spawn count, max active population, spawn radius, respawn interval, and optional navigation projection for MVP wildlife population control. - [x] Add replication. - [x] Add performance limits. Wildlife now has MVP server-side performance throttling: nearby wildlife updates normally, far wildlife batches server thinking on a slower interval, dead wildlife stops ticking, and spawn-manager max active population remains the first population cap. ## 0.1.L Basic Multiplayer - [x] Confirm listen server vs dedicated server for MVP. Decision: listen server is acceptable for quick internal testing, but dedicated server is the preferred closed-test target. - [x] Create dedicated server build target if needed. Confirmed the `AgrarianGameServer` Linux server target and Windows cross-compile package script already exist, then added a reusable Ubuntu gameplay-server bootstrap script and standardized the MVP endpoint as `play.agrariangame.com` on `7777/udp`. - [x] Add server travel flow. Added an allowlisted `AgrarianServerTravel GroundZero` admin/dev command that routes through server authority and travels to `/Game/Agrarian/Maps/L_GroundZeroTerrain_Test?listen` for repeatable MVP listen-server and dedicated-server tests. - [x] Define server authority over streamed terrain tiles. - [x] Define server response when a client requests a missing tile. - [x] Add player join flow. - [x] Add player spawn flow. - [x] Add replicated player stats. - [x] Add replicated inventory. - [x] Add replicated world time. - [x] Add replicated weather. - [x] Add replicated resource nodes. - [x] Add replicated build pieces. - [x] Add network relevancy rules. Added explicit MVP net cull distances for pickups, resources, campfires, shelters, wildlife, water sources, weather exposure zones, and wildlife spawn managers, with the matching relevancy strategy documented for Ground Zero multiplayer tests. - [x] Add basic latency testing. Added an MVP latency test plan with clean LAN, mild WAN, and rough WAN Unreal packet-simulation profiles plus a Windows helper script for the test console commands. - [x] Add disconnect/reconnect handling. Added MVP player reconnect snapshots: logout saves transform, survival, care history, and inventory for the player, and restart/spawn restores the matching snapshot when the same player returns. ## 0.1.M Persistence MVP - [x] Decide MVP persistence scope. - [x] Decide what tile metadata is stored in save data vs external tile registry. - [x] Save player identity. Player save records now keep a backwards-compatible `PlayerId` plus `FAgrarianSavedPlayerIdentity`, prefer a valid `APlayerState` network ID when available, and retain safe display/pawn metadata without storing credentials. - [x] Save player stats. Player save records capture `FAgrarianSavedPlayer::Survival`, including health, stamina, exhaustion, hunger, thirst, body temperature, injury, bleeding, sprain, sickness, death state, and death reason, then restore through `ApplySavedState`. - [x] Save long-term character care history placeholders without applying aging gameplay yet. Player saves now persist `FAgrarianSavedPlayer::CareHistory` for nutrition, illness, injury, sleep, shelter, stress, workload, and treatment quality placeholders, while aging/generational effects remain deferred. - [x] Save player inventory. Player saves already persist `FAgrarianSavedPlayer::Inventory` from `UAgrarianInventoryComponent::Items` and restore through `RestoreSavedItems`, so inventory listeners and derived carry weight refresh after load. - [x] Save placed structures. - [x] Save resource depletion state if needed. Active loaded resource nodes persist stable `ResourceNodeId`, remaining harvest count, and MVP respawn flag through `FAgrarianSavedResourceNode`, then restore depletion to matching map-authored nodes on load. - [x] Save world time. World saves persist `UAgrarianSaveGame::WorldHours` from `AAgrarianGameState::WorldHours` and restore it on server authority during world load. - [x] Save weather seed/state. World saves persist fallback `UAgrarianSaveGame::Weather`, provider `WeatherInputs`, and `WeatherDebug`, then restore mapped provider inputs when present or the saved enum weather otherwise. - [x] Save containers. The save schema now reserves `FAgrarianSavedContainer` records with stable container ID, type, transform, item stacks, and owner player ID; 0.1.M has no placed container actor yet, so the current craftable `simple_container` remains covered by player inventory persistence until placed containers arrive. - [x] Add server-side save interval. `AAgrarianGameGameMode` now starts an authoritative repeating autosave timer from `ServerAutoSaveIntervalSeconds` and calls `SaveCurrentWorld`, with `0` disabling the MVP timer. - [x] Add manual admin save command. - [x] Add load-on-server-start. `AAgrarianGameGameMode` now registers MVP persistent actor classes and, when `bLoadWorldOnServerStart` is enabled, loads the current world on authoritative `BeginPlay` if a save exists. - [x] Add initial tile registry persistence for Ground Zero. Saves now include `FAgrarianSavedTileRegistryState` with the active Ground Zero tile ID, registry path, schema version, generation version, and package version while keeping the authoritative registry in `Data/Tiles/ground_zero_tiles.json`. - [x] Add backup-before-save option. `UAgrarianPersistenceSubsystem` now has `bBackupBeforeSave` enabled by default; before overwriting an existing slot, `WriteSave` copies the current `.sav` into `Saved/SaveGames/Backups` with a UTC timestamp. - [x] Add recovery plan for corrupted save. Added `Docs/Ops/PersistenceSaveRecoveryPlan.md` covering suspect-save symptoms, backup restore steps, failed-backup fallback, and current MVP limitations. - [x] Document persistence limitations. Added an MVP limitations section to `Docs/PersistenceDesignDocument.md` covering file-based saves, missing database/account binding, migration limits, corrupted-save validation, container actor capture, offline simulation, cross-server persistence, external backup replication, UI, and pre-MVP save compatibility. ## 0.1.N MVP UI And UX - [x] Add main menu placeholder. Added native `UAgrarianMvpFrontendWidget` with a scalable painted main menu panel and local player-controller spawning so the MVP frontend has an owned placeholder instead of relying on template UI. - [x] After splash/startup screens, land on an MVP character selection landing page. The local player controller now opens the MVP frontend on `CharacterSelection`, and the native frontend widget paints a scalable character-selection landing page before gameplay. - [x] Let players choose a realistic young adult male or female character with average proportions for the MVP. Added a selectable MVP character archetype enum, visible selected state, keyboard selection, and `AgrarianSelectCharacter male|female` dev command while keeping both choices on the same MVP survival baseline until real character art arrives. - [x] Add join server screen. Added a native `JoinServer` frontend screen showing the selected character and `play.agrariangame.com:7777`, with keyboard flow from character selection and a dev command to display the screen directly. - [x] Add loading screen. Added a native `Loading` frontend screen with Ground Zero preparation copy, selected character/server context, a deterministic placeholder progress bar, and join-screen keyboard flow into loading. - [x] Add HUD. Completed the MVP HUD pass with a separate `bShowMvpHudFrame` top status frame showing Ground Zero context, alive/dead state, health, food, water, and body temperature, while keeping the deeper developer overlay separately toggleable. - [x] Add inventory UI. Promoted the existing compact replicated-inventory HUD panel into the 0.1.N UI pass with `AgrarianToggleInventoryUI`, keeping the MVP inventory surface lightweight while full drag/drop inventory remains later work. - [x] Add crafting UI. Promoted the existing compact crafting HUD panel into the 0.1.N UI pass with `AgrarianToggleCraftingUI`, showing known recipes and ingredient readiness while keeping full crafting menus for later UX expansion. - [x] Add interaction prompts. Promoted the existing centered interactable prompt renderer into the 0.1.N UI pass with `AgrarianToggleInteractionPrompts`, keeping prompt text driven by focused interactables. - [x] Add death/respawn UI. Added a dedicated dead-state MVP panel with last death reason, Ground Zero respawn context, and `AgrarianToggleDeathRespawnUI` while preserving the existing server-authoritative respawn command. - [x] Add debug/dev menu. Added a toggleable `bShowDebugDevMenu` HUD panel plus `AgrarianToggleDebugDevMenu`, listing the core MVP frontend, UI, persistence, and recovery commands for tester/admin use. - [x] Add accessibility basics. Added runtime MVP UI scaling with `AgrarianSetUiScale 0.75-1.5` and a frontend high-contrast mode with `AgrarianToggleHighContrastUI`, applying scale to the native frontend and HUD text surfaces. - [x] Ensure UI scales on common resolutions. Tightened native MVP frontend sizing around explicit margins, preferred panel dimensions, minimum panel bounds, and verified the layout math across common desktop resolutions and supported UI scale values. ## 0.1.O Investor Visual MVP And Menu Polish - [x] Reclassify the current investor demo as systems-first, not investor visual MVP, until the visual/menu quality gate below is complete. Added an explicit investor-demo status document, legal notice wording, startup notice wording, packaged README classification, and verification so the current demo is presented as a systems-first investor prototype until 0.1.O visual/menu gates are actually complete. - [x] Replace the native painted MVP frontend with a proper UMG menu flow using real button widgets, hover/pressed states, keyboard/controller focus, mouse click targets, and predictable back/escape behavior. Converted the MVP frontend to a WidgetTree-built UMG flow with UButton/UTextBlock controls, hover/pressed button styling, focusable primary actions, mouse-click character selection, back handling, and save/quit actions while preserving the existing player-controller API. - [x] Make startup credits, character selection, server/join, loading, pause, save, and quit feel like separate intentional segments, with no impression that gameplay has started underneath the UI. Switched startup/menu control to UI-only input, added explicit segment labels for character selection, server join, loading, pause, and saving, and made Save & Quit transition through a dedicated saving screen before issuing save/quit. - [x] Add a visually verified packaged-client startup test using Sunshine/Moonlight or another real GPU desktop capture path, because QEMU guest-agent screenshots cannot validate the interactive rendered desktop. Added a packaged-client GPU startup visual test runbook, a Windows helper that checks the packaged demo and Sunshine service before capture, and verifier coverage requiring Moonlight/Sunshine evidence instead of QEMU guest-agent screenshots. - [x] Add first realistic playable character proxies for the selected young adult male and female archetypes, replacing the default mannequin/dummy presentation for investor builds. Added selected male/female MVP proxy application to the player controller, workwear material generation, cook coverage for Agrarian character assets, documentation, and verification so the menu-selected archetype changes the possessed pawn instead of leaving one default dummy presentation. - [x] Replace box/sphere/cylinder survival objects with readable MVP meshes for campfires, primitive shelter pieces, resource pickups, water sources, wildlife, and gathered items. Added composed native proxy visuals for campfires, primitive shelters, pickups, resource nodes, water sources, and wildlife using cooked Agrarian placeholder mesh assets plus Ground Zero materials, with child visuals set to no collision so gameplay behavior remains unchanged while investor builds read as intentional objects instead of primitive debug shapes. - [x] Replace the placeholder Ground Zero environment presentation with investor-facing biome dressing: believable terrain material, grass, brush, shrubs, bushes, trees, rocks, water visuals, and local coastal-scrub color variation. Upgraded the repeatable Ground Zero setup to require denser investor-facing foliage counts and twenty-three labeled variation actors covering trees, brush, shrubs, dry grass mats, rock slabs, water-bank pieces, reeds, and freshwater surface material variation, then extended the verifier/docs so the map no longer qualifies if the visual dressing falls back to sparse placeholder presentation. - [x] Add a real water-source visual pass with surface material, edge treatment, scale, and placement that reads as collectable freshwater instead of a placeholder plane. Formalized the MVP freshwater presentation around the native `AAgrarianWaterSource` water-surface, stone-bank, and collect-marker proxies, documented the Ground Zero drainage-candidate placement and nearby water-bank/reed dressing, and added an Unreal verifier that checks surface material, edge treatment, scale, placement, and nearby dressing actors in the actual map. - [x] Add density and sightline tuning so grasses, shrubs, trees, and resource clusters are visible enough to sell the world without hiding gameplay-critical objects. Added protected foliage clearances around early survival targets and biome resource nodes, sampled first-look sightline corridors from the player start to wood, fiber, campfire, shelter, wildlife, and freshwater, plus a dedicated Unreal verifier/documentation gate so investor-facing density cannot regress into object-hiding clutter. - [x] Preserve realism as the target: use assets, materials, lighting, and environmental dressing that can survive toward MVP production rather than cosmetic throwaways where practical. Added MVP realism target rules to the shared art/UX/code/asset standards, tied current 0.1.O visual passes to production-directed proxy expectations, and added a verifier that requires Ground Zero materials, water, density/sightline, character, and survival-object docs to point toward production realism instead of cosmetic throwaways. - [x] Define default, recommended, and cinematic investor rendering presets, with ray tracing available only as an optional high-end/cinematic mode and never required for baseline visual credibility. Added `Config/AgrarianRenderingPresets.ini`, `Docs/Rendering/InvestorRenderingPresets.md`, and a verifier that requires Default and Recommended to remain non-ray-traced while Cinematic is the only optional high-end ray-tracing profile. - [x] Verify the non-ray-traced compatibility/default path still looks credible on common investor, tester, and remote-session hardware. Added a dedicated non-ray-traced default verifier that checks Default and Recommended disable `r.RayTracing`, `r.Lumen.HardwareRayTracing`, and `r.PathTracing`, keeps Cinematic as the only optional ray-tracing profile, and documents that packaged investor demos should launch on Default unless another profile is explicitly selected. - [x] Add packaged-demo visual QA screenshots or short clips for startup credits, character selection, first spawn, terrain, vegetation, water, campfire, shelter, pause menu, and save/quit before each investor build is called ready. Added a full investor-demo visual QA evidence runbook, Windows helper, startup capture expansion, and verifier requiring Sunshine/Moonlight or equivalent real-GPU captures for startup credits, character selection, first spawn, terrain, vegetation, water, campfire, shelter, pause, and save/quit before a packaged build is called investor-ready. - [x] Add an investor-demo acceptance gate: no current build should be described as investor visual MVP if menus are confusing, character art is mannequin-only, terrain is flat/tan, foliage is absent or unreadable, or core objects still read as primitive debug shapes. Added an investor-demo acceptance gate document, updated demo status wording, and added verification that hard-fail conditions cover confusing menus, mannequin-only characters, flat/tan terrain, absent/unreadable foliage, unreadable water, primitive debug objects, non-ray-traced default credibility, and missing visual QA evidence. ## 0.1.P MVP Audio And Atmosphere - [x] Add ambient biome audio. Extended the placed `AAgrarianWeatherAudioController` so its ambient component explicitly owns a Ground Zero coastal-scrub biome loop slot with separate day/night volume targets, keeping the current MVP silent until placeholder or final audio assets are assigned while giving the map a real ambient audio attachment point. - [x] Add footstep placeholders. Added native player-character footstep hooks with assignable walk, sprint, crouch, and prone sound slots plus movement-state cadence, keeping the MVP silent until placeholder or final surface-aware audio assets are assigned. - [x] Add gathering sounds. Added spatialized resource-node gathering audio hooks with assignable normal/depleted gathering cues and a server-authoritative multicast trigger after successful harvests, keeping multiplayer clients aligned while remaining silent until audio assets are assigned. - [x] Add fire sounds. Added campfire loop, ignition, and extinguish audio hooks with spatialized components, replicated lit-state loop control, and server-triggered multicast event cues so fire audio follows the authoritative campfire state once assets are assigned. - [x] Add unattended and poorly maintained fire risk for campfires and other open-flame sources. Added server-side campfire risk state for lit duration, seconds since maintenance, cleared area, containment, high fuel, wet weather mitigation, and a replicated `FireRiskScore` that later ignition/spread systems can consume. - [x] Add grass and forest ignition checks from irresponsible fire placement, wind/weather, dry fuel, nearby vegetation, and burn duration. Added foliage fuel counting, campfire vegetation ignition risk scores, grass/brush and forest ignition flags, and weather/wind/burn-duration modifiers so unsafe fire placement near dry fuel can now become a server-authoritative ignition risk. - [x] Add shelter/structure ignition risk when fires are placed too close to primitive shelters, wood piles, flammable crafting stations, or settlement objects. Added campfire structure ignition risk for nearby primitive shelters and flammable wood/fiber resource nodes, with containment, burn-duration, weather/wind, and fire-risk modifiers before a replicated structure ignition flag is set. - [x] Add server-authoritative fire spread rules for grass, brush, trees, shelters, and other burnable actors, including fuel, distance, wind, weather, and suppression hooks. Added replicated grass, forest, and structure fire intensities plus active spread radius that grow only on the server from nearby fuel, ignition distance, wind/weather, and a suppression-pressure hook for later rain, carried water, dirt/sand, firebreaks, and tools. - [x] Add fire maintenance gameplay so watched, cleared, contained, or extinguished fires are safe, while neglected fires can become dangerous. Updated lit campfire interaction to maintain the fire, added watch, clear-area, and contain-fire hooks, and made maintenance reduce campfire, vegetation, forest, and structure ignition risks while extinguishing resets active risk state. - [x] Add fire suppression hooks for rain, water carrying, dirt/sand, cleared firebreaks, and future firefighting tools. Added shared server-side suppression hooks plus water, dirt/sand, firebreak, and tool wrappers that raise suppression pressure, reduce ignition risks, reduce active fire intensity, shrink spread radius, and let rain/water drain fuel. - [x] Persist active grass, forest, and structure fires across save/load without corrupting world state. Extended campfire persistence coverage for ignition flags, ignition risk scores, active grass/forest/structure fire intensities, spread radius, and suppression pressure so save/load recovery preserves active and partially suppressed fire state. - [x] Add QA coverage for safe campfires, unsafe campfires, vegetation spread, shelter ignition, suppression, and save/load recovery. Added a fire-risk QA coverage document and verifier requiring safe/unsafe campfire, vegetation spread, shelter ignition, suppression, and save/load recovery scenarios plus the supporting fire-risk verification scripts. - [x] Add weather sounds. Formalized the existing placed weather audio controller as the MVP weather-sound path, documenting rain, wind, storm, clear ambient, and biome loop slots plus verification that weather playback follows replicated weather state, provider wind speed, and day/night state while remaining silent until assets are assigned. - [x] Add wildlife sounds. Added spatialized wildlife audio hooks with assignable idle, flee/chase, death, and harvest sound slots plus server-triggered multicast playback from authoritative wildlife state changes and harvest events. - [x] Add UI sounds. Added optional 2D confirm, back, selection, and save/quit sound hooks to the MVP frontend widget, with keyboard and mouse actions sharing the same feedback path while remaining silent until UI audio assets are assigned. - [x] Add mix settings. Added MVP audio mix settings for master, ambient, weather, foley, fire, wildlife, and UI buses with conservative investor-build defaults and documentation for future SoundClass/MetaSound replacement. - [x] Add volume sliders. Added MVP frontend volume sliders for master, ambient, weather, effects, wildlife, and UI levels, with runtime value storage and immediate UI-volume application to frontend feedback sounds while leaving final SoundClass binding for authored audio assets. ## 0.1.Q MVP QA Gates - [x] Can launch packaged client. Added an MVP QA gate that requires the Windows package script, packaged executable, installed investor launchers, and the real-GPU visual QA readiness check before the client launch gate qualifies. - [x] Can launch server. Added an MVP QA gate for the Linux gameplay host requiring the true dedicated build path or current binary-engine fallback, deployment to `/opt/agrarian/server`, `agrarian-game-server.service` active state, UDP `7777` listener evidence, and Ground Zero map browse evidence. - [x] Can connect two clients. Added a two-client connection QA gate and Windows helper that checks the packaged client, launches two client instances against the same `play.agrariangame.com:7777` or LAN endpoint, and ties the manual observation steps to the multiplayer latency smoke plan. - [x] Can gather resources. Added a resource gathering QA gate tied to Ground Zero wood/fiber nodes, server-authoritative resource interaction, replicated harvest depletion, inventory grants, resource persistence coverage, and the natural shelter playable-loop smoke test. - [x] Can craft a fire. Added a craft-fire QA gate tied to `DA_Recipe_Campfire`, the player recipe setup, `BP_Campfire`, replicated campfire lit/fuel state, fire interaction prompts, campfire persistence, and fire-risk QA coverage. - [x] Can craft a shelter. Added a craft-shelter QA gate tied to primitive frame/wall/roof/shelter recipes, native build placement, `BP_PrimitiveShelter`, shelter persistence/protection hooks, and the natural shelter playable-loop smoke test. - [x] Can survive one full day/night cycle. Added a full day/night survival QA gate tied to the `4 real hours = 1 in-game day` calendar, replicated world time and solar phase, authoritative hunger/thirst/stamina/body-temperature/health pressure, fire and shelter mitigation, critical survival HUD visibility, and save/load persistence coverage before investor demos treat the gate as play-proven. - [x] Can die from survival pressure. Added a survival-pressure death QA gate requiring starvation, dehydration, cold exposure, sickness, and bleeding to reduce health on server authority, trigger `UpdateDeathState`, replicate `bIsDead` and `LastDeathReason`, show death/respawn UI feedback, support server respawn, and remain covered by player stat persistence. - [x] Can reconnect and retain state. Added a reconnect state-retention QA gate tied to logout/restart player snapshots, safe player identity, transform, survival, care history, inventory restore, normal-spawn fallback behavior, and the two-client manual reconnect evidence path. - [x] Can restart server and retain placed shelter. Added a server-restart shelter persistence QA gate tied to `primitive_shelter` persistent actor state, world actor save/load, game-mode class registration, load-on-server-start behavior, shelter weather protection, and a release smoke requirement to place, save, restart, and confirm the shelter transform remains. - [x] No critical log spam during 30-minute test. Added a 30-minute critical log soak QA gate plus `scan_critical_log_spam.py` so client/server/release logs can be checked for fatal, crash, assertion, ensure, access-violation, callstack, and critical-error spam before a milestone package is treated as investor-stable. - [x] Clean up Unreal API deprecation warnings from packaged builds, starting with direct `NetCullDistanceSquared` access on replicated world actors before future Unreal upgrades turn the warning into a compile blocker. Replaced direct `NetCullDistanceSquared = FMath::Square(...)` assignments with `SetNetCullDistanceSquared(FMath::Square(...))` on item pickups, resource nodes, campfires, shelters, wildlife, water sources, weather exposure zones, and wildlife spawn managers, then added verifier coverage to prevent the deprecated assignment style from returning. - [x] Server remains stable with target test player count. Added a target player count server-stability QA gate using the MVP audience definition: 2-player minimum proof, 4-player closed-test smoke target, and 8-player stretch test only after the server path is stable, with evidence tied to server launch, two-client connection, reconnect retention, critical log scanning, active service state, and UDP `7777` listener checks. ## 0.1.R Knowledge And Skill Foundation - [x] Define the MVP separation between knowledge, practical experience, physical stats, tools, and infrastructure. Added `Docs/KnowledgeAndSkillFoundation.md` with a five-part MVP model separating knowledge, practical experience, physical stats, tools, and infrastructure so basic survival remains possible but outcomes improve through understanding, practice, equipment, and durable world improvements. - [x] Add a first-pass skill taxonomy for survival, gathering, tool use, crafting, fire, shelter, navigation, first aid, food safety, and weather awareness. Added the first MVP taxonomy to `Docs/KnowledgeAndSkillFoundation.md`, covering survival, gathering, tool use, crafting, fire, shelter, navigation, first aid, food safety, and weather awareness as non-lockout skill domains that modify risk, quality, speed, yield, readability, and confidence. - [x] Define how knowledge affects survival actions: fewer mistakes, safer attempts, better yields, lower injury risk, and more reliable outcomes. Added the knowledge action-effects model to `Docs/KnowledgeAndSkillFoundation.md`, defining how knowledge changes warnings, failed-action reasons, safety, yield/waste, injury risk, and outcome reliability without silently guaranteeing success or replacing practical experience. - [x] Define how practical experience grows through use, repetition, mistakes, and recovery from failure. Added practical experience growth rules to `Docs/KnowledgeAndSkillFoundation.md`, defining gain from meaningful use, diminishing returns for rote repetition, learning from readable mistakes, and extra credit for recovering well from failure. - [x] Add first contextual learning prompts for fire safety, potable water, exposure, shelter placement, injury care, and resource identification. Added first contextual prompt specs to `Docs/KnowledgeAndSkillFoundation.md` for fire safety, potable water, exposure, shelter placement, injury care, and resource identification, with trigger examples, prompt intent, sample wording, and the rule that prompts explain immediate risk without pausing the game or forcing a quiz. - [x] Design optional knowledge checks that appear when relevant to the action instead of interrupting basic play. Added optional knowledge-check rules to `Docs/KnowledgeAndSkillFoundation.md`, defining inline/skippable presentation, action-relevant timing, calm review moments, non-punitive wrong answers, and the rule that checks deepen understanding without gating the first survival loop. - [ ] Add player-facing feedback that explains why an action failed or produced poor results. - [ ] Define accessibility rules for the learning system: hints, retries, readable wording, no hard lockout from basic survival, and non-punitive practice paths. - [ ] Define the first subject content format: topic, concepts, difficulty tier, prerequisite concepts, in-game effect, practice action, and source note. - [ ] Add a small MVP question bank for elementary survival knowledge. - [ ] Define when deeper questions should matter: quality improvements, safer work, complex crafting, teaching others, and advanced branches. - [ ] Add design notes for avoiding exploit farming and rote memorization. - [ ] Add persistence requirements for knowledge, skill experience, learned concepts, failed attempts, and tutorial state. - [ ] Add multiplayer rules for teaching, observation, shared work, and group skill benefits. --- # Version 0.2 - Persistent Homesteading Goal: Transition from temporary survival into lasting settlement and land stewardship. ## 0.2.A Land And Claiming - [ ] Design land claim philosophy. - [ ] Define claim size limits. - [ ] Define claim cost or effort. - [ ] Implement claim marker. - [ ] Implement claim ownership. - [ ] Implement claim permissions. - [ ] Add claim UI. - [ ] Add claim persistence. - [ ] Add claim conflict rules. - [ ] Add abandoned claim decay rules. ## 0.2.B Farming - [ ] Design soil model. - [ ] Add basic soil quality. - [ ] Add moisture. - [ ] Add crop data assets. - [ ] Add planting interaction. - [ ] Add growth stages. - [ ] Add watering or rainfall impact. - [ ] Add harvest interaction. - [ ] Add crop yield rules. - [ ] Add crop failure rules. - [ ] Add seed recovery. - [ ] Add crop persistence. - [ ] Add farming knowledge topics for soil texture, soil fertility, composting, crop rotation, planting depth, spacing, irrigation, frost risk, and harvest timing. - [ ] Add seed selection and plant breeding foundation concepts. - [ ] Add crop disease, pest pressure, and weed management knowledge hooks. - [ ] Add weather and seasonal planning effects on planting and yield reliability. ## 0.2.C Domestication - [ ] Choose first domestic animal. - [ ] Add taming concept. - [ ] Add feeding. - [ ] Add containment. - [ ] Add animal health. - [ ] Add breeding placeholder. - [ ] Add animal products. - [ ] Add ownership. - [ ] Add persistence. - [ ] Add animal handling knowledge for approach, containment, stress, feeding, hydration, shelter, and humane care. - [ ] Add livestock reproduction knowledge for breeding windows, gestation, offspring care, genetic traits, and recordkeeping. - [ ] Add animal disease, sanitation, quarantine, parasite, and nutrition knowledge hooks. ## 0.2.D Storage And Preservation - [ ] Add storage containers. - [ ] Add container permissions. - [ ] Add spoilage timer. - [ ] Add preserved food item. - [ ] Add drying/smoking/salting placeholder. - [ ] Add storage persistence. - [ ] Add storage UI. - [ ] Add food preservation knowledge for drying, smoking, salting, fermenting, canning later, cold storage, spoilage, pests, and contamination risk. - [ ] Add material storage knowledge for moisture, rot, rust, pests, fire risk, and inventory rotation. ## 0.2.E Permanent Structures - [ ] Expand building pieces. - [ ] Add foundation. - [ ] Add walls. - [ ] Add roof. - [ ] Add door. - [ ] Add basic furniture. - [ ] Add structure health. - [ ] Add repair. - [ ] Add decay rules. - [ ] Add permissions. - [ ] Add persistence optimizations. ## 0.2.F Simple Economy - [ ] Add barter container. - [ ] Add simple trade UI. - [ ] Add ownership transfer. - [ ] Add local price notes if needed. - [x] Add AGR placeholder integration planning. - [ ] Add transaction logging. - [ ] Add early business knowledge for bookkeeping, inventory, profit/loss, fair trade, basic credit, risk, and customer trust. - [ ] Add simple workshop/business ownership rules for homestead-scale production. ## 0.2.G Homesteading Knowledge Progression - [ ] Define early profession paths: farmer, herder, carpenter, mason, cook, medic, hunter, fisher, trapper, trader, and scout. - [ ] Add learning-by-doing bonuses for routine homestead work without letting repetition replace core understanding. - [ ] Add simple manuals, oral tips, and settlement notes as discoverable teaching objects. - [ ] Add household teaching rules for passing practical knowledge to family or trusted settlement members. - [ ] Define how poor knowledge creates believable outcomes: spoiled food, sick animals, failed crops, weak structures, wasted materials, and avoidable injury. - [ ] Define how good knowledge improves resilience without making nature instant or effortless. ## 0.2.H Household Task And Helper Foundations - [ ] Define the first household helper data model: identity, relationship to player, home location, needs, trust, simple role, allowed work radius, and safe storage access. - [ ] Add task reservation records for gather, haul, store, cook, tend fire, repair, watch, and rest so future NPCs do useful work without duplicating player actions. - [ ] Add safe-zone and danger-zone concepts for where family/helper characters may act without direct supervision. - [ ] Add server-authoritative household task selection using utility scores for hunger, thirst, fatigue, weather, danger, available tools, local resources, and household priorities. - [ ] Add simple helper work reports so players can see what was gathered, consumed, protected, repaired, or failed while they were away. - [ ] Add guardrails so helpers cannot create resources from nothing, bypass crafting costs, ignore carry limits, or operate outside reachable storage and terrain. --- # Version 0.3 - Social Civilization Systems Goal: Let player communities form organically through trade, trust, conflict, law, and local coordination. ## 0.3.A Identity And Reputation - [ ] Add player display identity. - [ ] Add household/family name placeholder. - [ ] Add reputation records. - [ ] Add local reputation display. - [ ] Add reputation event logging. - [ ] Add positive reputation events. - [ ] Add negative reputation events. - [ ] Add reputation decay or locality rules. ## 0.3.B Trade And Contracts - [ ] Design direct trade flow. - [ ] Add secure trade window. - [ ] Add barter offer records. - [ ] Add basic contract data model. - [ ] Add delivery contract. - [ ] Add labor contract. - [ ] Add rental contract placeholder. - [ ] Add contract completion rules. - [ ] Add dispute placeholder. ## 0.3.C Crime And Consequences - [ ] Define theft rules. - [ ] Define trespassing rules. - [ ] Define property damage rules. - [ ] Add crime event logs. - [ ] Add witness/local knowledge concept. - [ ] Add basic lock system. - [ ] Add punishment placeholder. - [ ] Add moderation/admin review tools. ## 0.3.D Local Governance - [ ] Add group/settlement entity. - [ ] Add membership. - [ ] Add roles. - [ ] Add permissions. - [ ] Add voting placeholder. - [ ] Add tax placeholder. - [ ] Add shared storage. - [ ] Add settlement notice board. ## 0.3.E Migration And Frontier - [ ] Design migration pressure model. - [ ] Add spawn region variation. - [ ] Add new frontier spawn logic. - [ ] Add abandoned settlement discovery. - [ ] Add map hints for settlement density. - [ ] Add travel risk/reward systems. ## 0.3.F Apprenticeships, Schools, And Local Expertise - [ ] Add apprenticeship agreements between players, families, guilds, or settlements. - [ ] Add mentor effectiveness based on knowledge depth, practical experience, communication skill, reputation, and available tools. - [ ] Add local expert roles for healers, builders, farmers, smiths, navigators, teachers, and administrators. - [ ] Add settlement knowledge records for who can teach which topics. - [ ] Add skill reputation and proof-of-work records for contracts and leadership roles. - [ ] Add basic literacy, numeracy, recordkeeping, and measurement knowledge as civilization multipliers. - [ ] Add trade school and guild hall design concepts. - [ ] Add rules for misinformation, poor teaching, outdated methods, and dangerous shortcuts. ## 0.3.G Community NPC Behavior Foundation - [ ] Define community NPC archetypes for family members, settlers, apprentices, specialists, travelers, traders, guards, healers, teachers, and dependents. - [ ] Add shared behavior inputs for physical needs, emotional state, social trust, fear, grief, loyalty, fatigue, skill confidence, danger, weather, hunger, and shelter quality. - [ ] Add relationship-aware interactions between NPCs and players: greeting, helping, refusing, teaching, asking for aid, trading, warning, reporting danger, and seeking shelter. - [ ] Add local memory records for important events: helped, harmed, rescued, taught, betrayed, fed, abandoned, injured, protected, or witnessed. - [ ] Add community role assignment rules so NPCs choose useful work based on ability, need, reputation, household permission, tools, and settlement priorities. - [ ] Add conflict and cooperation hooks so NPCs can avoid dangerous people, support trusted people, and report serious community problems without becoming omniscient. - [ ] Add deterministic simulation tests for NPC task choice so behavior remains debuggable and fair before any advanced AI layer is considered. --- # Version 0.4 - Generational Gameplay Goal: Introduce mortality, inheritance, lineage, family knowledge, and the emotional heart of Agrarian. ## 0.4.A Aging And Lifespan - [ ] Define time scale for aging. - [ ] Add character age. - [ ] Add age categories. - [ ] Add stat changes by age. - [ ] Add skill efficiency changes by age. - [ ] Define lifetime care quality model for nutrition, hydration, injury recovery, illness, sleep, shelter, stress, workload, hygiene, and medical treatment. - [ ] Track lifetime care quality history. - [ ] Apply lifetime care quality to baseline health, stamina, strength, endurance, recovery rate, disease resistance, injury risk, and old-age decline. - [ ] Add childhood/development care effects if descendants or children become playable. - [ ] Add long-term consequences for repeated starvation, dehydration, untreated injury, sickness, exposure, exhaustion, and hard labor. - [ ] Add long-term benefits for stable food, clean water, rest, shelter, medicine, lower stress, and safer work. - [ ] Add mortality rules. - [ ] Add death by old age. - [ ] Add UI for age and legacy. ## 0.4.B Family And Relationships - [ ] Add relationship model. - [ ] Add household model. - [ ] Add spouse/partner placeholder. - [ ] Add children system design. - [ ] Add NPC vs player descendant decision. - [ ] Add family tree UI. - [ ] Add family persistence. ## 0.4.C Knowledge Inheritance - [ ] Define knowledge categories. - [ ] Add knowledge acquisition. - [ ] Add teaching interaction. - [ ] Add apprenticeship. - [ ] Add inherited knowledge rules. - [ ] Add knowledge loss if lineage collapses. - [ ] Add written records or books. - [ ] Add library/archives concept. - [ ] Define knowledge levels by subject: awareness, basic literacy, working competence, advanced practice, expert, master, and research frontier. - [ ] Define knowledge proof types: contextual question checks, observed practice, completed projects, mentorship endorsements, written exams, and institutional certification. - [ ] Define how knowledge affects unlocks, error rates, safety, quality, design options, diagnosis, planning, teaching, and research speed. - [ ] Define how knowledge decay works when characters do not practice or preserve records. - [ ] Add children and descendant learning model if childhood systems become playable. - [ ] Add intergenerational teaching bonuses for stable families, apprenticeships, schools, libraries, and preserved notebooks. - [ ] Add knowledge inheritance limits so descendants receive a head start, not a full replacement for study and practice. - [ ] Add knowledge catastrophe rules for burned libraries, dead specialists, migration, war, famine, or settlement collapse. - [ ] Add player-authored notes, manuals, diagrams, recipes, blueprints, and lesson plans. - [ ] Add content review rules for real-world educational questions and source quality. - [ ] Add difficulty tiers from elementary concepts through advanced professional and research-level material. - [ ] Define how players can opt into deeper learning while casual survival players remain viable at lower technology levels. ## 0.4.D Inheritance - [ ] Add estate model. - [ ] Add property inheritance rules. - [ ] Add item inheritance rules. - [ ] Add claim inheritance. - [ ] Add settlement role inheritance. - [ ] Add will/testament placeholder. - [ ] Add no-heir fallback rules. ## 0.4.E Character Visual Aging And Condition - [ ] Define visual age stages for child, young adult, adult, mature adult, elder, and late elder if those stages are playable. - [ ] Define skin aging rules: wrinkles, texture changes, sun/weather exposure, scars, illness marks, and complexion changes. - [ ] Define hair aging rules: graying, thinning, facial hair changes, and style constraints by era/culture. - [ ] Define body/posture aging rules: muscle mass, weight, gait, posture, frailty, and injury compensation. - [ ] Define visual condition rules based on lifetime care quality, including hard living vs well-cared-for characters. - [ ] Decide MetaHuman/material/mesh strategy for runtime or staged visual aging. - [ ] Add character material parameters or morph targets for age and condition. - [ ] Replicate character visual age and condition state. - [ ] Persist character visual age and condition state. - [ ] Add UI/profile presentation for age, condition, and visible legacy. ## 0.4.F Family Agency And Emotional Life - [ ] Define family-member autonomy levels: dependent, helper, apprentice, adult contributor, elder advisor, and incapacitated. - [ ] Add family daily rhythm rules for eating, sleeping, sheltering, learning, working, socializing, resting, and responding to danger. - [ ] Add emotional state model for safety, grief, fear, attachment, resentment, pride, loneliness, confidence, and hope, driven by actual game events. - [ ] Add family memory continuity across generations so children and descendants remember major household events, losses, teachers, migrations, disasters, and achievements. - [ ] Add teach/learn interactions between player characters, family members, apprentices, and elders, including practical demonstration and oral instruction. - [ ] Add household contribution rules for gathering food, carrying water, tending animals, repairing shelter, crafting simple goods, warning of danger, and helping vulnerable relatives. - [ ] Add family-member refusal and stress behavior when workload, danger, hunger, neglect, grief, illness, or distrust makes a task unreasonable. - [ ] Add family and relationship UI showing current needs, emotional state, recent memories, current role, useful skills, and recent contributions. - [ ] Add persistence and replication for family agency, task state, memories, emotional state, relationships, and teaching history. ## 0.4.G Offline Character Stewardship - [ ] Define logged-off player stewardship rules for a persistent real-time world. - [ ] Let logged-off player characters contribute defensively and domestically from their last valid location, home, claim, or assigned settlement post without advancing exploration position. - [ ] Allow limited offline actions such as watching a camp, helping defend a shelter, tending assigned fires, hauling nearby stored goods, basic repairs, and helping with routine household work. - [ ] Prevent offline characters from discovering new map areas, learning new skills, completing major projects, making strategic choices, accepting risky travel, or gaining unfair progression. - [ ] Add offline risk exposure so logged-off characters can still suffer from hunger, thirst, weather, fire, attack, neglect, disease, or unsafe orders if their household is poorly prepared. - [ ] Add offline activity logs that explain what happened while the player was away, including work performed, supplies consumed, injuries, threats, and unresolved decisions. - [ ] Add consent and safety settings for offline stewardship scope so players understand what their character may do while logged off. - [ ] Add server reconciliation tests for disconnect, reconnect, server restart, and long absence cases. --- # Version 0.5 - Governments And Civilization Goal: Enable cities, citizenship, taxation, diplomacy, organized law, warfare, and territorial control. ## 0.5.A Settlements To Cities - [ ] Add settlement progression metrics. - [ ] Add population tracking. - [ ] Add infrastructure tracking. - [ ] Add settlement services. - [ ] Add city designation. - [ ] Add city management UI. ## 0.5.B Citizenship And Law - [ ] Add citizenship model. - [ ] Add legal code records. - [ ] Add local laws. - [ ] Add permissions by law. - [ ] Add court/dispute placeholder. - [ ] Add fines or penalties. ## 0.5.C Taxation And Public Works - [ ] Add treasury model. - [ ] Add tax rules. - [ ] Add public storage. - [ ] Add road funding. - [ ] Add public building funding. - [ ] Add treasury audit logs. ## 0.5.D Diplomacy - [ ] Add settlement relations. - [ ] Add alliances. - [ ] Add trade agreements. - [ ] Add non-aggression pacts. - [ ] Add war declaration. - [ ] Add treaty records. ## 0.5.E Warfare - [ ] Define combat scale. - [ ] Add weapon progression. - [ ] Add armor progression. - [ ] Add siege placeholder. - [ ] Add territory conflict rules. - [ ] Add war consequences. - [ ] Add anti-griefing protections. ## 0.5.F Public Education, Professions, And Certification - [ ] Add public schools, academies, guilds, universities, libraries, laboratories, hospitals, workshops, and proving grounds as settlement institutions. - [ ] Add licensing/certification systems for high-risk roles such as doctor, engineer, pilot, heavy equipment operator, power operator, explosives handler, and public official. - [ ] Add standardized curricula controlled by settlements or governments. - [ ] Add professional ethics, malpractice, negligence, and public safety consequences. - [ ] Add civil engineering knowledge for roads, bridges, water systems, sanitation, drainage, public buildings, and urban planning. - [ ] Add administration knowledge for law, tax records, logistics, auditing, diplomacy, emergency management, and public works. - [ ] Add political science and civic knowledge for constitutions, representation, elections, legitimacy, civil rights, bureaucracy, corruption control, and peaceful transfer of power. - [ ] Add legal studies knowledge for property law, contracts, criminal law, courts, evidence, due process, appeals, and enforcement limits. - [ ] Add economics knowledge for scarcity, labor, markets, money, credit, taxation, inflation, public goods, trade policy, and resource allocation. - [ ] Add business administration knowledge for accounting, payroll, purchasing, contracts, operations, pricing, management, insurance, and risk controls. - [ ] Add finance knowledge for banking, loans, collateral, investment, bonds, equity, reserves, audits, bankruptcy, and financial regulation. - [ ] Add sociology and anthropology knowledge for culture, social trust, institutions, migration, inequality, conflict, education, and community resilience. - [ ] Add ethics and philosophy knowledge for public risk, medical consent, animal welfare, war conduct, research limits, stewardship, and governance legitimacy. - [ ] Add military training knowledge for tactics, logistics, fortification, command, communications, and rules of engagement. - [ ] Add public research funding, grants, patents or open knowledge policies, and institutional prestige. ## 0.5.G Settlement Labor, Care, And Community Schedules - [ ] Add settlement work boards for assigning recurring jobs to families, NPCs, apprentices, and logged-off player characters within explicit permissions. - [ ] Add community schedules for planting, harvesting, cooking, watch duty, maintenance, schooling, medical care, public works, and emergency response. - [ ] Add dependent-care systems for children, elders, injured characters, sick characters, and disabled characters. - [ ] Add labor fairness and morale rules so communities that overwork or neglect people lose trust, productivity, and stability. - [ ] Add player and NPC leadership tools for prioritizing work without micromanaging every individual. - [ ] Add settlement contribution logs for food gathered, structures repaired, lessons taught, patients treated, threats reported, and resources consumed. - [ ] Add public safety response hooks so NPCs can react to fire, attack, injury, starvation, exposure, theft, collapse, or severe weather. - [ ] Add community AI profiling so large settlements can simulate many characters cheaply while keeping nearby characters fully realized. --- # Version 0.6 - Dynamic Civilization Cycles Goal: Keep the world alive for future generations through change, decay, scarcity, collapse, and renewal. ## 0.6.A Environmental Sustainability - [ ] Add soil exhaustion. - [ ] Add crop rotation benefits. - [ ] Add deforestation tracking. - [ ] Add wildlife population tracking. - [ ] Add water stress. - [ ] Add resource depletion. - [ ] Add environmental recovery. ## 0.6.B Disease And Hardship - [ ] Add disease model. - [ ] Add spread rules. - [ ] Add sanitation concept. - [ ] Add medicine progression. - [ ] Add famine conditions. - [ ] Add disaster events. ## 0.6.C Infrastructure Decay - [ ] Add road decay. - [ ] Add building decay. - [ ] Add bridge decay. - [ ] Add maintenance actions. - [ ] Add ruin state. - [ ] Add rediscovery value for ruins. ## 0.6.D Collapse And Frontier Renewal - [ ] Add settlement instability metrics. - [ ] Add migration waves. - [ ] Add abandoned settlement transformation. - [ ] Add frontier emergence rules. - [ ] Add new player frontier assignment. ## 0.6.E Medicine, Ecology, And Resilience Knowledge - [ ] Add public health knowledge for sanitation, clean water, waste handling, quarantine, nutrition, vaccination if era-appropriate, and disease surveillance. - [ ] Add medical science progression from first aid and herbal care through anatomy, physiology, pathology, clinical diagnosis, surgery support, pharmacology, epidemiology, mental health, rehabilitation, and hospital operations. - [ ] Add nursing, emergency medicine, veterinary medicine, dentistry, maternal care, pediatrics, geriatrics, occupational health, and medical logistics knowledge. - [ ] Add ecology knowledge for soil recovery, watershed health, forest management, habitat restoration, carrying capacity, and sustainable harvesting. - [ ] Add disaster preparedness knowledge for fire, flood, drought, storm, famine, disease outbreak, infrastructure failure, and evacuation planning. - [ ] Add failure analysis knowledge so settlements can diagnose why crops, animals, machines, structures, or public systems failed. - [ ] Add archive recovery and rediscovery mechanics for collapsed settlements and ruins. - [ ] Add resilience planning bonuses for settlements that preserve specialists, records, redundant systems, and training pipelines. ## 0.6.F NPC Hardship, Adaptation, And Recovery - [ ] Add long-term stress and trauma responses for famine, violence, disease, death, abandonment, disaster, forced migration, and repeated unsafe work. - [ ] Add recovery pathways through safety, food security, family care, medicine, rest, ritual, community trust, education, and meaningful work. - [ ] Add crisis behavior such as fleeing, sheltering, hoarding, helping, freezing, panicking, bargaining, or seeking leadership based on personality, training, trust, and danger. - [ ] Add community memory of major crises so future decisions, migration pressure, family stories, and institutional priorities reflect lived history. - [ ] Add generational effects from hardship and stability without making characters deterministic or permanently ruined. - [ ] Add social recovery systems for rebuilding trust after theft, neglect, violence, failed leadership, or preventable disaster. --- # Version 0.7 - Earth-Scale Expansion Goal: Expand from a small test world toward a huge, regionally diverse, persistent world that can eventually approach Earth scale through staged 1 km x 1 km real-terrain tiles. ## 0.7.A Terrain And World Partition - [ ] Evaluate Unreal World Partition. - [ ] Define real terrain generation pipeline. - [ ] Define real bathymetry/ocean-depth generation pipeline. - [ ] Define hand-authored vs procedural balance. - [ ] Define 1 km tile package format. - [ ] Define 1 km tile World Partition placement rules. - [ ] Define tile edge stitching and seam repair pipeline. - [ ] Define terrain vertical scale policy for mountains, hills, and ocean depth. - [ ] Define river, lake, coastline, and wetland generation rules. - [ ] Define missing/low-quality source data fallback rules. - [ ] Add streaming tests. - [~] Add server-delivered tile streaming prototype. Near-term MVP proof is tracked in version 0.01.G. - [~] Add client local tile cache prototype. Near-term MVP proof is tracked in version 0.01.G. - [ ] Add stale tile scrubber prototype. - [ ] Add tile redownload and version update prototype. - [ ] Add biome boundaries. - [ ] Add region metadata. - [ ] Add server scaling plan. ## 0.7.B Biome Diversity - [ ] Define a layered real-world biome architecture instead of a simplified school-model biome list. - [ ] Define the biome data contract for each 1 km tile: macro biome weights, regional ecological region, local sub-biome blend, confidence score, source datasets, generation version, and manual override fields. - [ ] Define core climate bands that drive temperature, daylight, seasonality, and weather behavior: polar, subpolar, boreal, cool temperate, warm temperate, subtropical, tropical, and highland/alpine. - [ ] Define roughly 15-25 macro biome families as the maintainable top-level simulation vocabulary. - [ ] Define roughly 60-120 regional biome variants so recognizable places such as the Pacific Northwest, Siberia, Patagonia, the Great Plains, Mongolian Steppe, Scottish Highlands, Amazon Basin, and Mediterranean coasts can emerge without one-off labels. - [ ] Define procedural local sub-biome blending so tiles can carry weighted mixtures such as prairie, riparian woodland, marsh, rocky slope, or scrub edge instead of hard biome borders. - [ ] Derive biome weights from latitude, elevation, rainfall, prevailing wind, ocean proximity, ocean currents, soil type, drainage, seasonal temperature swing, rain shadow effects, and river/wetland systems. - [ ] Add biome inference rules for real Earth patterns: subtropical west-coast Mediterranean climates, humid east coasts, interior continental steppe/prairie, leeward mountain deserts, equatorial alpine tundra, river-valley fertility, and coastal/marine moderation. - [ ] Add forest biome variants: tropical rainforest, tropical seasonal forest, temperate deciduous forest, temperate rainforest, boreal conifer forest, cloud forest, and mangrove forest. - [ ] Add grassland biome variants: savanna, prairie, steppe, pampas, and alpine meadow. - [ ] Add dryland biome variants: hot desert, cold desert, semi-arid scrubland, Mediterranean shrubland, and badlands. - [ ] Add cold-region biome variants: arctic tundra, alpine tundra, ice sheet, and glacier. - [ ] Add wet-system biome variants: swamp, marsh, fen/bog, river delta, and floodplain. - [ ] Add aquatic and coastal biome variants: freshwater river, freshwater lake, estuary, rocky coast, sandy coast, coral reef, and kelp forest. - [ ] Add a climate-engine layer that produces the environmental variables biome generation consumes. - [ ] Add a biome-generator layer that assigns weighted biome and regional-variant outputs to each tile. - [ ] Add an ecology layer that converts biome weights into plausible plants, animals, diseases, soil fertility, water access, fuel availability, and building-material availability. - [ ] Add a human-use layer that converts biome/ecology outputs into crop viability, settlement density, trade value, culture pressure, transportation difficulty, warfare strategy, and long-term economic specialization. - [ ] Make crop viability, animal species, disease pressure, water access, building materials, fuel availability, trade economics, settlement density, cultural evolution, transportation difficulty, and warfare strategy consume the same biome/ecology tile metadata instead of separate hand-authored rules. - [ ] Map natural resources to likely real-world geology, flora, water, climate, soil, and land-cover data. - [ ] Add biome-specific survival pressure for exposure, thirst, food reliability, fire risk, disease risk, travel friction, shelter material scarcity, and visibility. - [ ] Add biome plausibility QA checks that reject tiles whose climate, vegetation, water, soil, and resource placement contradict the represented real-world location. - [ ] Keep Ground Zero as an early coastal-scrub proof tile, but require future generated tiles to move toward this layered biome contract as the Earth-scale pipeline matures. ## 0.7.C Logistics And Transportation - [ ] Keep walking and running speeds close to real-world human pace. - [ ] Keep animal travel speeds close to real-world animal pace. - [ ] Define terrain slope, vegetation, mud, snow, water, injury, fatigue, age, strength, endurance, hunger, thirst, and carried weight modifiers for travel speed. - [ ] Add roads. - [ ] Add carts. - [ ] Add pack animals. - [ ] Add horses. - [ ] Add tractors. - [ ] Add cars. - [ ] Add boats. - [ ] Add shipping routes. - [ ] Add regional trade value. - [ ] Add distance-based economy pressure. - [ ] Add practical navigation knowledge for landmarks, maps, compass use, celestial navigation, terrain reading, river travel, sea travel, and weather routing. - [ ] Add vehicle operation knowledge for carts, animal teams, bicycles if used, boats, cars, trucks, tractors, trains, aircraft, and heavy equipment. - [ ] Add maintenance knowledge for wheels, axles, harnesses, engines, hulls, tires, fuel systems, batteries, brakes, and spare parts. ## 0.7.D Continental Economy - [ ] Add regional scarcity. - [ ] Add market hubs. - [ ] Add transport contracts. - [ ] Add tariffs or taxes. - [ ] Add price history. - [ ] Add economic dashboards. - [ ] Add interregional and global trade knowledge for comparative advantage, shipping routes, ports, rail hubs, customs, tariffs, sanctions, trade agreements, currency exchange, and supply-chain disruption. - [ ] Add commercial logistics knowledge for warehousing, freight forwarding, fleet management, cold chains, bulk commodities, manifests, insurance, and customs documents. - [ ] Add business scaling rules for sole proprietors, partnerships, cooperatives, corporations, franchises, guild enterprises, and state-owned enterprises. - [ ] Add market infrastructure for commodity exchanges, long-term contracts, futures/forward agreements if appropriate, credit risk, and price discovery. ## 0.7.E Tile Operations At Scale - [ ] Define tile generation queue. - [ ] Define tile publish queue. - [ ] Define tile validation dashboard. - [ ] Define operator tools for seeing generated, missing, stale, and failed tiles. - [ ] Define player-demand driven tile prioritization. - [ ] Define prefetch rules around active player regions. - [ ] Define storage and CDN strategy for millions of generated tile packages. - [ ] Define cost controls for serving and regenerating terrain content. - [ ] Define long-term archival strategy for superseded tile versions. ## 0.7.F Earth-Scale Field Science And Resource Knowledge - [ ] Add surveying and cartography knowledge for accurate coordinates, tile boundaries, elevation, slope, hydrology, and route planning. - [ ] Add geology knowledge for likely mineral resources, soil parent material, rock types, groundwater, caves, hazards, and mining prospects. - [ ] Add hydrology knowledge for rivers, wetlands, aquifers, floodplains, irrigation, erosion, and drinking water risk. - [ ] Add climatology and meteorology knowledge for regional weather, seasons, wind, storms, drought, snowpack, and agricultural planning. - [ ] Add botany, forestry, and ecology knowledge for biome-specific plants, timber, wild foods, medicinal plants, invasive pressure, and regeneration. - [ ] Add zoology and wildlife management knowledge for animal behavior, migration, hunting pressure, domestication candidates, and ecosystem balance. - [ ] Add GIS/data-literacy progression for interpreting real-world terrain, climate, land-cover, and resource datasets. - [ ] Add in-game field notebooks and sample collection to connect player exploration with world knowledge. --- # Version 0.8 - Industrial And Automation Era Goal: Let player civilizations advance into mechanization, energy, automation, and large-scale production. ## 0.8.A Industrial Materials - [ ] Add mining progression. - [ ] Add ore processing. - [ ] Add metallurgy. - [ ] Add machine parts. - [ ] Add fuel types. - [ ] Add industrial storage. - [ ] Add mining, geology, metallurgy, chemistry, ceramics, glass, concrete, polymers, and materials testing knowledge. - [ ] Add iron and steel progression for charcoal iron, coke, blast furnaces, basic oxygen or electric arc steelmaking, alloying, heat treatment, rolling, casting, forging, and quality testing. - [ ] Add industrial material standards for grades, tolerances, traceability, certification, failure reports, and safety-critical use. - [ ] Add workplace safety knowledge for mines, furnaces, pressure vessels, chemicals, dust, noise, burns, crush risk, and confined spaces. ## 0.8.B Power Systems - [ ] Add mechanical power. - [ ] Add water power. - [ ] Add steam power. - [ ] Add electrical power. - [ ] Add power grid rules. - [ ] Add maintenance/failure. - [ ] Add power generation knowledge for mechanical advantage, water wheels, wind, steam, combustion, generators, batteries, transformers, grid stability, and load management. - [ ] Add electrical safety knowledge for grounding, insulation, overcurrent protection, arc risk, maintenance lockout, and public distribution hazards. ## 0.8.C Production Chains - [ ] Add workshops. - [ ] Add factories. - [ ] Add production queues. - [ ] Add labor requirements. - [ ] Add logistics bottlenecks. - [ ] Add quality tiers. - [ ] Add manufacturing knowledge for measurement, tolerances, machining, welding, casting, quality control, process flow, and supply-chain planning. - [ ] Add chemistry/process knowledge for fuels, fertilizers, medicines, solvents, plastics, explosives where appropriate, and pollution control. - [ ] Add industrialism knowledge for division of labor, interchangeable parts, standardization, assembly lines, factory layout, worker training, shift planning, maintenance schedules, and industrial relations. - [ ] Add manufacturing business systems for procurement, bills of materials, production planning, inventory turns, cost accounting, quality audits, recalls, warranties, and supplier qualification. - [ ] Add heavy industry chains for steel, cement, glass, chemicals, machine tools, engines, electrical equipment, vehicles, ships, rail, and construction equipment. - [ ] Add industrial environmental controls for emissions, waste treatment, water use, occupational exposure, cleanup liability, and community impact. ## 0.8.D Automation And Robotics - [ ] Add automation control concept. - [ ] Add basic machine workers. - [ ] Add robotics progression. - [ ] Add AI-assisted labor. - [ ] Add safety/failure risks. - [ ] Add control systems knowledge for sensors, actuators, feedback loops, programmable logic, robotics, telemetry, fail-safes, and maintenance diagnostics. - [ ] Add computing and communications knowledge for basic electronics, radio, wired networks, data storage, software, cybersecurity, and automation monitoring. ## 0.8.E Proprietary AI Simulation Research - [ ] Define an AI privacy policy for gameplay: no private world state, player history, unreleased design, or proprietary economy data leaves controlled infrastructure for core behavior. - [ ] Research local or self-hosted model options for optional narrative flavor, summarization, dialogue variation, tutoring, and planning assistance without depending on third-party inference. - [ ] Keep core NPC decisions deterministic and inspectable through utility AI, behavior trees, state trees, planners, or GOAP-style task systems before adding model-generated flavor. - [ ] Define model boundaries: AI may suggest dialogue, summaries, and candidate plans, but server rules decide legal actions, resource use, movement, safety, combat, learning, and economy outcomes. - [ ] Add an AI memory compression design that turns raw events into compact private character memories, family stories, settlement history, and teaching notes. - [ ] Add evaluation tests for hallucination, unsafe advice, lore drift, repetitive behavior, privacy leakage, bias, griefing vectors, and performance cost. - [ ] Define fallback behavior so NPCs remain functional if model inference is disabled, unavailable, too expensive, or rejected for privacy reasons. - [ ] Define content moderation and audit tools for AI-generated dialogue, lessons, public notices, and player-authored material. ## 0.8.F Advanced Engineering And Energy Education - [ ] Add engineering education paths for mechanical, civil, electrical, chemical, industrial, environmental, agricultural, biomedical, nuclear, aerospace, software, and systems engineering. - [ ] Add design-review mechanics for complex machines, structures, power plants, factories, medical systems, transportation networks, and public infrastructure. - [ ] Add failure investigation loops where players learn from breakdowns, accidents, low yield, overload, corrosion, fatigue, contamination, and operator error. - [ ] Add team competency requirements for high-risk builds so major infrastructure depends on multiple trained characters, not one unlocked recipe. - [ ] Add early nuclear science literacy as a long-term branch: atoms, radiation, shielding, fission basics, reactor safety, waste handling, and regulatory controls. --- # Version 0.9 - Orbital Foundations Goal: Make space feel earned by centuries of civilization, science, industry, and infrastructure. ## 0.9.A Astronomy And Knowledge - [ ] Add astronomy observations. - [ ] Add observatory building. - [ ] Add star charts. - [ ] Add orbital mechanics knowledge. - [ ] Add education requirements. - [ ] Add mathematics progression for algebra, geometry, trigonometry, calculus concepts, statistics, and numerical modeling as prerequisites for advanced engineering. - [ ] Add physics progression for mechanics, thermodynamics, electromagnetism, fluids, materials, radiation, and high-energy safety. - [ ] Add astronomy and space science learning for celestial observation, timekeeping, navigation, orbital periods, launch windows, and planetary environments. ## 0.9.B Launch Infrastructure - [ ] Add advanced materials. - [ ] Add fuel production. - [ ] Add launch site construction. - [ ] Add rocket components. - [ ] Add launch preparation. - [ ] Add launch failure risk. - [ ] Add rocketry knowledge for propulsion, staging, thrust-to-weight, mass fraction, aerodynamics, guidance, navigation, control, telemetry, and range safety. - [ ] Add aerospace manufacturing knowledge for precision machining, composites, avionics, cryogenics, pressure systems, clean handling, and test procedures. - [ ] Add nuclear and advanced energy knowledge for reactors, radioisotope systems, shielding, radiation monitoring, emergency response, and long-term waste stewardship. - [ ] Add pilot, mission controller, engineer, and safety officer training paths. ## 0.9.C Orbital Gameplay - [ ] Add orbital object model. - [ ] Add satellites. - [ ] Add communications benefits. - [ ] Add navigation benefits. - [ ] Add orbital maintenance. ## 0.9.D Research Institutions And Advanced Science - [ ] Add observatories, universities, laboratories, proving grounds, launch ranges, wind tunnels, reactors or simulator facilities, and mission control centers. - [ ] Add research programs that require funding, specialists, instruments, materials, power, safety approvals, tests, failures, and published findings. - [ ] Add advanced question banks and practical exams for orbital mechanics, rocket science, nuclear physics, materials science, avionics, life support, and mission planning. - [ ] Add simulation and prototype testing so players can learn before risking major resources or lives. - [ ] Add ethical and safety governance for dangerous research, weapons-adjacent technology, radiation, launch debris, and public risk. --- # Version 1.0 - Interplanetary Frontier Goal: Expand civilization beyond Earth while keeping Earth emotionally and mechanically central. ## 1.0.A Interplanetary Travel - [ ] Add spacecraft design. - [ ] Add fuel logistics. - [ ] Add life support. - [ ] Add navigation. - [ ] Add travel windows. - [ ] Add travel risk. ## 1.0.B Colony Logistics - [ ] Add colony founding. - [ ] Add supply chains. - [ ] Add habitat construction. - [ ] Add resource extraction. - [ ] Add communication delay if desired. - [ ] Add political connection to Earth. ## 1.0.C Multi-World Persistence - [ ] Add planetary world records. - [ ] Add orbital economy. - [ ] Add interplanetary trade. - [ ] Add settlement history across worlds. - [ ] Add long-term expansion governance. ## 1.0.D Offworld Knowledge And Colonization Science - [ ] Add life support knowledge for atmosphere, pressure, oxygen, carbon dioxide removal, water recycling, food loops, waste processing, and emergency repair. - [ ] Add space medicine knowledge for radiation, low gravity, isolation, injury care, nutrition, infection control, and long-duration health. - [ ] Add closed-loop agriculture knowledge for hydroponics, aeroponics, soil substitutes, lighting, pollination, nutrient balance, and genetic diversity. - [ ] Add planetary geology and resource utilization knowledge for prospecting, mining, refining, construction materials, ice extraction, and in-situ fuel production. - [ ] Add offworld construction knowledge for habitats, shielding, pressure vessels, thermal control, foundations, dust management, and maintenance. - [ ] Add interplanetary navigation knowledge for transfer windows, orbital insertion, fuel margins, communication delay, rescue planning, and mission risk. - [ ] Add colony governance and culture knowledge for law, education, medical standards, emergency authority, succession, archives, and Earth relationship. - [ ] Add long-term knowledge preservation systems for isolated colonies, including redundant archives, local schools, apprenticeships, and disaster recovery plans. - [ ] Add late-game research frontiers for terraforming studies, advanced propulsion, planetary-scale ecology, deep-space industry, and multi-generation settlement planning. --- # Cross-Cutting Technical Tracks These tracks run across all phases and must not be left as afterthoughts. ## A. Networking - [ ] Define server authority rules. - [ ] Define replication ownership rules. - [ ] Define relevancy strategy. - [ ] Define bandwidth budget. - [ ] Create multiplayer test maps. - [ ] Add network profiling routine. - [ ] Add replication tests for each gameplay system. - [ ] Add disconnect/reconnect tests. - [ ] Add high latency tests. - [ ] Add server crash recovery tests. ## B. Persistence And Database - [ ] Define what lives in Unreal save files. - [ ] Define what lives in external database. - [ ] Define player account model. - [ ] Define world state model. - [x] Define global tile registry data model for roughly 510-520 million potential 1 km tiles. - [x] Define tile coordinate primary key strategy. - [x] Define tile metadata tables. - [x] Define tile generation job tables. - [x] Define tile package/version tables. - [ ] Define player/world-state anchoring to tile coordinates. - [ ] Define terrain tile state vs player-made world state separation. - [ ] Define backup policy. - [ ] Define rollback policy. - [ ] Define migration policy. - [ ] Add automated save validation. - [ ] Add schema/version tracking. - [ ] Add admin restore workflow. - [ ] Define knowledge database schema for subjects, topics, concepts, prerequisites, question banks, practice records, certifications, teaching records, source notes, and localization. - [ ] Define audit/version rules for educational content updates so question changes do not corrupt character progression. - [ ] Define privacy-safe analytics for which concepts confuse players or create excessive friction. ## C. Accounts And Authentication - [ ] Decide account provider. - [ ] Decide Steam account integration timing. - [ ] Add local dev auth placeholder. - [ ] Add account identity model. - [ ] Add character ownership model. - [ ] Add ban/moderation hooks. - [ ] Add privacy policy requirements. ## D. AGR Integration - [x] Define what AGR does in MVP. - [x] Define what AGR does not do in MVP. - [x] Decide custodial vs non-custodial game wallet approach. - [x] Define testnet/devnet flow. - [x] Define transaction confirmation rules. - [x] Define in-game ledger rules. - [x] Define anti-fraud rules. - [x] Define market transaction logs. - [x] Define bridge between web wallet and game account. - [x] Define legal/compliance review points. ## E. Admin And Moderation - [ ] Add admin login/auth. - [ ] Add server console commands. - [ ] Add teleport command. - [ ] Add item grant command. - [ ] Add player kick/ban command. - [ ] Add world save command. - [ ] Add world rollback command. - [ ] Add player report system. - [ ] Add audit logs. - [ ] Add moderation dashboard plan. ## F. Security And Abuse Prevention - [ ] Define trust boundaries. - [ ] Keep server authoritative. - [ ] Validate all client requests. - [ ] Add rate limits where needed. - [ ] Add anti-cheat research track. - [ ] Add exploit report workflow. - [ ] Add log retention policy. - [ ] Add account recovery policy. - [ ] Add economy abuse monitoring. - [ ] Add anti-cheat rules for knowledge checks, certifications, teaching records, and externally-assisted answer farming. - [ ] Add moderation workflow for player-authored notes, books, schools, and public educational content. ## G. Performance - [ ] Define minimum target hardware. - [ ] Define client FPS targets. - [ ] Define server tick targets. - [ ] Define memory budgets. - [ ] Define actor count budgets. - [ ] Define World Partition streaming budgets. - [ ] Define tile download bandwidth budget. - [ ] Define local tile cache size budget. - [ ] Define cache cleanup rules for unused terrain tiles. - [ ] Add profiling checklist. - [ ] Add asset size budgets. - [ ] Add LOD strategy. - [ ] Add foliage performance strategy. - [ ] Add save/load performance benchmarks. ## H. Art Direction - [ ] Define visual tone as grounded realism first: believable terrain, foliage, human characters, materials, lighting, weathering, and survival objects rather than stylized placeholder art. - [ ] Define investor and tester rendering tiers: compatibility/default, recommended, and cinematic. - [ ] Support ray tracing as an optional cinematic/high-end mode for lighting, shadows, reflections, and atmosphere, but never require it for baseline gameplay or visual readability. - [ ] Ensure the non-ray-traced default renderer remains visually credible on common investor, tester, and remote-session hardware. - [ ] Prioritize authentic real-world biome materials, terrain color, vegetation density, water, fire, smoke, weather, shelters, tools, and resource assets when replacing placeholders. - [ ] Avoid cosmetic-only art passes that conflict with long-term realism or will need to be discarded; replace placeholders with assets and materials that can survive into MVP production when practical. - [ ] Define early survival era look. - [ ] Define old-world ruin look. - [ ] Define agrarian settlement look. - [ ] Define UI visual language. - [ ] Define color palette. - [ ] Define material style. - [ ] Define lighting style. - [ ] Define character style. - [ ] Define icon style. ## I. Audio Direction - [ ] Define ambient audio style. - [ ] Define weather audio style. - [ ] Define wildlife audio style. - [ ] Define UI sound style. - [ ] Define music philosophy. - [ ] Define silence/space usage. - [ ] Define settlement soundscape. - [ ] Define industrial era sound progression. ## J. QA And Testing - [ ] Create smoke test checklist. - [ ] Create multiplayer test checklist. - [ ] Create persistence test checklist. - [ ] Create terrain tile import QA checklist. - [ ] Create terrain seam QA checklist. - [ ] Create biome/resource plausibility QA checklist. - [ ] Create tile cache/download QA checklist. - [ ] Create performance test checklist. - [ ] Create release candidate checklist. - [ ] Add bug triage workflow. - [ ] Add crash reporting plan. - [ ] Add automated build validation. - [ ] Add test server reset process. - [ ] Add educational content QA checklist for accuracy, clarity, difficulty tiering, accessibility, and source review. - [ ] Add balance tests to ensure knowledge checks improve depth without pushing players out of the survival loop. ## K. Build And Release Pipeline - [x] Define dev editor build process. - [x] Define internal test build process. - [x] Add repository storage policy and local storage audit script. - [ ] Define closed alpha build process. - [ ] Define dedicated server packaging. Replace the MVP `play.agrariangame.com:7777` headless Linux game/listen-server fallback with a true `AgrarianGameServer` Linux dedicated server package once we have a source-built or otherwise server-capable Unreal Engine distribution; keep the current fallback documented and usable until that packaging path is validated. - [ ] Define patch distribution. - [ ] Define version numbering. - [ ] Define changelog format. - [ ] Define rollback process. - [ ] Define release approval checklist. - [x] Add one-command Codex build wrapper for `AgrarianGameEditor`. - [x] Store editor build logs under `Saved/BuildLogs/BuildEditor-Windows.log`. - [x] Add one-command packaged client build wrapper. - [x] Add one-command Linux dedicated server build wrapper. - [x] Define investor-demo build trigger at version milestone completion. - [x] Add smoke-test command for build artifacts. - [ ] Enable protected `main` branch once revenue or a paid GitHub plan justifies the cost. ## L. Storefront Development Distribution - [ ] Decide Steam development launch timing. - [ ] Decide Epic Games Store development launch timing. - [ ] Create Steamworks partner setup checklist. - [ ] Create Epic Developer Portal setup checklist. - [ ] Define internal, investor, closed tester, and public playtest build channels. - [ ] Decide whether early development versions use Steam Playtest, Epic private artifacts, direct installer delivery, or a combination. - [ ] Define store build upload/package process. - [ ] Define store branch naming: internal, investor-demo, closed-alpha, public-demo, release-candidate. - [ ] Define build metadata requirements for store uploads: version, changelog, commit, map, server compatibility, and known issues. - [ ] Define entitlement/account linking requirements before external tester distribution. - [ ] Add legal/storefront checklist: company name, tax/payment setup, privacy policy, EULA, content rating, screenshots, trailer, capsule art, and support email. - [ ] Decide when agrariangame.com links to Steam/Epic pages. - [ ] Add release checklist for pushing a development build to Steam or Epic. ## M. Community And Marketing - [ ] Keep agrariangame.com updated. - [ ] Publish development updates. - [ ] Collect launch list signups. - [ ] Create Discord plan. - [ ] Create devlog schedule. - [ ] Create Steam page checklist. - [ ] Create press kit. - [ ] Create creator outreach list. - [ ] Create early tester application. - [ ] Create public roadmap page later. ## N. NPC, Family, And Offline Simulation Intelligence - [ ] Define NPC intelligence architecture around server-authoritative utility scoring, behavior/state trees, task reservations, memory records, and deterministic simulation before any generative AI layer. - [ ] Define a character memory schema for event facts, emotional weight, relationship impact, teaching history, trauma/recovery markers, obligations, promises, debts, and family stories. - [ ] Define family and community simulation LOD: full behavior for nearby visible characters, reduced task simulation for settlement members, and ledger-based offline simulation for distant or logged-off characters. - [ ] Define offline player simulation rules that allow local contribution and protection without exploration movement, major decision-making, unfair learning, or hidden progression. - [ ] Define debug tools for explaining why an NPC chose a task, refused an order, helped someone, fled danger, taught a lesson, or consumed supplies. - [ ] Add automated tests for NPC task selection, resource accounting, relationship changes, emotional state transitions, teaching outcomes, offline stewardship, and reconnect reconciliation. - [ ] Define proprietary-first AI rules: core behavior must work without third-party services, external AI cannot receive private unreleased world/player data, and any model layer must be replaceable. - [ ] Define local/self-hosted AI research lane for optional dialogue variation, event summarization, tutoring, memory compression, and settlement reports. - [ ] Define performance budgets for thousands of family/community characters across persistent settlements. - [ ] Define abuse protections so players cannot exploit NPC labor, offline characters, family members, or AI-generated instructions to bypass survival, economy, travel, combat, or learning constraints. --- # Six-Month MVP Calendar ## Month 1 - Foundation - [~] Clean project structure. - [x] Confirm engine version. - [x] Set source control. - [x] Create base character. - [x] Create interaction system. - [ ] Create first test map. - [x] Create stat component. - [x] Create inventory prototype. - [x] Create networking baseline. - [x] Create build instructions. - [x] Create operational build lane for Codex. - [x] Choose Ground Zero candidate tile. - [x] Define first tile registry schema. ## Month 2 - Survival Loop - [x] Add hunger. - [x] Add thirst. - [x] Add health. - [x] Add stamina. - [x] Add weather. - [x] Add body temperature. - [~] Add gatherable resources. - [x] Add campfire. - [x] Add basic crafting. - [~] Add basic HUD. - [ ] Import first real terrain MVP tile if feasible. ## Month 3 - Shelter And Persistence - [x] Add building placement. - [x] Add primitive shelter. - [ ] Add storage container. - [ ] Add save/load for players. - [x] Add save/load for structures. - [ ] Add save/load for containers. - [ ] Add server restart persistence test. - [ ] Add one full day/night survival test. - [ ] Persist MVP tile metadata and generated package version. ## Month 4 - Multiplayer And Wildlife - [ ] Add dedicated server build. - [ ] Add join flow. - [ ] Add replicated inventory validation. - [ ] Add replicated building validation. - [x] Add wildlife prototype. - [x] Add harvesting. - [ ] Add injury placeholder. - [ ] Add reconnect test. - [ ] Add 2-4 player internal test. ## Month 5 - Homestead Seeds And Economy Planning - [ ] Add land claim prototype. - [ ] Add farming prototype if feasible. - [ ] Add simple barter placeholder if feasible. - [x] Define AGR integration design. - [x] Define account/wallet bridge design. - [x] Add admin commands. - [ ] Add test feedback form/process. - [ ] Improve UI clarity. ## Month 6 - Closed MVP Readiness - [ ] Stabilize server. - [ ] Fix critical bugs. - [ ] Optimize core map. - [ ] Improve first 30 minutes of play. - [ ] Add onboarding prompts. - [ ] Add settings menu. - [ ] Package client build. - [ ] Package server build. - [ ] Run closed internal test. - [ ] Prepare external tester plan. - [ ] Update website with progress. --- # Definition Of Done For The First Playable MVP The first playable MVP is not complete until: - [ ] Two or more players can join the same server. - [ ] Players can gather resources. - [ ] Players can craft at least one tool. - [ ] Players can create fire. - [ ] Players can build a primitive shelter. - [ ] Weather and time affect survival. - [ ] Day/night presentation follows the real local solar/light context of the represented map tile while the MVP gameplay day remains `4 real hours = 1 in-game day`. - [ ] Hunger and thirst matter. - [ ] Injury or damage can create meaningful risk. - [~] At least one wildlife system exists. - [ ] Inventory works and replicates. - [ ] Startup flow reaches a character selection landing page after splash/startup screens. - [ ] Player can select a realistic young adult male or female character with average proportions before entering the MVP world. - [ ] Server restart preserves core state. - [ ] The game communicates what to do without hand-holding too much. - [ ] The experience feels like the beginning of Agrarian, not a generic survival template. --- # Near-Term Next Actions Use this list to restart from the top of the roadmap before continuing into newer gameplay and weather work. Current version: `0.1 Foundational Survival MVP` Earliest incomplete foundation items: - [x] Decide whether to create/use a long-lived `dev` branch. Decision: no long-lived `dev` branch yet. - [x] Finish branch naming conventions. - [x] Finish commit message conventions. - [x] Define GitHub/LFS free-tier storage guardrails. - [x] Define backup expectations for NAS and repository. - [x] Implement Linastorage incremental project backup job. - [x] Implement quiesced VM backup job for Windows-Builder and Ubuntu-Codex. - [x] Create repeatable dedicated server build instructions. - [x] Finish required plugin documentation. - [x] Confirm project opens cleanly from a fresh checkout. - [x] Create the core design document. - [x] Create the technical design document. - [x] Create the multiplayer/networking design document. - [x] Create the persistence design document. - [x] Create the Earth-scale terrain/tile streaming design document. - [x] Launch near-term MVP map-tile serving cloud VM and prove Ground Zero tile lookup/download/cache flow. - [x] Create economy and AGR design document. - [x] 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. - [x] Define what qualifies as the 6-month MVP and what is explicitly excluded. - [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: - [ ] Implement basic animation blueprint.