diff --git a/AGRARIAN_DEVELOPMENT_ROADMAP.md b/AGRARIAN_DEVELOPMENT_ROADMAP.md index 130fc64..8750a79 100644 --- a/AGRARIAN_DEVELOPMENT_ROADMAP.md +++ b/AGRARIAN_DEVELOPMENT_ROADMAP.md @@ -118,6 +118,66 @@ Use these markers as the project progresses: --- +# Milestone Flow And Current Focus + +Roadmap order is now: + +1. Current milestone status and decision log. +2. Phase 0 foundation and guardrails. +3. Phase 1 foundational survival MVP. +4. Later gameplay, civilization, technical, release, and community tracks. +5. Calendar, MVP definition of done, and earliest next actions. + +Phase subsection numbers such as `0.1`, `0.2`, and `0.7` are workstream +sections, not release versions. Release versions are tracked separately as +milestones such as `0.01`, `0.1`, `0.6`, and `1.0`. + +## Active Milestone - Version 0.01 Foundation Baseline + +Status: in progress. + +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: + +- [ ] Decide whether to keep current Unreal template variants or remove unused starter variants. +- [ ] Create protected `main` branch. +- [?] Decide whether to create/use a long-lived `dev` branch. +- [~] Finish branch naming and commit message conventions. +- [ ] Define backup expectations for NAS and repository. +- [ ] Create repeatable dedicated server build instructions. +- [~] Finish required plugin documentation. +- [ ] Confirm the project opens cleanly from a fresh checkout, not just the current working share. +- [ ] Organize `Content/Agrarian/` folders and move starter/prototype assets into clearly named locations. +- [ ] Define MVP day/night length, survival pressure target, success loop, failure conditions, and closed-test readiness criteria. + # Phase 0 - Project Foundation And Guardrails Goal: Prepare the project so all future development is controlled, recoverable, documented, and aligned with the long-term vision. @@ -282,92 +342,6 @@ redownloaded when a player returns to a region. - [x] Build an MVP tile registry table for the Ground Zero tile and immediate neighbors. - [ ] Keep World Partition compatibility as a hard requirement for all terrain decisions. ---- - -# Version .01 / 0.01 - Foundation Baseline - -Status: in progress. - -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. - -Completed in version .01: - -- [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 component. -- [x] Added replicated inventory component. -- [x] Added interaction interface and server-authoritative interaction path. -- [x] Added resource node actor. -- [x] Added campfire actor. -- [x] Added primitive shelter actor. -- [x] Added world time/weather game state. -- [x] Added crafting component. -- [x] Added item definition and recipe data asset classes. -- [x] Added building placement component. -- [x] Added save game structures and persistence subsystem scaffold. -- [x] Added persistent actor component and placed actor save/restore foundation. -- [x] Added admin/dev console commands. -- [x] Added replicated wildlife base actor. -- [x] Built `AgrarianGameEditor Win64 Development` successfully on Windows-Builder. -- [x] Added a Codex headless Windows build lane through `/home/nathan/bin/agrarian-build-editor`. -- [x] Added a project-local Unreal Python execution wrapper for headless editor asset updates. -- [x] Installed VS 2022 Build Tools MSVC `14.44.35207` for Unreal 5.7 compatibility. -- [x] Fixed `AAgrarianDebugHUD` compile issue caused by `const` HUD helper methods calling non-const `AHUD::DrawText`. -- [x] Confirmed the project loads through Unreal Editor command mode and the default test map passes map check. -- [x] Created `IA_Interact` input action. -- [x] Bound `IA_Interact` to `E` and `Gamepad_FaceButton_Left`. -- [x] Assigned `IA_Interact` to the character Blueprint's `InteractAction`. -- [x] Created item definition assets for wood, stone, fiber, food, meat, hide, and primitive structure parts. -- [x] Created recipe data assets for campfire, primitive shelter, basic tool, and bandage. -- [x] Created item definition assets for craft result items: campfire, primitive shelter, basic tool, and bandage. -- [x] Created Blueprint child actors for wood resource, campfire, primitive shelter, and first wildlife species. -- [x] Placed and verified wood resource, campfire, primitive shelter, and rabbit wildlife Blueprints in the test map. -- [x] Added command-mode smoke verification for wildlife damage/death/harvest loop. -- [x] Added automation coverage for live GameInstance persistence save/restore through `UAgrarianPersistenceSubsystem`. -- [x] Selected Ground Zero MVP terrain tile and added first tile registry schema. -- [x] Prototyped real elevation import for the Ground Zero tile using USGS EPQS samples. -- [x] Acquired and extracted final USGS 3DEP 1-meter DEM source for the Ground Zero tile. -- [x] Converted extracted 1-meter DEM subset into an Unreal Landscape-ready R16 heightmap and import plan. -- [x] Imported the Ground Zero R16 heightmap into `/Game/Agrarian/Maps/L_GroundZeroTerrain_Test`. -- [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 first Agrarian Studio splash screen and investor demo legal notices. -- [x] Built a Windows Development packaged demo and smoke-tested launch into Ground Zero. -- [x] Added startup movie and in-game beta demo notice with motto, version, and copyright language. - -Open version .01 tasks: - -- [x] Confirm the project opens cleanly in Unreal Editor after the latest wildlife commit. -- [x] Create `IA_Interact` input action. -- [x] Bind `IA_Interact` to `E` and a gamepad button. -- [x] Assign `IA_Interact` to the character Blueprint's `InteractAction`. -- [x] Create item definition assets for wood, stone, fiber, food, meat, hide, and primitive structure parts. -- [x] Create recipe data assets for campfire, primitive shelter, basic tool, and bandage. -- [x] Create item definition assets for craft result items: campfire, primitive shelter, basic tool, and bandage. -- [x] Create Blueprint child actors for wood resource, campfire, primitive shelter, and first wildlife species. -- [x] Place resource nodes, campfire, shelter, and wildlife in the test map. -- [x] Added command-mode smoke verification for gather -> inventory -> craft -> place shelter -> save/load data loop. -- [x] Added fiber gathering and primitive shelter part recipes so shelter ingredients are naturally obtainable. -- [~] Add a simple HUD/debug display for survival and inventory. -- [x] Test gather -> inventory -> craft -> place shelter -> save/load loop. -- [x] Make primitive shelter ingredients naturally obtainable in normal play instead of smoke-test seeded. -- [x] Add a PIE/server persistence test that exercises `UAgrarianPersistenceSubsystem` with a live GameInstance. -- [x] Test wildlife damage/death/harvest loop. -- [ ] Decide whether to keep the current template variants or remove unused starter variants. -- [x] Choose Ground Zero 1 km MVP tile. -- [x] Build first tile metadata/registry prototype for Ground Zero. -- [x] Prove automated import of real terrain data into the MVP tile. -- [x] Define acceptable real terrain accuracy and final DEM/lidar source requirements for the MVP tile. -- [x] Acquire or extract the final USGS 3DEP DEM/lidar source for the Ground Zero tile. -- [x] Convert the extracted 1-meter DEM subset into an Unreal Landscape-ready heightmap and import plan. -- [x] Import the Ground Zero R16 heightmap into an Unreal terrain test map. -- [x] Package a Windows Development investor demo that starts on the Ground Zero map. -- [x] Add investor-facing startup sequence and beta/demo notice language. - # Phase 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. @@ -1279,7 +1253,23 @@ These tracks run across all phases and must not be left as afterthoughts. - [x] Define investor-demo build trigger at version milestone completion. - [x] Add smoke-test command for build artifacts. -## L. Community And Marketing +## 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. @@ -1399,37 +1389,32 @@ The first playable MVP is not complete until: # Near-Term Next Actions -- [x] Mount or create reliable local access path to the NAS `shared_drive` project. -- [x] Decide whether to create a Git repository for the Unreal project. -- [x] Inspect `Source/` and current Unreal project structure. -- [x] Confirm Unreal Engine version. -- [ ] Confirm whether existing project opens cleanly. -- [x] Confirm whether it compiles cleanly. -- [x] Create Phase 0 task board from this roadmap. -- [x] Start with base character, interaction, stats, inventory, and test map. -- [x] Set up Ubuntu-Codex source-control lane. -- [x] Set up Windows-Builder headless Unreal build lane. -- [x] Fix current C++ compile break and verify `AgrarianGameEditor` build. +Use this list to restart from the top of the roadmap before continuing into +newer gameplay and weather work. -Next version .01 priorities: +Current version: `0.01 Foundation Baseline` -- [x] Confirm latest C++ build succeeds on Windows-Builder. -- [ ] Open the project in Unreal Editor from the shared project path. -- [ ] Create `IA_Interact` and bind it to `E` plus a gamepad button. -- [ ] Assign `IA_Interact` to the Agrarian character Blueprint. -- [x] Create the first editor assets needed for the playable loop. -- [x] Place and test the wood resource node. -- [x] Place and test the campfire. -- [x] Place and test the primitive shelter. -- [x] Place and test the rabbit wildlife Blueprint. -- [~] Add simple survival/inventory HUD feedback. -- [x] Run the first full gather -> craft -> place -> save -> load smoke test. -- [x] Test wildlife damage/death/harvest loop. -- [x] Make all primitive shelter ingredients obtainable through normal play. -- [x] Choose Ground Zero 1 km MVP tile. -- [x] Define first tile registry schema. -- [x] Prototype real terrain import for the selected MVP tile. +Earliest incomplete foundation items: + +- [ ] Create protected `main` branch. +- [?] Decide whether to create/use a long-lived `dev` branch. +- [~] Finish branch naming conventions. +- [~] Finish commit message conventions. +- [ ] Define backup expectations for NAS and repository. +- [ ] Create repeatable dedicated server build instructions. +- [~] Finish required plugin documentation. +- [ ] Confirm project opens cleanly from a fresh checkout. +- [ ] Create the core design document. +- [ ] Create the technical design document. +- [ ] Create the multiplayer/networking design document. +- [ ] Create the persistence design document. +- [ ] Create the Earth-scale terrain/tile streaming design document. +- [ ] Create economy and AGR design document. +- [ ] Create art direction, UX/HUD direction, coding standards, Blueprint standards, and asset/folder naming standards. +- [ ] Organize `Content/Agrarian/` root folder and move starter/prototype assets into clear prototype folders. +- [ ] Define what qualifies as the 6-month MVP and what is explicitly excluded. +- [ ] Define MVP day/night length, survival pressure target, success loop, failure conditions, first playable internal milestone, and closed-test readiness criteria. Immediate next item: -- [ ] Add weather exposure zones if needed. +- [ ] Create protected `main` branch.