Update Agrarian roadmap for version 0.01

This commit is contained in:
2026-05-11 01:20:44 -07:00
parent 66b532217c
commit 6e7f74986c
2 changed files with 233 additions and 151 deletions
+231 -149
View File
@@ -27,23 +27,49 @@ Core commitments:
## Current Known Project Location
NAS project path:
Primary development repository:
```text
git@github.com:pacificao/AgrarianGameBuild.git
```
Primary local Codex/server checkout:
```text
/home/nathan/AgrarianGameBuild
```
Recommended Windows checkout path:
```text
D:\AgrarianGameBuild
```
Original NAS project path:
```text
//linastorage.local/shared_drive/Unreal Game Projects/agrarian_game/AgrarianGame
```
Important project root files/folders:
Important tracked project root files/folders:
- [ ] `AgrarianGame.uproject`
- [ ] `AgrarianGame.sln`
- [ ] `Source/`
- [ ] `Content/`
- [ ] `Config/`
- [ ] `Saved/`
- [ ] `Intermediate/`
- [ ] `Binaries/`
- [ ] `DerivedDataCache/`
- [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
@@ -57,41 +83,85 @@ Use these markers as the project progresses:
---
# 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, and wildlife.
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.
Open version .01 tasks:
- [ ] Confirm the project opens cleanly in Unreal Editor after the latest wildlife commit.
- [ ] Create `IA_Interact` input action.
- [ ] Bind `IA_Interact` to `E` and a gamepad button.
- [ ] Assign `IA_Interact` to the character Blueprint's `InteractAction`.
- [ ] Create item definition assets for wood, stone, fiber, food, meat, hide, and primitive structure parts.
- [ ] Create recipe data assets for campfire, primitive shelter, basic tool, and bandage.
- [ ] Create Blueprint child actors for wood resource, campfire, primitive shelter, and first wildlife species.
- [ ] Place resource nodes, campfire, shelter, and wildlife in the test map.
- [ ] Add a simple HUD/debug display for survival and inventory.
- [ ] Test gather -> inventory -> craft -> place shelter -> save/load loop.
- [ ] Test wildlife damage/death/harvest loop.
- [ ] Decide whether to keep the current template variants or remove unused starter variants.
# 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.
## 0.1 Repository And Source Control
- [ ] Decide where the Unreal project repository will live.
- [ ] Create or confirm GitHub repository for the Unreal project.
- [ ] Decide whether large assets use Git LFS.
- [ ] Add Git LFS for `.uasset`, `.umap`, large media, and binary assets if using Git.
- [ ] Create `.gitignore` for Unreal Engine.
- [ ] Ensure `Binaries/`, `Intermediate/`, `Saved/`, and `DerivedDataCache/` are excluded unless intentionally needed.
- [ ] Commit clean baseline project.
- [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.
- [ ] Create protected `main` branch.
- [ ] Create `dev` branch if we want staging before main.
- [ ] Define branch naming conventions.
- [ ] Define commit message conventions.
- [?] Create `dev` branch if we want staging before main.
- [~] Define branch naming conventions.
- [~] Define commit message conventions.
- [ ] Define backup expectations for NAS and repo.
- [ ] Confirm this roadmap file is committed or otherwise backed up.
- [x] Confirm this roadmap file is committed or otherwise backed up.
## 0.2 Engine And Tooling Decisions
- [ ] Confirm Unreal Engine version.
- [ ] Decide Blueprint-first, C++-first, or hybrid approach.
- [ ] Decide whether Gameplay Ability System is needed now or later.
- [ ] Decide networking model for MVP.
- [x] Confirm Unreal Engine version.
- [x] Decide Blueprint-first, C++-first, or hybrid approach.
- [?] Decide whether Gameplay Ability System is needed now or later.
- [x] Decide networking model for MVP.
- [ ] Decide dedicated server target platform.
- [ ] Decide local development platforms.
- [ ] Decide build machine strategy.
- [ ] Create repeatable local build instructions.
- [x] Decide local development platforms.
- [x] Decide build machine strategy.
- [x] Create repeatable local build instructions.
- [ ] Create repeatable packaged build instructions.
- [ ] Create repeatable dedicated server build instructions.
- [ ] Document required plugins.
- [ ] Disable unneeded plugins.
- [ ] Confirm project compiles from a clean checkout.
- [~] Document required plugins.
- [x] Disable unneeded plugins.
- [x] Confirm project compiles from a clean checkout.
- [ ] Confirm project opens from a clean checkout.
## 0.3 Design Documentation
@@ -107,8 +177,8 @@ Goal: Prepare the project so all future development is controlled, recoverable,
- [ ] Create folder conventions for Unreal assets.
- [ ] Create coding standards.
- [ ] Create Blueprint standards if using Blueprints.
- [ ] Create data asset standards.
- [ ] Create save/persistence standards.
- [~] Create data asset standards.
- [~] Create save/persistence standards.
## 0.4 Project Structure
@@ -151,55 +221,55 @@ Target deliverable: A small group can join a server, spawn into one biome, gathe
## 1.1 Core Player Foundation
- [ ] Create base player character class.
- [ ] Create player controller.
- [ ] Create camera setup.
- [x] Create base player character class.
- [x] Create player controller.
- [x] Create camera setup.
- [ ] Decide first-person, third-person, or hybrid camera.
- [ ] Implement movement.
- [x] Implement movement.
- [ ] Implement sprinting.
- [ ] Implement crouching if needed.
- [ ] Implement jumping if needed.
- [ ] Implement interaction trace.
- [x] Implement jumping if needed.
- [x] Implement interaction trace.
- [ ] Implement interact prompt.
- [ ] Implement basic animation blueprint.
- [ ] Implement placeholder character mesh.
- [ ] Add replication for player movement and core state.
- [ ] Add developer debug overlay for player status.
- [x] Implement placeholder character mesh.
- [~] Add replication for player movement and core state.
- [~] Add developer debug overlay for player status.
## 1.2 Character Stats
- [ ] Create stat component.
- [ ] Add health.
- [ ] Add stamina.
- [ ] Add hunger.
- [ ] Add thirst.
- [ ] Add body temperature.
- [x] Create stat component.
- [x] Add health.
- [x] Add stamina.
- [x] Add hunger.
- [x] Add thirst.
- [x] Add body temperature.
- [ ] Add exhaustion.
- [ ] Add injury state.
- [x] Add injury state.
- [ ] Add infection or sickness placeholder.
- [ ] Add stat regeneration rules.
- [ ] Add stat decay rules.
- [ ] Add stat replication.
- [x] Add stat regeneration rules.
- [x] Add stat decay rules.
- [x] Add stat replication.
- [ ] Add stat save/load support.
- [ ] Add debug commands for modifying stats.
- [x] Add debug commands for modifying stats.
- [ ] Add HUD display for critical stats.
## 1.3 Time, Weather, And Environment Pressure
- [ ] Create world time system.
- [ ] Add day/night cycle.
- [ ] Add configurable time scale.
- [x] Create world time system.
- [x] Add day/night cycle.
- [x] Add configurable time scale.
- [ ] Add temperature curve by time of day.
- [ ] Add simple weather states.
- [ ] Add clear weather.
- [ ] Add rain.
- [ ] Add cold/wind state.
- [ ] Add storm placeholder.
- [ ] Add weather transition rules.
- [ ] Add weather replication.
- [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.
- [ ] Add weather save/load support.
- [ ] Connect weather to body temperature.
- [ ] Connect shelter to weather protection.
- [x] Connect weather to body temperature.
- [~] Connect shelter to weather protection.
- [ ] Add first-pass sky and lighting.
- [ ] Add audio cues for weather.
@@ -222,9 +292,9 @@ Target deliverable: A small group can join a server, spawn into one biome, gathe
## 1.5 Inventory System
- [ ] Design inventory data model.
- [ ] Create item definition data asset.
- [ ] Create item stack structure.
- [ ] Create inventory component.
- [x] Create item definition data asset.
- [x] Create item stack structure.
- [x] Create inventory component.
- [ ] Add item pickup.
- [ ] Add item drop.
- [ ] Add stack splitting.
@@ -232,80 +302,80 @@ Target deliverable: A small group can join a server, spawn into one biome, gathe
- [ ] Add equipment slots if needed.
- [ ] Add weight or carry capacity placeholder.
- [ ] Add inventory UI.
- [ ] Add replication for inventory changes.
- [x] Add replication for inventory changes.
- [ ] Add persistence for inventory.
- [ ] Add debug item spawn command.
- [x] Add debug item spawn command.
## 1.6 Gathering And Resources
- [ ] Create resource node base class.
- [ ] Add wood resource.
- [x] Create resource node base class.
- [~] Add wood resource.
- [ ] Add stone resource.
- [ ] Add fiber resource.
- [ ] Add edible plant resource.
- [ ] Add water gathering interaction.
- [ ] Add resource depletion.
- [x] Add resource depletion.
- [ ] Add respawn rules for MVP.
- [ ] Add tool requirement rules.
- [ ] Add bare-hand gathering fallback.
- [x] Add bare-hand gathering fallback.
- [ ] Add resource node persistence.
- [ ] Add replicated gathering feedback.
- [x] Add replicated gathering feedback.
## 1.7 Primitive Crafting
- [ ] Design recipe data model.
- [ ] Create recipe data assets.
- [ ] Implement recipe validation.
- [ ] Implement crafting queue or instant crafting.
- [x] Design recipe data model.
- [x] Create recipe data assets.
- [x] Implement recipe validation.
- [x] Implement crafting queue or instant crafting.
- [ ] Add primitive tool recipe.
- [ ] Add campfire recipe.
- [ ] Add shelter recipe.
- [ ] Add simple container recipe.
- [ ] Add bandage or basic treatment recipe.
- [ ] Add crafting UI.
- [ ] Add multiplayer authority checks.
- [ ] Add crafting debug tools.
- [x] Add multiplayer authority checks.
- [~] Add crafting debug tools.
## 1.8 Fire System
- [ ] Create fire actor.
- [ ] Add fuel amount.
- [ ] Add ignition interaction.
- [x] Create fire actor.
- [x] Add fuel amount.
- [x] Add ignition interaction.
- [ ] Add extinguish logic.
- [ ] Add warmth radius.
- [ ] Add light source.
- [x] Add warmth radius.
- [x] Add light source.
- [ ] Add cooking placeholder if needed.
- [ ] Add smoke/visual effect placeholder.
- [ ] Add replication.
- [x] Add replication.
- [ ] Add persistence.
- [ ] Connect fire to body temperature.
- [x] Connect fire to body temperature.
- [ ] Connect rain/weather to fire behavior.
## 1.9 Shelter Building
- [ ] Decide MVP building style.
- [ ] Create build placement mode.
- [ ] Add ghost preview.
- [ ] Add placement validation.
- [ ] Add basic shelter piece.
- [x] Create build placement mode.
- [~] Add ghost preview.
- [x] Add placement validation.
- [x] Add basic shelter piece.
- [ ] Add wall piece if needed.
- [ ] Add roof piece if needed.
- [ ] Add door/opening if needed.
- [ ] Add resource cost validation.
- [ ] Add construction interaction.
- [ ] Add shelter protection volume.
- [ ] Add shelter persistence.
- [ ] Add shelter replication.
- [x] Add resource cost validation.
- [x] Add construction interaction.
- [x] Add shelter protection volume.
- [x] Add shelter persistence.
- [x] Add shelter replication.
- [ ] Add deconstruction or damage placeholder.
## 1.10 Injury And Basic Survival Consequences
- [ ] Add generic injury state.
- [x] Add generic injury state.
- [ ] Add bleeding placeholder.
- [ ] Add sprain or movement penalty placeholder.
- [ ] Add cold exposure damage.
- [ ] Add starvation damage.
- [ ] Add dehydration damage.
- [x] Add cold exposure damage.
- [x] Add starvation damage.
- [x] Add dehydration damage.
- [ ] Add treatment item.
- [ ] Add death state.
- [ ] Add respawn rules for MVP.
@@ -315,16 +385,16 @@ Target deliverable: A small group can join a server, spawn into one biome, gathe
## 1.11 Wildlife Prototype
- [ ] Choose MVP wildlife species.
- [ ] Create wildlife base pawn.
- [ ] Add simple AI wander.
- [ ] Add flee behavior.
- [ ] Add aggression behavior if needed.
- [ ] Add health.
- [x] Create wildlife base pawn.
- [x] Add simple AI wander.
- [x] Add flee behavior.
- [x] Add aggression behavior if needed.
- [x] Add health.
- [ ] Add damage.
- [ ] Add harvesting interaction.
- [ ] Add meat/hide/bone resources if needed.
- [x] Add harvesting interaction.
- [~] Add meat/hide/bone resources if needed.
- [ ] Add spawn manager.
- [ ] Add replication.
- [x] Add replication.
- [ ] Add performance limits.
## 1.12 Basic Multiplayer
@@ -334,12 +404,12 @@ Target deliverable: A small group can join a server, spawn into one biome, gathe
- [ ] Add server travel flow.
- [ ] Add player join flow.
- [ ] Add player spawn flow.
- [ ] Add replicated player stats.
- [ ] Add replicated inventory.
- [ ] Add replicated world time.
- [ ] Add replicated weather.
- [ ] Add replicated resource nodes.
- [ ] Add replicated build pieces.
- [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.
- [ ] Add network relevancy rules.
- [ ] Add basic latency testing.
- [ ] Add disconnect/reconnect handling.
@@ -350,13 +420,13 @@ Target deliverable: A small group can join a server, spawn into one biome, gathe
- [ ] Save player identity.
- [ ] Save player stats.
- [ ] Save player inventory.
- [ ] Save placed structures.
- [x] Save placed structures.
- [ ] Save resource depletion state if needed.
- [ ] Save world time.
- [ ] Save weather seed/state.
- [ ] Save containers.
- [ ] Add server-side save interval.
- [ ] Add manual admin save command.
- [x] Add manual admin save command.
- [ ] Add load-on-server-start.
- [ ] Add backup-before-save option.
- [ ] Add recovery plan for corrupted save.
@@ -995,36 +1065,36 @@ These tracks run across all phases and must not be left as afterthoughts.
## Month 1 - Foundation
- [ ] Clean project structure.
- [ ] Confirm engine version.
- [ ] Set source control.
- [ ] Create base character.
- [ ] Create interaction system.
- [x] Confirm engine version.
- [x] Set source control.
- [x] Create base character.
- [x] Create interaction system.
- [ ] Create first test map.
- [ ] Create stat component.
- [ ] Create inventory prototype.
- [ ] Create networking baseline.
- [ ] Create build instructions.
- [x] Create stat component.
- [x] Create inventory prototype.
- [x] Create networking baseline.
- [x] Create build instructions.
## Month 2 - Survival Loop
- [ ] Add hunger.
- [ ] Add thirst.
- [ ] Add health.
- [ ] Add stamina.
- [ ] Add weather.
- [ ] Add body temperature.
- [ ] Add gatherable resources.
- [ ] Add campfire.
- [ ] Add basic crafting.
- [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.
## Month 3 - Shelter And Persistence
- [ ] Add building placement.
- [ ] Add primitive shelter.
- [x] Add building placement.
- [x] Add primitive shelter.
- [ ] Add storage container.
- [ ] Add save/load for players.
- [ ] Add save/load for structures.
- [x] Add save/load for structures.
- [ ] Add save/load for containers.
- [ ] Add server restart persistence test.
- [ ] Add one full day/night survival test.
@@ -1035,8 +1105,8 @@ These tracks run across all phases and must not be left as afterthoughts.
- [ ] Add join flow.
- [ ] Add replicated inventory validation.
- [ ] Add replicated building validation.
- [ ] Add wildlife prototype.
- [ ] Add harvesting.
- [x] Add wildlife prototype.
- [x] Add harvesting.
- [ ] Add injury placeholder.
- [ ] Add reconnect test.
- [ ] Add 2-4 player internal test.
@@ -1048,7 +1118,7 @@ These tracks run across all phases and must not be left as afterthoughts.
- [ ] Add simple barter placeholder if feasible.
- [ ] Define AGR integration design.
- [ ] Define account/wallet bridge design.
- [ ] Add admin commands.
- [x] Add admin commands.
- [ ] Add test feedback form/process.
- [ ] Improve UI clarity.
@@ -1080,7 +1150,7 @@ The first playable MVP is not complete until:
- [ ] Weather and time affect survival.
- [ ] Hunger and thirst matter.
- [ ] Injury or damage can create meaningful risk.
- [ ] At least one wildlife system exists.
- [~] At least one wildlife system exists.
- [ ] Inventory works and replicates.
- [ ] Server restart preserves core state.
- [ ] The game communicates what to do without hand-holding too much.
@@ -1090,11 +1160,23 @@ The first playable MVP is not complete until:
# Near-Term Next Actions
- [ ] Mount or create reliable local access path to the NAS `shared_drive` project.
- [ ] Decide whether to create a Git repository for the Unreal project.
- [ ] Inspect `Source/` and current Unreal project structure.
- [ ] Confirm Unreal Engine version.
- [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.
- [ ] Confirm whether it compiles cleanly.
- [ ] Create Phase 0 task board from this roadmap.
- [ ] Start with base character, interaction, stats, inventory, and test map.
- [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.
Next version .01 priorities:
- [ ] Pull latest and confirm `66b5322` wildlife build succeeds on Windows.
- [ ] Open the project in Unreal Editor from the clean Git checkout.
- [ ] Create the first editor assets needed for the playable loop.
- [ ] Place and test the first gatherable resource node.
- [ ] Place and test the campfire.
- [ ] Place and test the primitive shelter.
- [ ] Place and test the first wildlife Blueprint.
- [ ] Add simple survival/inventory HUD feedback.
- [ ] Run the first full gather -> craft -> place -> save -> load test.