258 KiB
Agrarian Codex Handoff
Agrarian 0.1.O Readable Survival Object Proxies - 2026-05-19
- Completed the sixth
0.1.O Investor Visual MVP And Menu Polishitem:Replace box/sphere/cylinder survival objects with readable MVP meshes for campfires, primitive shelter pieces, resource pickups, water sources, wildlife, and gathered items. - Latest pushed game commit:
63f48bc Add readable MVP survival object proxies. - Changes:
- added composed native child mesh proxies for campfires: stone/ash base, stacked logs, and ember proxy.
- added composed primitive-shelter proxies: floor, rear wall, sloped roof panels, and frame posts.
- added pickup/resource-node bundle and marker proxies so gathered items and harvestable nodes no longer read as single debug primitives.
- added water-source proxies: stone bank, water surface, and collect marker.
- added wildlife body/head/ear/tail proxies suitable for the MVP rabbit/ small-wildlife pass.
- kept the existing root components as the gameplay collision/interaction/ save/replication contract; all added child visuals use no collision.
- added
Docs/CharactersAndObjects/MvpReadableSurvivalObjectProxies.md. - added
Scripts/verify_mvp_readable_survival_object_proxies.py. - marked the roadmap item complete.
- Verification completed:
python3 Scripts/verify_mvp_readable_survival_object_proxies.pypython3 -m py_compile Scripts/verify_mvp_readable_survival_object_proxies.pygit diff --check- Windows editor compile via
Scripts\BuildEditor-Windows.bat
- Deployment classification: client visual/game-code only. No multiplayer server deployment is required for this item.
- Remaining known warning:
existing direct
NetCullDistanceSquareddeprecation warnings remain in gameplay actors and are already tracked for future cleanup.
Agrarian 0.1.O MVP Character Proxy Selection - 2026-05-19
- Completed the fifth
0.1.O Investor Visual MVP And Menu Polishitem:Add first realistic playable character proxies for the selected young adult male and female archetypes, replacing the default mannequin/dummy presentation for investor builds. - Latest pushed game commit:
bc7617b Add MVP character proxy selection. - Changes:
- added selected male/female MVP proxy application to
AAgrarianGamePlayerController. - menu completion now issues
AgrarianSelectCharacter male|femalebased on the selected archetype before gameplay input resumes. - male proxy uses
SKM_Manny_Simple; female proxy usesSKM_Quinn_Simple. - added earth-tone Agrarian workwear material assets for both proxies under
Content/Agrarian/Characters/Materials. - added
Scripts/setup_mvp_character_proxies.py. - added
Docs/Characters/MvpCharacterProxies.md. - added
Scripts/verify_mvp_character_proxies.py. - always-cook coverage now includes
/Game/Agrarian/Characters. - updated the character-archetype verifier for the UMG click-handler path.
- marked the roadmap item complete.
- added selected male/female MVP proxy application to
- Verification completed:
python3 Scripts/verify_mvp_character_proxies.pypython3 Scripts/verify_mvp_character_archetype_choice.pypython3 -m py_compile ...git diff --check- Windows Unreal Python:
Scripts\setup_mvp_character_proxies.py - Windows editor compile via
Scripts\BuildEditor-Windows.bat
- Deployment classification: client character/UI/C++/asset cook only. No multiplayer server deployment is required for this item.
- Caveat: these are still MVP proxy humans based on the available mannequin meshes, not final production character art. They replace the single default dummy presentation and create the runtime selection path for final realistic assets.
Agrarian 0.1.O GPU Startup Visual Test Gate - 2026-05-19
- Completed the fourth
0.1.O Investor Visual MVP And Menu Polishitem: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. - Latest pushed game commit:
11a1304 Add GPU startup visual test gate. - Changes:
- added
Docs/Ops/PackagedClientGpuStartupVisualTest.mdwith the real-GPU startup visual test process. - added
Scripts/RunWindowsGpuStartupVisualCheck.batfor Windows-side packaged-demo and Sunshine service checks before a Moonlight capture session. - added
Scripts/verify_packaged_client_gpu_startup_visual_test.py. - linked the new packaged-client visual test from
Docs/Ops/WindowsBuilderGpuRemoteAccess.md. - marked the roadmap item complete.
- added
- Verification completed:
python3 Scripts/verify_packaged_client_gpu_startup_visual_test.pypython3 -m py_compile Scripts/verify_packaged_client_gpu_startup_visual_test.pygit diff --check- Windows helper check:
Scripts\RunWindowsGpuStartupVisualCheck.bat --check-toolsreported the packaged demo exists andSunshineServiceis running.
- Deployment classification: visual QA/docs/scripts only. No multiplayer server deployment is required for this item.
Agrarian 0.1.O Segmented Startup/Pause Flow - 2026-05-19
- Completed the third
0.1.O Investor Visual MVP And Menu Polishitem: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. - Latest pushed game commit:
de02b20 Segment MVP startup and pause flow. - Changes:
- startup/menu control now uses UI-only input while credits and MVP menus are active.
- added explicit segment labels for character selection, server join, loading, pause, and saving.
- pause menu now states that gameplay is paused while the menu is active.
- Save & Quit now transitions through a dedicated
Saving Worldscreen before issuingAgrarianSaveWorldandquit. - added
SavingAndQuitto the MVP frontend screen enum and debug screen selection path. - added
Scripts/verify_mvp_segmented_startup_pause_flow.py. - updated existing menu/startup verifiers for the UMG frontend and UI-only input flow.
- marked the roadmap item complete.
- Verification completed:
python3 Scripts/verify_mvp_segmented_startup_pause_flow.pypython3 Scripts/verify_mvp_menu_input_and_quit_flow.pypython3 Scripts/verify_startup_credits_sequence.pypython3 Scripts/verify_mvp_frontend_umg_flow.pypython3 -m py_compile ...git diff --check- Windows editor compile via
Scripts\BuildEditor-Windows.bat
- Deployment classification: client UI/C++ only. No multiplayer server deployment is required for this item.
- Remaining known warning:
existing direct
NetCullDistanceSquareddeprecation warnings remain in gameplay actors and are already tracked for future cleanup.
Agrarian 0.1.O UMG Menu Flow - 2026-05-19
- Completed the second
0.1.O Investor Visual MVP And Menu Polishitem: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. - Latest pushed game commit:
af1edb5 Replace MVP frontend with UMG menu flow. - Changes:
- converted
UAgrarianMvpFrontendWidgetaway from native Slate paint and manual hit-box mouse handling. - rebuilt the MVP frontend with runtime UMG
WidgetTreecontrols:UButton,UTextBlock,UVerticalBox,UHorizontalBox,UBorder, andUSizeBox. - added real click handlers for primary action, back, save/quit, and male/ female pioneer selection.
- added hover/pressed button styling and keyboard focus handoff to the primary action button.
- preserved the existing player-controller API for screen switching, character selection, high-contrast mode, confirm/back, and save/quit.
- added
Scripts/verify_mvp_frontend_umg_flow.py. - marked the roadmap item complete.
- converted
- Verification completed:
python3 Scripts/verify_mvp_frontend_umg_flow.pypython3 -m py_compile Scripts/verify_mvp_frontend_umg_flow.pygit diff --check- Windows editor compile via
Scripts\BuildEditor-Windows.bat
- Deployment classification: client UI/C++ only. No multiplayer server deployment is required for this item.
- Remaining known warning:
existing direct
NetCullDistanceSquareddeprecation warnings remain in gameplay actors and are already tracked for future cleanup.
Agrarian 0.1.O Systems-First Investor Demo Classification - 2026-05-19
- Completed the first
0.1.O Investor Visual MVP And Menu Polishitem:Reclassify the current investor demo as systems-first, not investor visual MVP, until the visual/menu quality gate below is complete. - Latest pushed game commit:
2a336ff Classify investor demo as systems first. - Changes:
- added
Docs/Investor/InvestorDemoStatus.mdwith the current systems-first prototype classification and the visual MVP gate criteria. - updated investor legal notices to explicitly say the build is not yet an investor visual MVP.
- updated startup/demo notice text to
Systems-first investor prototype - visual MVP gate pending. - updated packaged Windows demo README generation to include the same classification and warning.
- marked the roadmap item complete.
- added
- Verification completed:
python3 Scripts/verify_investor_demo_systems_first_status.pypython3 -m py_compile Scripts/verify_investor_demo_systems_first_status.py Scripts/verify_startup_credits_sequence.pygit diff --check
- Deployment classification: client presentation/docs/packaged README only. No multiplayer server deployment is required for this item.
Agrarian 0.1.D Ground Zero Backfill / Windows Investor Demo Built - 2026-05-19
- Completed the remaining
0.1.D Single Biome MVP Mapitems after the investor-polish rule change:Create playable test mapAdd resource nodes
- Latest pushed game commit:
25e20c8 Finish Ground Zero playable map resources. - Changes:
- updated the Ground Zero playable-map verifier to validate the current real-terrain demo map instead of deprecated flat-test labels.
- verifier now checks safe player start, nearby wood/fiber/water/fire/ shelter/wildlife loop actors, map boundary, sky/weather controllers, and absence of legacy flat-test actors.
- updated the playable loop smoke test to use the current Ground Zero demo actor labels.
- extended resource verification across wood, fiber, edible plants, and stone to require stable persistence IDs, yield item IDs, remaining harvests, and readable first-pass material assignments.
- added the edible-plant material to natural-environment verification/docs.
- marked both remaining
0.1.Droadmap items complete.
- Verification completed:
python3 -m py_compile Scripts/verify_test_map_placements.py Scripts/verify_ground_zero_resources.py Scripts/verify_ground_zero_natural_environment_pass.py Scripts/verify_playable_loop_smoke.pygit diff --check- Windows Unreal:
Scripts\verify_test_map_placements.py- passed with 11 critical actors checked.
- map check reported 0 errors and 0 warnings.
- Windows Unreal:
Scripts\verify_ground_zero_resources.py- passed with 4 wood, 5 fiber, 3 edible plant, and 4 stone nodes.
- Windows Unreal:
Scripts\verify_ground_zero_natural_environment_pass.py- passed with 9 materials, 1 landscape, 17 dressed resource/water actors, and 11 variation actors.
- Windows Unreal:
Scripts\verify_playable_loop_smoke.py- passed natural gather/craft/place/save/restore loop.
- Windows package status:
- package completed with
BUILD SUCCESSFUL. - output path:
/mnt/projects/AgrarianGameBulid/Builds/WindowsDevelopment. - verified
AgrarianGame.exe,Start Agrarian Demo.cmd,Start Agrarian Demo - DX12.cmd,Start Agrarian Demo - Compatibility DX11.cmd,Install Prerequisites.cmd, andREADME-Investor-Demo.txt. - output folder size checked at approximately
1.1G. - packaged README still shows
Investor Demo v0.1.N - Build 2026.05.18; this was left unchanged because the work was a 0.1.D roadmap backfill on top of the current investor build line, not a version downgrade.
- package completed with
- Deployment classification: client/map/docs/verification only. No multiplayer server deployment was required or performed.
- Remaining known warning:
existing direct
NetCullDistanceSquareddeprecation warnings remain and are already tracked in the roadmap under0.1.P MVP QA Gates. - Automation note:
item and final workflow summary emails delivered through
pacificao-maillocal delivery tooling; AWS SES is not used for Agrarian workflow emails.
Agrarian MVP Menu Input / Save-Quit Rebuild - 2026-05-18
- Fixed the follow-up investor-demo menu issue where the character selection screen could still feel like it arrived after gameplay had begun and input could fail to advance reliably.
- Latest pushed game commit:
b9efcdf Harden MVP menu input and quit flow. - Changes:
- player movement/look input is now suppressed during the startup credits delay and restored only after the MVP menu flow is completed.
- keyboard fallback input now handles Enter/Space, Backspace, and Escape at the player-controller level when the MVP widget is visible.
- mouse clicks remain owned by the widget hit regions so character card selection and button clicks do not accidentally skip screens.
- Escape now opens an MVP game menu after the frontend flow closes.
- the MVP game menu includes Resume and Save & Quit.
- Save & Quit runs
AgrarianSaveWorldbefore issuingquit. - the frontend backdrop is nearly opaque while active so the selection flow reads as its own segment after the credits.
- Verification completed:
python3 -m py_compile Scripts/verify_mvp_character_selection_landing.py Scripts/verify_mvp_character_archetype_choice.py Scripts/verify_mvp_join_server_screen.py Scripts/verify_mvp_loading_screen.py Scripts/verify_startup_credits_sequence.py Scripts/verify_mvp_menu_input_and_quit_flow.pypython3 Scripts/verify_mvp_character_selection_landing.pypython3 Scripts/verify_mvp_character_archetype_choice.pypython3 Scripts/verify_mvp_join_server_screen.pypython3 Scripts/verify_mvp_loading_screen.pypython3 Scripts/verify_startup_credits_sequence.pypython3 Scripts/verify_mvp_menu_input_and_quit_flow.pygit diff --check- Windows editor compile via
Scripts\BuildEditor-Windows.bat - Windows investor package via
Scripts\PackageWindowsDevelopment.bat
- Windows package status:
- package completed with
BUILD SUCCESSFUL. - output path:
/mnt/projects/AgrarianGameBulid/Builds/WindowsDevelopment. - verified
AgrarianGame.exe,Start Agrarian Demo.cmd, andREADME-Investor-Demo.txt. - output folder size checked at approximately
1.1G. - packaged README still shows
Investor Demo v0.1.N - Build 2026.05.18.
- package completed with
- Remaining known warning:
existing direct
NetCullDistanceSquareddeprecation warnings remain and are already tracked in the roadmap under0.1.P MVP QA Gates.
Agrarian MVP Menu/Credits Fix - 2026-05-18
- Fixed the MVP startup/menu issue reported in the investor demo.
- Latest pushed game commit:
15b40c5 Use supported MVP menu focus API. - Main menu-flow commit:
3aac902 Fix MVP menu startup and mouse flow. - Changes:
- startup credits now play as their own full-screen segment before the MVP character menu appears.
- MVP frontend waits for the credits window before spawning.
- mouse cursor/input is enabled for the MVP menu.
- painted menu now has explicit mouse hit regions for character cards, continue, back, and enter-world actions.
Choose your first settlerwas replaced withChoose your first pioneer.- loading screen now has an
Enter Ground Zeroaction that closes the MVP menu and restores game input.
- Verification completed:
python3 Scripts/verify_mvp_character_selection_landing.pypython3 Scripts/verify_mvp_character_archetype_choice.pypython3 Scripts/verify_mvp_join_server_screen.pypython3 Scripts/verify_mvp_loading_screen.pypython3 Scripts/verify_startup_credits_sequence.pygit diff --check- Windows editor build via
Scripts\BuildEditor-Windows.bat
- Windows package status:
- C++ targets compiled successfully.
- cook/stage completed successfully.
- normal archive to
Builds\WindowsDevelopmentcould not safely overwrite because the existing demo files were locked over SMB, likely by an active or recently tested demo process. - copied the successful staged build to:
/mnt/projects/AgrarianGameBulid/Builds/WindowsDevelopment-MenuFix-20260518. - installed investor demo launchers in that fresh folder.
- verified the fresh folder contains
AgrarianGame.exe,Start Agrarian Demo.cmd, andREADME-Investor-Demo.txt. - verified packaged README still shows
Investor Demo v0.1.N - Build 2026.05.18.
- Remaining known warning:
existing direct
NetCullDistanceSquareddeprecation warnings remain and are already tracked in the roadmap under0.1.P MVP QA Gates.
Agrarian 0.1.N Complete / Windows Investor Demo Built - 2026-05-18
- Completed
0.1.N MVP UI And UXand built the Windows investor demo. - Latest pushed game commit:
a2cf951 Fix persistence subsystem forward declaration. - Final 0.1.N UI commit before build:
485dd61 Verify MVP UI resolution scaling. - Demo metadata commit:
43cece4 Update investor demo metadata to 0.1.N. - Build output:
/mnt/projects/AgrarianGameBulid/Builds/WindowsDevelopment. - Investor demo version verified from the packaged README:
Investor Demo v0.1.N - Build 2026.05.18. - Primary launchers/output:
/mnt/projects/AgrarianGameBulid/Builds/WindowsDevelopment/Start Agrarian Demo.cmd/mnt/projects/AgrarianGameBulid/Builds/WindowsDevelopment/Start Agrarian Demo - DX12.cmd/mnt/projects/AgrarianGameBulid/Builds/WindowsDevelopment/Start Agrarian Demo - Compatibility DX11.cmd/mnt/projects/AgrarianGameBulid/Builds/WindowsDevelopment/AgrarianGame.exe
- Build verification completed:
- synced Windows build share to
a2cf951 - ran
Scripts\PackageWindowsDevelopment.batthrough the Windows build VM - Unreal editor target compiled successfully
- packaged game target compiled successfully
- cook/stage/archive completed with
BUILD SUCCESSFUL - output folder size checked at approximately
1.1G
- synced Windows build share to
- Build notes:
- the first package attempt exposed a missing forward declaration for
UAgrarianPersistenceSubsysteminAgrarianGameGameMode.h; fixed and pushed before the successful build. - Unreal still reports non-blocking deprecation warnings for direct
NetCullDistanceSquaredaccess. Track as future cleanup before Unreal API upgrades.
- the first package attempt exposed a missing forward declaration for
- Deployment classification: client UI/build only for 0.1.N. No multiplayer server deployment was required or performed.
- Automation note:
final workflow summary email delivered through
pacificao-maillocal delivery tooling; AWS SES is not used for Agrarian workflow emails.
Agrarian 0.1.N UI Common Resolution Scaling - 2026-05-18
- Completed the final
0.1.N MVP UI And UXroadmap item:Ensure UI scales on common resolutions. - Latest pushed game commit:
485dd61 Verify MVP UI resolution scaling. - Tightened the native MVP frontend panel layout around explicit margins, preferred panel dimensions, minimum panel bounds, and the existing supported UI scale range.
- Added static/resolution verifier:
/home/nathan/AgrarianGameBuild/Scripts/verify_mvp_ui_common_resolution_scaling.py. - Verification completed:
python3 -m py_compile Scripts/verify_mvp_ui_common_resolution_scaling.pypython3 Scripts/verify_mvp_ui_common_resolution_scaling.pygit diff --check
- Deployment classification: client UI only. No multiplayer server deployment is required for this item.
- Automation note:
item summary email delivered through
pacificao-maillocal delivery tooling; AWS SES is not used for Agrarian workflow emails. - Roadmap state:
0.1.N MVP UI And UXis complete. Next required action is updating investor demo metadata, building the Windows investor demo, verifying the output, and stopping. Multiplayer deployment is only needed if final build review finds a server-relevant change.
Latest AgrarianGameBuild Update - 2026-05-17
-
Added native cinematic startup credits to the investor-demo notice sequence.
-
Latest pushed game commit:
075689d Add cinematic startup credits. -
Credits include Nathan, Hunter, Lisa, River, Fisher, and the funding note for cherished individuals, Pacificao seed funding, and Lina Family Investment Funds.
-
The credits run as native Slate drawing in
UAgrarianDemoNoticeWidget: each card slams in, holds briefly with a stylized illustration, and slides out. -
Updated investor demo labels to
0.1.H. -
Added forest-fire risk/spread from irresponsible campfire/open-flame placement to the roadmap as a future server-authoritative system.
-
Validation completed:
python3 -m py_compile Scripts/verify_startup_credits_sequence.pypython3 Scripts/verify_startup_credits_sequence.pygit diff --check- Windows editor build via
Scripts\BuildEditor-Windows.bat
-
Next required action: rebuild the Windows investor demo from
075689d, verify archive output, and stop. -
Completed the final
0.1.H Fire Systemroadmap item:Connect rain/weather to fire behavior. -
Latest pushed game commit:
879a480 Connect campfires to weather. -
Campfires now read replicated
AAgrarianGameState::Weather, burn fuel faster in rain and storms, and deterministically extinguish when wet weather leaves fuel below the low-fuel threshold. -
Added
AAgrarianCampfireBlueprint helpers:GetWeatherFuelDrainMultiplier()andIsWetWeatherActive(). -
Added static verifier:
/mnt/projects/AgrarianGameBulid/Scripts/verify_fire_weather_behavior.py. -
Validation completed:
python3 -m py_compile Scripts/verify_fire_weather_behavior.pypython3 Scripts/verify_fire_weather_behavior.pygit diff --check- Windows editor build via
Scripts\BuildEditor-Windows.bat
-
Roadmap state:
0.1.H Fire Systemis complete.- Next required action in the active workflow is building the Windows investor demo and stopping.
Project State
Active repo:
/var/www/root_builds/agrarian
Unraid Build Support Box
Unraid host being built to support Agrarian game/build work:
Host: DevBox
IP: 192.168.5.8
SSH user: root
Do not store the plaintext Unraid password in this handoff file.
SMB / Windows share troubleshooting completed 2026-05-11:
- The initially supplied IP
192.168.4.8was wrong/unreachable. - Correct IP
192.168.5.8is reachable by SSH. - Samba is running and listening on ports
139and445. - WSD discovery is running via
wsdd2on ports3702and5355. - NetBIOS is disabled, so old Windows Network browsing is not expected to work; modern Windows should use WSD or direct UNC paths.
- Workgroup is
WORKGROUP. - The issue was that all shares had SMB export disabled with
shareExport="-", leaving/etc/samba/smb-shares.confempty. - After fixing share export, Samba lists these shares:
appdata,backups,domains,isos,projects,system, andIPC$.
Verification command:
ssh root@192.168.5.8 'smbclient -L //127.0.0.1 -N -m SMB3'
Windows direct access path for build work:
\\192.168.5.8\projects
Security follow-up: at verification time the exported shares were public and
writeable. That is convenient for setup, but appdata, domains, and system
should be locked down or hidden after the Windows workflow is confirmed.
Ubuntu-Codex VM repair completed 2026-05-11:
- VM name:
Ubuntu-Codex. - It was running in libvirt but showing the OVMF UEFI shell instead of booting.
- The vdisk was blank/uninstalled:
/mnt/cache/domains/Ubuntu-Codex/vdisk1.img, raw 50 GiB. - The attached Ubuntu ISO was corrupt/sparse. Kernel extraction produced zeroed
data, and GRUB reported
invalid magic number/you need to load the kernel first. - Bad ISO preserved at:
/mnt/cache/isos/ubuntu-24.04.4-live-server-amd64.iso.bad-sparse. - Fresh Ubuntu Server ISO downloaded from Ubuntu releases and verified against
SHA256SUMSasOK. - VM config changed to:
- BIOS boot instead of OVMF/pure EFI.
- 4 GiB RAM.
- 4 vCPU, 2 cores x 2 threads.
- CD-ROM boot order 1, vdisk boot order 2.
- Previous VM XML backup:
/boot/config/Ubuntu-Codex.before-bootfix-20260511.xml. - Final verification: VM reaches the Ubuntu Server installer language screen.
- After installation, eject/remove the ISO or set vdisk first so it boots into the installed OS.
Windows 11 ISO refresh completed 2026-05-11:
- Existing
Win11_25H2_English_x64_v2.isowas sparse/incomplete: logical size 7.9 GiB, actual disk use about 406 MiB. - Bad copy preserved at:
/mnt/cache/isos/Win11_25H2_English_x64_v2.iso.bad-sparse. - Fresh Microsoft-hosted ISO downloaded to:
/mnt/cache/isos/Win11_25H2_English_x64_v2.iso. - Verified SHA256:
768984706b909479417b2368438909440f2967ff05c6a9195ed2667254e465e3. - File ownership/permissions normalized for Unraid share access:
nobody:users, mode0666.
VirtIO driver ISO refresh completed 2026-05-11:
- Existing
virtio-win-0.1.285.isowas sparse/incomplete: logical size 754 MiB, actual disk use about 94 MiB. - Bad copy preserved at:
/mnt/cache/isos/virtio-win-0.1.285.iso.bad-sparse. - Fresh Fedora
virtio-winstable ISO downloaded to:/mnt/cache/isos/virtio-win-0.1.285.iso. - Verified byte size
789645312and representative Windows 11 amd64 driver files undervioscsi,viostor,NetKVM, andBalloon. - Verified SHA256:
e14cf2b94492c3e925f0070ba7fdfedeb2048c91eea9c5a5afb30232a3976331. - File ownership/permissions normalized for Unraid share access:
nobody:users, mode0666.
Windows-Builder VM created on Unraid 2026-05-12:
- VM name:
Windows-Builder. - Intended role: Windows build/Unreal development VM.
- No GPU passthrough yet; initial graphics is VNC/QXL.
- Machine/firmware: Q35 (
pc-q35-9.2) with OVMF pure EFI. - CPU/RAM: 8 vCPU with topology 4 cores x 2 threads, 8 GiB RAM.
- Disk: 100 GiB raw VirtIO disk at
/mnt/cache/domains/Windows-Builder/vdisk1.img. - Attached Windows ISO:
/mnt/cache/isos/Win11_25H2_English_x64_v2.iso. - Attached VirtIO ISO:
/mnt/cache/isos/virtio-win-0.1.285.iso. - Network: bridged to
br0with VirtIO NIC. - TPM 2.0 emulator enabled for Windows 11 installer compatibility.
- UUID:
4244a763-91ae-4745-b417-224d42e9fb20. - MAC:
52:54:00:17:ec:5d. - Verified VM starts successfully. VNC display was
:1/ TCP5901at creation time.
Windows-Builder boot fix 2026-05-12:
- User saw the OVMF mapping table / UEFI shell instead of Windows setup.
- Found the VM definition had drifted to bad install values: max memory about 14 GiB, current memory 1 GiB, and no TPM.
- Backups saved on Unraid:
/boot/config/Windows-Builder.before-bootfix-20260512.xml/boot/config/Windows-Builder.VARS.before-bootfix-20260512.fd
- Re-defined VM with 8 GiB current/max RAM, 8 vCPU, OVMF/Q35, TPM 2.0, VNC/QXL, Windows ISO boot order 1, VirtIO disk boot order 2, and a five-second OVMF boot menu.
- Reset OVMF vars from
/usr/share/qemu/ovmf-x64/OVMF_VARS-pure-efi.fd. - Started VM, sent a boot key during the Windows DVD prompt, and verified by screenshot that Windows 11 Setup reached the language selection screen.
Windows-Builder RDP/QEMU tools update 2026-05-13:
- Installed local headless RDP tooling on the Codex host:
freerdp2-x11,xvfb,xdotool, andimagemagick. - Used headless RDP to connect to
192.168.5.12as local adminnathan. - Extracted
qemu-ga-x86_64.msiandvirtio-win-guest-tools.exefrom the VirtIO ISO on Unraid and staged them through RDP drive redirection. - Copied installers into
C:\Users\nathan\Downloads. - Installed QEMU Guest Agent from an elevated Windows command prompt.
- Verified Windows service
QEMU-GAis running. - Verified from Unraid:
virsh domifaddr Windows-Builder --source agentreports192.168.5.12/22.- guest agent responds to
guest-info, version110.0.2. - active NIC is
Red Hat VirtIO Ethernet Adapter, statusUp, MAC52-54-00-17-EC-5D, link speed10 Gbps. - RDP/SMB/RPC remain reachable on
192.168.5.12.
- Also ran
virtio-win-guest-tools.exe /Sfrom elevated prompt to install the bundled VirtIO guest tools package.
Ubuntu-Codex VM network fix 2026-05-13:
- Initial SSH to
nathan@192.168.5.10failed withNo route to host. - From Unraid, the VM was running with VirtIO NIC model but no guest IPv4.
- Runtime NIC MAC was
34:c9:3d:2d:09:74, conflicting with the Unraid host wireless-derived MAC pattern and unsuitable for a VM. - XML backups saved on Unraid:
/boot/config/Ubuntu-Codex.before-netfix-20260513.xml/boot/config/Ubuntu-Codex.persistent.before-netfix-20260513.xml
- Changed persistent VM NIC MAC to
52:54:00:a5:cf:63. - Mounted the guest vdisk offline via
qemu-nbd; logs confirmed Ubuntu already hadvirtio_netin use, so there is no separate Linux VirtIO network driver package like on Windows. - Added
/etc/netplan/99-static-enp1s0.yamlwith static192.168.5.10/22, gateway192.168.4.1, DNS192.168.4.1and1.1.1.1. - Disabled cloud-init network rewrites with
/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg. - Installed
qemu-guest-agent; Unraid can now report guest IPs through the agent. - Verified SSH works,
enp1s0is up at192.168.5.10/22,ethtool -i enp1s0reports drivervirtio_net, and a 20-packet ping test had0%loss. - Passwordless sudo enabled for
nathanvia/etc/sudoers.d/90-nathan-nopasswd. - Verified with
visudo -cf /etc/sudoers.d/90-nathan-nopasswdandsudo -n true.
Ubuntu-Codex DevBox SMB name-resolution fix 2026-05-13:
- User reported CIFS mount path
//DevBox/projectsfailed before mounting withcould not resolve address for DevBox. - Did not mount the share.
- Cause: Ubuntu was only using
/etc/hostsplus DNS for host lookup; DNS did not knowDevBox. Unraid has NetBIOS disabled and WSD enabled, which is fine for Windows discovery but not enough for Linux bare-name CIFS resolution. - Backed up Ubuntu hosts file to:
/etc/hosts.bak.20260513-devbox-resolution. - Added:
192.168.5.8 DevBox devbox DevBox.local devbox.local. - Verified
getent hosts DevBox,ping DevBox, and SMB port 445 via hostname. Share was not mounted.
Agrarian Earth-scale tile streaming design update 2026-05-15:
- Completed the roadmap item to create the Earth-scale terrain/tile streaming design document.
- Repo path:
/mnt/projects/AgrarianGameBulid/Docs/Terrain/EarthScaleTileStreamingDesign.md - Content captured:
- 1 km x 1 km Earth-scale tile architecture for an eventual 510-520 million possible tile world.
- Ground Zero MVP tile identity:
gz_us_ca_pacifica_utm10n_e544_n4160. - Coordinate strategy: registry maps real-world coordinates to logical tiles; Unreal uses tile-local metric coordinates and World Partition placement.
- Projection, UTM-zone, dateline, and polar handling approach.
- Tile adjacency/stitching, package versioning, immutable publication, and save-data separation rules.
- MVP static HTTP tile delivery protocol using
http://maps.agrariangame.com:18080. - Decision: the LAN-hosted
Agrarian-TileServerVM is acceptable for MVP and internal closed testing; move public delivery to an external cloud/CDN path before broader public testing. - Client cache layout, cache retention, redownload/revalidation behavior, single-tile import pipeline, biome/resource inference pipeline, QA gates, and World Partition requirements.
- Roadmap updated:
- Marked the Earth-scale terrain/tile streaming design document complete.
- Marked related Phase 0.7 design decisions complete.
- Immediate next item is creating the economy and AGR design document.
Agrarian economy and AGR design update 2026-05-15:
- Completed the roadmap item to create the economy and AGR design document.
- Repo path:
/mnt/projects/AgrarianGameBulid/Docs/EconomyAndAgrDesignDocument.md - Content captured:
- Economy progression from survival barter to specialization, settlements, regional trade, and later AGR utility.
- MVP economy scope: secure barter/direct trade, ownership transfer, server-side validation, transaction records, and persistence.
- AGR MVP boundary: design/placeholder only; no token transfers, wallet requirement, paid survival advantage, marketplace, or real-money utility in the first playable MVP.
- Wallet/account direction: defer custodial vs non-custodial choice; do not store wallet secrets in the Unreal client, saves, logs, config, or repo.
- Testnet/devnet, confirmation, in-game ledger, anti-abuse, fairness, legal, compliance, and testing gates.
- Roadmap updated:
- Marked the economy and AGR design document complete.
- Marked related AGR design/planning items complete.
- Immediate next item is creating art direction, UX/HUD direction, coding standards, Blueprint standards, and asset/folder naming standards.
Agrarian art/UX/code/asset standards update 2026-05-15:
- Completed the roadmap item to create art direction, UX/HUD direction, coding standards, Blueprint standards, and asset/folder naming standards.
- Repo path:
/mnt/projects/AgrarianGameBulid/Docs/ArtUxCodeAndAssetStandards.md - Content captured:
- Grounded visual/art direction for real terrain, survival materials, Ground Zero, character presentation, and startup/demo UX.
- HUD/UX priorities for survival, interaction, inventory, crafting, building, weather, and player-facing copy.
Content/Agrarianfolder standards and Unreal asset naming prefixes.- Data asset and save/persistence standards.
- C++ and Blueprint standards for server authority, replication, categories, testing, and prototype content.
- Added
.gitkeepplaceholders for missing Agrarian content folders including Audio, Characters, Environment, Items, Materials, Prototypes, Systems, UI, Developer, Blueprint subfolders, and DataAsset subfolders. - Roadmap updated:
- Marked the standards item complete.
- Marked the corresponding Phase 0.3 and 0.4 folder/naming checklist items complete.
- Immediate next item is defining what qualifies as the 6-month MVP and what is explicitly excluded.
Agrarian six-month MVP definition update 2026-05-15:
- Completed the roadmap item to define what qualifies as the six-month MVP and what is explicitly excluded.
- Repo paths:
/mnt/projects/AgrarianGameBulid/Docs/SixMonthMvpDefinition.md/mnt/projects/AgrarianGameBulid/Docs/MvpSurvivalReadinessCriteria.md
- Content captured:
- Six-month MVP statement and acceptance checklist.
- Target test audience and player count: minimum 2-player proof, target 4-player closed-test smoke group, stretch 8-player test if stable.
- Required pillars for startup/entry, Ground Zero map, survival loop, time/weather, multiplayer, persistence, UI/UX, and build/operations.
- Explicit exclusions including full Earth-scale world, complete farming/livestock, family/generation systems, full economy/AGR utility, wallet linking, public Steam/Epic launch, vehicles, final art/audio, and public anti-cheat/moderation suite.
- Acceptable first-pass biome/resource accuracy for Ground Zero.
- Roadmap updated:
- Marked Version 0.01 Foundation Baseline complete.
- Advanced current version to
0.1 Foundational Survival MVP. - Immediate next item is deciding first-person, third-person, or hybrid camera.
- Milestone build rule:
- Fresh Windows Development packaged build completed successfully after the
0.01milestone closed. - Output archive:
/mnt/projects/AgrarianGameBulid/Builds/WindowsDevelopment - Build command:
UNRAID_PASSWORD=... /home/nathan/bin/winbuilder cmd 'set AGRARIAN_NO_PAUSE=1 && pushd \\DevBox\projects\AgrarianGameBulid && Scripts\PackageWindowsDevelopment.bat' - Smoke launch used the packaged
AgrarianGame.exewith-nullrhi,-nosound, and an explicit log path:/mnt/projects/AgrarianGameBulid/Saved/Logs/PackagedSmoke-20260515-001.log - Smoke result: process was stopped after 60 seconds because it did not
auto-exit in headless mode, but the log confirms
UEngine::Browse,LoadMap, andLoad map completefor/Game/Agrarian/Maps/L_GroundZeroTerrain_Test.
- Fresh Windows Development packaged build completed successfully after the
Agrarian camera perspective decision update 2026-05-15:
- Completed the roadmap item to decide first-person, third-person, or hybrid camera.
- Decision: hybrid camera with third person as the default view and an optional first-person toggle that players can switch back from.
- Repo path:
/mnt/projects/AgrarianGameBulid/Docs/CameraPerspectiveDecision.md - Roadmap updated:
- Marked the camera decision complete in
1.1 Core Player Foundation. - Added
Implement first/third-person camera toggleas the next roadmap implementation item. - Immediate next item is implementing the first/third-person camera toggle.
- Marked the camera decision complete in
Agrarian roadmap aging/care-quality update 2026-05-15:
- User asked where the roadmap tracks character aging, lifetime care quality, stat effects based on care received, and visual skin/body aging.
- Updated
/mnt/projects/AgrarianGameBulid/AGRARIAN_DEVELOPMENT_ROADMAP.md. - Added near-term guardrails:
- Phase
1.2 Character Stats: reserve long-term care history fields for nutrition, illness, injury, sleep, shelter, stress, workload, and treatment quality. - Phase
1.13 Persistence MVP: save long-term character care history placeholders without applying aging gameplay yet.
- Phase
- Expanded Phase
4.1 Aging And Lifespanwith lifetime care quality model, lifetime care tracking, stat impacts, childhood/development care effects, and long-term consequences/benefits from poor or good care. - Added Phase
4.5 Character Visual Aging And Conditionfor visual age stages, skin aging, hair aging, body/posture aging, care-quality appearance, MetaHuman/material/mesh strategy, morph/material parameters, replication, persistence, and UI/profile presentation. - Immediate next roadmap item remains
Implement first/third-person camera toggle.
Unraid DevBox network discovery fix 2026-05-13:
- Fixed discovery on Unraid because Windows and Ubuntu clients could not reach
DevBoxby name. - Backups on Unraid:
/boot/config/ident.cfg.bak.20260513-discovery/boot/config/avahi-daemon.conf.bak.20260513-discovery/boot/config/go.bak.20260513-discovery
- Enabled NetBIOS in
/boot/config/ident.cfg:USE_NETBIOS="yes". - Restarted Samba; verified
nmbdis running and UDP 137/138 are listening. - Fixed Avahi runtime publishing:
host-name=DevBoxallow-interfaces=br0publish-workstation=yesuse-ipv6=no
- Restarted Avahi; it now advertises
DevBox.localinstead ofDevBox-4.local. - Added a boot-time block to
/boot/config/goso the Avahi runtime changes are re-applied after reboot. - Verified from Windows VM:
Resolve-DnsName DevBoxreturnsDevBox.localand IPv4192.168.5.8.Test-NetConnection DevBox -Port 445succeeds.Test-NetConnection DevBox.local -Port 445succeeds.
- Verified from
ubuntu-codex: hostname resolution and TCP 445 work forDevBoxandDevBox.local. - Caveat: arbitrary Linux clients using bare
//DevBox/...still need DNS or/etc/hostsfor the single-label name, or they should useDevBox.localwith mDNS enabled.
Active branch:
2.0
The 2.0 branch is intended to become the main development line after final build validation. The worktree may contain build-generated files after local compiles; do not commit generated build output.
Current Build Baseline
Validated locally during the final pre-main pass:
env JOBS=8 ./contrib/build-linux.sh
env JOBS=8 ./contrib/build-linux-wallet.sh
./contrib/smoke-test-daemon.sh
./contrib/smoke-test-wallet.sh
./contrib/smoke-test-qt.sh
Expected successful artifacts:
src/agrariand
src/agrarian-cli
src/agrarian-tx
src/qt/agrarian-qt
Additional validation completed during this pass:
ALLOW_ROOT_BUILD_MENU=1 AGRARIAN_MENU_CHOICE=windows-daemon WORKDIR=/var/www/root_builds/agrarian BRANCH=2.0 JOBS=8 ./contrib/agrarian-build-menu.sh
ALLOW_ROOT_BUILD_MENU=1 AGRARIAN_MENU_CHOICE=windows-qt WORKDIR=/var/www/root_builds/agrarian BRANCH=2.0 JOBS=8 ./contrib/agrarian-build-menu.sh
ALLOW_ROOT_BUILD_MENU=1 AGRARIAN_MENU_CHOICE=linux-arm64-daemon WORKDIR=/var/www/root_builds/agrarian BRANCH=2.0 JOBS=8 ./contrib/agrarian-build-menu.sh
ALLOW_ROOT_BUILD_MENU=1 AGRARIAN_MENU_CHOICE=linux-arm64-qt WORKDIR=/var/www/root_builds/agrarian BRANCH=2.0 JOBS=8 ./contrib/agrarian-build-menu.sh
The ARM64 daemon cross-build produced ARM aarch64 ELF binaries. The ARM64 Qt target correctly refused to run on x86_64 and remains native-only.
Build Menu
Use the menu for fresh-machine testing:
curl -L https://raw.githubusercontent.com/pacificao/agrarian/2.0/contrib/agrarian-build-menu.sh -o agrarian-build-menu.sh
chmod +x agrarian-build-menu.sh
BRANCH=2.0 ./agrarian-build-menu.sh
For controlled root-only environments only:
ALLOW_ROOT_BUILD_MENU=1 BRANCH=2.0 ./contrib/agrarian-build-menu.sh
The menu now includes Linux, Windows, and ARM64 targets. ARM64 daemon cross-build from x86_64 is supported. ARM64 Qt is native-only for now.
Network Notes
Mainnet P2P port:
51336
Seed nodes currently use:
node1.agrariancoin.com
node2.agrariancoin.com
node3.agrariancoin.com
node4.agrariancoin.com
node5.agrariancoin.com
The daemon has been used to test peer visibility with another node at
dev.barnealogy.com. Recheck connectivity after major consensus or network
changes.
Important Decisions
- Keep Berkeley DB at 4.8.30 for 2.0 wallet compatibility.
- Do not upgrade to BDB 18.x in this release.
- Treat a SQLite wallet backend as a future migration project with backup, migration, and rollback documentation.
- For now, Linux validation is the fastest correctness loop, but Windows builds must pass before release.
- Do not assume Linux success guarantees Windows success; cross-build and Qt plugin/link behavior can fail independently.
Known Warning Areas
std::random_shuffledeprecation warnings remain.- Some vendored dependency warnings remain.
- Some old Boost/LevelDB warning noise remains.
- Cleanup should be correctness-driven, not broad cosmetic churn before release.
Safe Cleanup Pattern
Before committing, stage intentional source/doc/script files first, then revert unstaged build output:
git add <intentional files>
git restore .
git clean -nd
Only run git clean -fd after reviewing the dry-run output.
Ubuntu-Codex DevBox Project Mount / GitHub Setup - 2026-05-13
- On
ubuntu-codex(192.168.5.10), mounted Unraid//DevBox/projectsat/mnt/projects. - Persistent mount added to
/etc/fstabusing guest/public SMB access://DevBox/projects /mnt/projects cifs guest,uid=nathan,gid=nathan,file_mode=0775,dir_mode=0775,vers=3.1.1,noserverino,_netdev,nofail,x-systemd.automount,x-systemd.idle-timeout=600 0 0 - The
projectsshare is public on Unraid, so no SMB password is needed for this mount. - Installed
git-lfsonubuntu-codexand rangit lfs install. - GitHub SSH access on
ubuntu-codexwas configured with a GitHub-only SSH identity copied from the working local Codex host key. Do not write private key material or passwords into handoff files. - A newly generated Ubuntu-Codex-specific GitHub key was preserved as
~/.ssh/id_ed25519_ubuntu_codex_generated; it is not active unless added to GitHub later and referenced in~/.ssh/config. - Cloned the private Unreal project repo:
git@github.com:pacificao/AgrarianGameBuild.git - Clone target, matching the requested path spelling:
/mnt/projects/AgrarianGameBulid - Verification:
git status --short --branchreturned cleanmain...origin/main.git fetch --dry-run originsucceeded.git push --dry-run origin HEADsucceeded withEverything up-to-date.- Git LFS hooks under
.git/hooksare executable after changing CIFSfile_modeto0775.
Windows-Builder Tooling Setup - 2026-05-13
- Target toolchain for Agrarian Game build VM:
- Unreal Engine
5.7 - Visual Studio Community
2026
- Unreal Engine
- Previously installed/verified:
- VirtIO guest tools
- QEMU guest agent
- VirtIO network driver
- Installed Visual Studio Community 2026 from Microsoft stable 18.x bootstrapper:
- Install path:
C:\Program Files\Microsoft Visual Studio\2026\Community - Verified
devenv.exeexists. - Verified MSVC toolchain exists at:
C:\Program Files\Microsoft Visual Studio\2026\Community\VC\Tools\MSVC\14.51.36231 - Workloads requested:
Microsoft.VisualStudio.Workload.NativeDesktopMicrosoft.VisualStudio.Workload.NativeGame--includeRecommendedfor recommended SDK/tooling components.
- Install path:
- Installed Epic Games Launcher from official Epic MSI:
- MSI cached on Unraid:
/mnt/user/isos/EpicGamesLauncherInstaller.msi - Launcher verified at:
C:\Program Files\Epic Games\Launcher\Portal\Binaries\Win64\EpicGamesLauncher.exe
- MSI cached on Unraid:
- Git was intentionally skipped on Windows for now because
ubuntu-codexmanages the repository on/mnt/projects/\\DevBox\projects. - Remaining manual/interactive step:
- Log into Epic Games Launcher on Windows-Builder and install Unreal Engine
5.7. Epic does not provide a normal unauthenticated silent installer for launcher-managed Unreal Engine installs.
- Log into Epic Games Launcher on Windows-Builder and install Unreal Engine
Windows-Builder disk expansion on 2026-05-13:
- User increased VM virtual disk from 100GB to 250GB.
- Windows Disk Management could not extend
C:because the Windows Recovery partition was immediately afterC:. - Inside Windows:
- Disabled WinRE with
reagentc /disable. - Removed Disk 0 Partition 4, the small Recovery partition.
- Extended
C:to the supported maximum. - Re-enabled WinRE with
reagentc /enable.
- Disabled WinRE with
- Final state:
C:NTFS size:268207894528bytes, roughly 249.8GB.- Free space immediately after expansion:
206745464832bytes, roughly 192.6GB. - WinRE status: enabled, now located under partition 3 /
C:.
Agrarian Game Build Lane And Input Setup - 2026-05-13/14
- Current Unreal project checkout:
/mnt/projects/AgrarianGameBulid - Windows share path:
\\DevBox\projects\AgrarianGameBulid - Windows-Builder
P:drive:P:is mapped to\\DevBox\projectsfor the Windowsnathanuser.P:\AgrarianGameBulid\AgrarianGame.uprojectwas verified. - Persistent Windows mapping support:
- Scheduled task:
MapDevBoxProjectsPLogon - Script:
C:\Temp\map-p-drive.cmd - Log:
C:\Temp\map-p-drive.log
- Scheduled task:
- Codex Windows helper:
/home/nathan/bin/winbuilder- Uses Unraid QEMU guest agent to run Windows commands.
- Requires
UNRAID_PASSWORDin the environment. - Do not write the password into scripts or handoff files.
- Codex Unreal build helper:
/home/nathan/bin/agrarian-build-editor- Verified successful after latest input asset changes.
Repo commit completed:
744b3c3 Add interact input assets
That commit includes:
Scripts/RunUnrealPython-Windows.batScripts/setup_interact_input.pyScripts/verify_interact_input.pyContent/Input/Actions/IA_Interact.uasset- updated
Content/Input/IMC_Default.uasset - updated
Content/ThirdPerson/Blueprints/BP_ThirdPersonCharacter.uasset - updated
AGRARIAN_DEVELOPMENT_ROADMAP.md
Completed roadmap item:
- Created
IA_Interact. - Bound
IA_InteracttoE. - Bound
IA_InteracttoGamepad_FaceButton_Left. - Assigned
IA_InteracttoBP_ThirdPersonCharacter.InteractAction. - Verified the saved assets with a fresh Unreal command-mode load using
Scripts/verify_interact_input.py. - Verified
AgrarianGameEditor Win64 Developmentstill builds through the Codex headless Windows build lane.
Next roadmap item:
- Create item definition assets for wood, stone, fiber, food, meat, hide, and primitive structure parts.
Agrarian Item Definition Assets - 2026-05-13/14
Completed the item definition asset roadmap item.
Added scripts:
Scripts/setup_item_definitions.pyScripts/verify_item_definitions.py
Created data assets under:
/Game/Agrarian/DataAssets/Items
Created item definitions:
DA_Item_Wood/woodDA_Item_Stone/stoneDA_Item_Fiber/fiberDA_Item_Food/foodDA_Item_Meat/meatDA_Item_Hide/hideDA_Item_PrimitiveFrame/primitive_frameDA_Item_PrimitiveWallPanel/primitive_wall_panelDA_Item_PrimitiveRoofPanel/primitive_roof_panel
Verification:
Scripts/verify_item_definitions.pypassed in Unreal command mode from a fresh editor load./home/nathan/bin/agrarian-build-editorsucceeded after the new assets.
Roadmap:
AGRARIAN_DEVELOPMENT_ROADMAP.mdnow marks the item definition asset task complete.
Git:
- These item definition changes are not committed yet as of this handoff note.
Next roadmap item:
- Create recipe data assets for campfire, primitive shelter, basic tool, and bandage.
Agrarian Recipe Data Assets - 2026-05-13/14
Completed the recipe data asset roadmap item.
Added scripts:
Scripts/setup_recipe_definitions.pyScripts/verify_recipe_definitions.py
Created recipe data assets under:
/Game/Agrarian/DataAssets/Recipes
Created recipes:
DA_Recipe_Campfire/campfireDA_Recipe_PrimitiveShelter/primitive_shelterDA_Recipe_BasicTool/basic_toolDA_Recipe_Bandage/bandage
Verification:
Scripts/verify_recipe_definitions.pypassed in Unreal command mode from a fresh editor load./home/nathan/bin/agrarian-build-editorsucceeded after the new assets.
Roadmap:
AGRARIAN_DEVELOPMENT_ROADMAP.mdnow marks the recipe data asset task complete.- Primitive tool, campfire, shelter, and bandage recipe line items are marked complete under Primitive Crafting.
- Added a follow-up item to create item definition assets for craft result items: campfire, primitive shelter, basic tool, and bandage.
Git:
- These item and recipe asset changes are not committed yet as of this handoff note.
Next roadmap item:
- Create item definition assets for craft result items, then create Blueprint child actors for wood resource, campfire, primitive shelter, and first wildlife species.
Agrarian Crafted Result Items And Playable Blueprints - 2026-05-13/14
Completed the next roadmap item after recipe data assets.
Extended item definition scripts:
Scripts/setup_item_definitions.pyScripts/verify_item_definitions.py
Added crafted result item definitions:
DA_Item_Campfire/campfireDA_Item_PrimitiveShelter/primitive_shelterDA_Item_BasicTool/basic_toolDA_Item_Bandage/bandage
Added Blueprint helper scripts:
Scripts/setup_playable_blueprints.pyScripts/verify_playable_blueprints.py
Created Blueprint child actors:
/Game/Agrarian/Blueprints/Resources/BP_WoodResourceNode/Game/Agrarian/Blueprints/Structures/BP_Campfire/Game/Agrarian/Blueprints/Structures/BP_PrimitiveShelter/Game/Agrarian/Blueprints/Wildlife/BP_RabbitWildlife
Verification:
Scripts/verify_item_definitions.pypassed in Unreal command mode from a fresh editor load.Scripts/verify_playable_blueprints.pypassed in Unreal command mode from a fresh editor load./home/nathan/bin/agrarian-build-editorsucceeded after the new assets.
Roadmap:
AGRARIAN_DEVELOPMENT_ROADMAP.mdnow marks crafted result item definitions and first playable Blueprint child actors complete.
Git:
- These item, recipe, and Blueprint asset changes are not committed yet as of this handoff note.
Next roadmap item:
- Place the wood resource node, campfire, primitive shelter, and rabbit wildlife Blueprint in the test map.
Codex Local Session Config - 2026-05-13/14
Local Codex config was updated at:
/home/nathan/.codex/config.toml
Current important setting:
sandbox_mode = "danger-full-access"
Reason:
- The current session repeatedly hit:
bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted - New/resumed trusted sessions should avoid the broken Linux sandbox wrapper while keeping normal approval prompts active.
- This is not the full approval/sandbox bypass mode.
Security note:
- Do not store plaintext passwords, private SSH keys, Mailgun/API secrets, or Unraid/Windows login passwords in handoff files.
Agrarian Test Map Placements - 2026-05-13/14
Completed the next roadmap item after playable Blueprint child actors.
Added editor automation helper:
Source/AgrarianGame/AgrarianEditorAutomationLibrary.hSource/AgrarianGame/AgrarianEditorAutomationLibrary.cpp
Purpose:
- Exposes
SpawnActorInEditorWorldfor Unreal Python setup scripts. - Bypasses Unreal's viewport-backed editor placement path, which crashed in
command-mode
-NullRHIwhile spawning actors. Source/AgrarianGame/AgrarianGame.Build.csaddsUnrealEdonly for editor builds.
Added placement scripts:
Scripts/setup_test_map_placements.pyScripts/verify_test_map_placements.py
Placed actors in /Game/ThirdPerson/Lvl_ThirdPerson:
AGR_WoodResourceNode_01AGR_Campfire_01AGR_PrimitiveShelter_01AGR_RabbitWildlife_01
Verification:
Scripts/verify_test_map_placements.pypassed in Unreal command mode from a fresh editor load./home/nathan/bin/agrarian-build-editorsucceeded after the map placement and helper code changes.
Roadmap:
- Test map placement item is complete.
- Near-term placement/test items for wood resource, campfire, primitive shelter, and rabbit wildlife are complete.
Git:
- These map placement and helper-code changes are not committed yet as of this handoff note.
Next roadmap item:
- Run the first full gather -> inventory -> craft -> place shelter -> save/load loop.
Agrarian Playable Loop Smoke Test - 2026-05-13/14
Completed the next roadmap item after test map placement.
Updated editor automation:
- Extended
Source/AgrarianGame/AgrarianEditorAutomationLibrary.h - Extended
Source/AgrarianGame/AgrarianEditorAutomationLibrary.cpp
Added verification script:
Scripts/verify_playable_loop_smoke.py
What the smoke test covers:
- Loads
/Game/ThirdPerson/Lvl_ThirdPerson. - Finds placed
AGR_WoodResourceNode_01. - Spawns a test
BP_ThirdPersonCharacter. - Gathers wood through the real interactable resource node path.
- Seeds only currently-unobtainable primitive shelter ingredients.
- Crafts
primitive_shelterthroughUAgrarianCraftingComponent. - Places
BP_PrimitiveShelterthroughUAgrarianBuildingPlacementComponent. - Captures persistent actor state from
UAgrarianPersistentActorComponent. - Restores captured primitive shelter actors from saved state data.
Verification:
/home/nathan/bin/agrarian-build-editorsucceeded after helper changes.Scripts/verify_playable_loop_smoke.pypassed in Unreal command mode:PASS: gathered wood 0->2, crafted primitive_shelter, placed shelter, saved 2 persistent actor(s), restored 2 actor(s).
Roadmap:
- Gather -> inventory -> craft -> place shelter -> save/load data smoke loop is complete.
- Added follow-up item to make primitive shelter ingredients naturally obtainable in normal play.
- Added follow-up item for a later PIE/server persistence test using
UAgrarianPersistenceSubsystemwith a live GameInstance.
Git:
- These playable-loop smoke test changes are not committed yet as of this handoff note.
Next roadmap item:
- Test wildlife damage/death/harvest loop.
Agrarian Wildlife Damage/Harvest Smoke Test - 2026-05-14
Completed the next roadmap item after the playable loop smoke test.
Added verification script:
Scripts/verify_wildlife_loop.py
What the smoke test covers:
- Loads
/Game/ThirdPerson/Lvl_ThirdPerson. - Finds placed
AGR_RabbitWildlife_01. - Spawns a test
BP_ThirdPersonCharacter. - Applies nonlethal wildlife damage and verifies the rabbit enters fleeing state.
- Applies lethal wildlife damage and verifies the rabbit is dead.
- Harvests the dead rabbit.
- Verifies
meatandhideare added to the character inventory. - Verifies the rabbit cannot be harvested twice.
Verification:
Scripts/verify_wildlife_loop.pypassed in Unreal command mode:PASS: wildlife damage/death/harvest verified health 12.0->11.0->0, meat 0->1, hide 0->1.
Roadmap:
- Wildlife damage/death/harvest loop is complete.
- Wildlife damage task is complete.
Git:
- These wildlife smoke test changes are not committed yet as of this handoff note.
Next roadmap item:
- Make all primitive shelter ingredients obtainable through normal play.
Agrarian Natural Primitive Shelter Ingredient Loop - 2026-05-14
Completed the next roadmap item after wildlife damage/death/harvest testing.
Added recipe assets:
DA_Recipe_PrimitiveFrameDA_Recipe_PrimitiveWallPanelDA_Recipe_PrimitiveRoofPanel
Added gather path:
BP_FiberResourceNode- Placed
AGR_FiberResourceNode_01in/Game/ThirdPerson/Lvl_ThirdPerson
Updated existing playable assets:
- Wood resource node now has enough harvests for a full primitive shelter loop.
- Rabbit wildlife now yields 2 hide so one rabbit satisfies the shelter recipe.
Updated automation:
- Added
RunNaturalShelterLoopSmokeTesttoUAgrarianEditorAutomationLibrary. - Updated
Scripts/verify_playable_loop_smoke.pyso it no longer seeds missing shelter ingredients. It gathers wood, gathers fiber, harvests hide, crafts primitive frame/wall/roof parts, craftsprimitive_shelter, places it, and verifies save/restore state.
Verification:
Scripts/verify_recipe_definitions.pypassed.Scripts/verify_playable_blueprints.pypassed.Scripts/verify_test_map_placements.pypassed.Scripts/verify_playable_loop_smoke.pypassed:PASS: naturally gathered wood=26 fiber=24 hide=2, crafted parts 2/4/2, crafted and placed primitive_shelter, saved 2 persistent actor(s), restored 2 actor(s).Scripts/verify_wildlife_loop.pypassed after the hide-yield change:PASS: wildlife damage/death/harvest verified health 12.0->11.0->0, meat 0->1, hide 0->2.
Roadmap:
- Natural primitive shelter ingredients are complete.
- Fiber resource is complete.
- Primitive shelter structure part recipes are complete.
Git:
- These natural shelter loop changes are not committed yet as of this handoff note.
Next roadmap item:
- Add a PIE/server persistence test that exercises
UAgrarianPersistenceSubsystemwith a live GameInstance.
Agrarian Live GameInstance Persistence Automation - 2026-05-14
Completed the next roadmap item after the natural primitive shelter ingredient loop.
Added native Unreal automation:
Source/AgrarianGame/AgrarianPersistenceAutomationTest.cpp- Test name:
Agrarian.PersistenceSubsystem.LiveGameInstance
Updated editor automation:
- Added
RunPersistenceSubsystemSmokeTesttoUAgrarianEditorAutomationLibrary. - The smoke test uses the live
UAgrarianPersistenceSubsystem, a temporary save slot namedAgrarianAutomationPersistence, registers theprimitive_shelteractor class, saves a spawned shelter, reloads the save, restores the actor, verifies the counts, and deletes the temporary save slot.
Verification:
/home/nathan/bin/agrarian-build-editorpassed.- Unreal automation passed with:
Automation RunTests Agrarian.PersistenceSubsystem.LiveGameInstance - Result:
PASS: live persistence subsystem saved 1 actor(s), restored 1 actor(s), world now has 1 persistent actor(s).
Implementation note:
- The first test used
/Game/ThirdPerson/Lvl_ThirdPerson; the subsystem check passed, but command-mode PIE marked the test failed because that world-partition map emits a handled editor viewport ensure in headless mode. The final test creates a blank transient editor map before starting PIE so the result reflects the persistence subsystem only.
Roadmap:
- Live GameInstance persistence test is complete.
Git:
- These persistence automation changes are not committed yet as of this handoff note.
Next roadmap item:
- Decide whether to keep the current template variants or remove unused starter variants.
Agrarian Earth-Scale Terrain And Tile Roadmap Direction - 2026-05-14
The roadmap was updated with the long-term terrain/tile direction before moving to the next implementation task.
User direction captured:
- Agrarian should eventually support real-world terrain at very large scale.
- Terrain tile unit is 1 km x 1 km.
- Full Earth-scale coverage implies roughly 510-520 million possible tiles.
- Tiles should be generated and added over many years, not all at once.
- Tiles should be served from a server, cached locally, scrubbed when unused for a configured amount of time, and redownloaded if a player returns.
- Terrain height, ocean depth, mountains, hills, rivers, biomes, and natural resources should be derived from real-world data where practical.
- Travel should use believable real-world pacing for humans, animals, boats, tractors, cars, horses, etc., modified by age, condition, strength, endurance, terrain, fatigue, carried weight, hunger/thirst, and injury.
- Need to choose one "Ground Zero" 1 km x 1 km MVP tile and use it to prove automated terrain import, tile tracking, stitching, and World Partition placement.
Roadmap changes:
- Reordered the roadmap so Phase 0 comes before
Version .01 / 0.01. - Added Phase 0.7
Earth-Scale Terrain Architecture. - Added Ground Zero MVP tile tasks to Phase 0.5, Phase 1.4, and near-term actions.
- Added tile registry/database tasks for a future 510-520 million tile registry.
- Added real terrain, bathymetry, river/coastline, biome, natural resource, cache, streaming, scrubber, and tile QA tasks.
- Immediate next item is now:
Choose Ground Zero 1 km MVP tile and define first tile registry schema.
Verification:
- Documentation-only update; no build/test run required.
Agrarian Ground Zero Tile And Registry Schema - 2026-05-14
Completed the roadmap item to choose the Ground Zero 1 km MVP tile and define the first tile registry schema.
Ground Zero:
- Location: Linda Mar / San Pedro Valley edge in Pacifica, California.
- Tile ID:
gz_us_ca_pacifica_utm10n_e544_n4160 - Projection for prototype:
WGS84 / UTM zone 10N - Bounds:
- Easting:
544000-545000 - Northing:
4160000-4161000
- Easting:
- Nominal center:
- Latitude:
37.5925 - Longitude:
-122.4995
- Latitude:
- Working biome:
coastal_california_scrub_woodland
Files added:
Docs/Terrain/GroundZeroTile.mdDocs/Terrain/TileRegistrySchema.mdData/Tiles/tile_registry.schema.jsonData/Tiles/ground_zero_tiles.jsonData/Tiles/tile_registry.sql
Registry seed:
- Includes the Ground Zero tile plus all eight adjacent placeholder neighbors.
- Tracks candidate source categories for elevation, hydrography, bathymetry, and land cover.
- Separates terrain tile registry state from player-made world persistence.
Validation:
- JSON syntax validated for both registry files.
- Sanity check verified 9 tiles, 1 km tile size, and Ground Zero neighbor references.
- SQL schema executed successfully in an in-memory SQLite database.
Roadmap:
- Ground Zero selection is complete.
- First tile registry schema is complete.
- MVP tile metadata/registry prototype is complete.
Next roadmap item:
- Prototype real terrain import for the selected MVP tile.
Agrarian Ground Zero Terrain Import Prototype - 2026-05-14
Completed the roadmap item to prototype real terrain import for the selected MVP tile.
Added:
Scripts/prototype_ground_zero_terrain.pyDocs/Terrain/TerrainImportPrototype.md
Generated:
Data/Terrain/Generated/gz_us_ca_pacifica_utm10n_e544_n4160/gz_us_ca_pacifica_utm10n_e544_n4160_elevation_samples_33.csvData/Terrain/Generated/gz_us_ca_pacifica_utm10n_e544_n4160/gz_us_ca_pacifica_utm10n_e544_n4160_heightmap_33.r16Data/Terrain/Generated/gz_us_ca_pacifica_utm10n_e544_n4160/gz_us_ca_pacifica_utm10n_e544_n4160_terrain_metadata.json
Generation result:
- Source: USGS Elevation Point Query Service.
- Sample grid: 33 x 33.
- Sample count: 1,089.
- Spacing: 31.25 m.
- Elevation range:
3.458832026mto96.11089325m. - USGS reported raster ID:
65833. - USGS reported resolution:
1m.
Validation:
- Terrain metadata JSON parses cleanly.
- Tile registry JSON parses cleanly after generation.
- CSV has 1 header row plus 1,089 sample rows.
- R16 size is 2,178 bytes, matching
33 * 33 * 2. - Ground Zero tile registry status is now
generatedwithgeneration_version=1.
Roadmap:
- Real terrain import prototype is complete.
- Real elevation terrain base is marked in progress.
Next roadmap item:
- Define acceptable real terrain accuracy and final DEM/lidar source requirements for the MVP tile.
Agrarian Terrain Accuracy And Source Requirements - 2026-05-14
Completed the roadmap item to define acceptable real terrain accuracy and final DEM/lidar source requirements for the Ground Zero MVP tile.
Added:
Docs/Terrain/TerrainAccuracyRequirements.md
Updated:
Data/Tiles/ground_zero_tiles.json- Keeps USGS Elevation Point Query Service as the confirmed prototype source.
- Adds USGS 3DEP 1-meter DEM / Seamless 1-Meter DEM as the MVP target elevation source.
- Adds NOAA/NCEI coastal DEM or Coastal Relief Model as the MVP coastal or bathymetry target source if the tile area requires it.
Requirements now defined:
- Tier 0 current prototype.
- Tier 1 MVP required accuracy.
- Tier 2 preferred post-MVP accuracy.
- Final ground elevation source priority.
- Coastal and bathymetry source priority.
- Unreal import metadata requirements.
- MVP terrain acceptance tests.
- Known gaps in the current 33 x 33 point-sampled prototype.
Validation:
python3 -m json.tool Data/Tiles/ground_zero_tiles.jsonpassed.
Roadmap:
- Real terrain accuracy requirements are complete.
- Bathymetry/ocean-depth handling requirements are complete.
- Real-world terrain source evaluation is complete.
Next roadmap item:
- Acquire or extract the final USGS 3DEP DEM/lidar source for the Ground Zero tile.
Agrarian USGS 3DEP DEM Acquisition And Extraction - 2026-05-14
Completed the roadmap item to acquire/extract the final USGS 3DEP DEM/lidar source for the Ground Zero tile.
Installed free geospatial packages on pacificao-dev:
gdal-binpython3-gdalpython3-rasterio
Added:
Scripts/acquire_ground_zero_dem.pyScripts/extract_ground_zero_dem_subset.pyDocs/Terrain/DemAcquisition.md
Source products:
USGS 1 Meter 10 x54y416 CA_CaliforniaGaps_B23USGS 1 Meter 10 x54y417 CA_CaliforniaGaps_B23- Dataset:
Digital Elevation Model (DEM) 1 meter - Publication date:
2025-08-20 - Format: GeoTIFF
Ground Zero sits on a 3DEP 10 km tile boundary, so both products are required.
Files:
Data/Terrain/Sources/gz_us_ca_pacifica_utm10n_e544_n4160/USGS_1M_10_x54y416_CA_CaliforniaGaps_B23.tifData/Terrain/Sources/gz_us_ca_pacifica_utm10n_e544_n4160/USGS_1M_10_x54y417_CA_CaliforniaGaps_B23.tifData/Terrain/Sources/gz_us_ca_pacifica_utm10n_e544_n4160/gz_us_ca_pacifica_utm10n_e544_n4160_tnm_1m_dem_product.jsonData/Terrain/Extracted/gz_us_ca_pacifica_utm10n_e544_n4160/gz_us_ca_pacifica_utm10n_e544_n4160_1m_dem_subset.tifData/Terrain/Extracted/gz_us_ca_pacifica_utm10n_e544_n4160/gz_us_ca_pacifica_utm10n_e544_n4160_1m_dem_subset_metadata.json
Validation:
gdalinforeports extracted subset size1000 x 1000.- Pixel size is
1.0m x 1.0m. - CRS is
EPSG:26910/ NAD83 UTM zone 10N. - Bounds are E
544000-545000, N4160000-4161000. - Metadata JSON parses cleanly.
- Tile registry source metadata validates with
status=source_data_found,coverage_status=confirmed, and local source folder populated.
Roadmap:
- USGS 3DEP DEM acquisition/extraction is complete.
Next roadmap item:
- Convert the extracted 1-meter DEM subset into an Unreal Landscape-ready heightmap and import plan.
Agrarian Unreal-Ready Ground Zero Heightmap - 2026-05-14
Completed the roadmap item to convert the extracted 1-meter DEM subset into an Unreal Landscape-ready heightmap and import plan.
Added:
Scripts/convert_ground_zero_dem_to_unreal_heightmap.pyDocs/Terrain/UnrealLandscapeImportPlan.md
Generated:
Data/Terrain/Unreal/gz_us_ca_pacifica_utm10n_e544_n4160/gz_us_ca_pacifica_utm10n_e544_n4160_unreal_1009.r16Data/Terrain/Unreal/gz_us_ca_pacifica_utm10n_e544_n4160/gz_us_ca_pacifica_utm10n_e544_n4160_unreal_1009_preview.pgmData/Terrain/Unreal/gz_us_ca_pacifica_utm10n_e544_n4160/gz_us_ca_pacifica_utm10n_e544_n4160_unreal_heightmap_metadata.json
Notes:
- Optional PNG output was skipped because Pillow is not installed.
- The
.r16is the Unreal import target.
Import settings:
- Heightmap resolution:
1009 x 1009 - X scale:
99.2063492063492 cm - Y scale:
99.2063492063492 cm - Z scale:
18.22824631817639 cm - Elevation range:
3.176246404647827mto96.50486755371094m - Z offset guidance:
3.176246404647827m
Validation:
- Metadata JSON parses cleanly.
- R16 byte size is
2,036,162, matching1009 * 1009 * 2. - Metadata confirms 1009 x 1009 resolution and expected Unreal scale values.
Roadmap:
- Unreal Landscape-ready heightmap/import plan is complete.
Next roadmap item:
- Import the Ground Zero R16 heightmap into an Unreal terrain test map.
Agrarian Ground Zero Unreal Terrain Map Import - 2026-05-14
Completed the roadmap item to import the Ground Zero R16 heightmap into an Unreal terrain test map.
Corrected final import settings:
- Heightmap encoding:
unreal_landscape_midpoint_32768_sea_level - Heightmap resolution:
1009 x 1009 - X scale:
99.2063492063492 cm - Y scale:
99.2063492063492 cm - Z scale:
100.0 cm - Z offset:
0.0 m - Elevation range:
3.176246404647827mto96.50486755371094m
Added:
UAgrarianEditorAutomationLibrary::ImportLandscapeHeightmapIntoEditorWorld- Unreal
Landscapemodule dependency Scripts/setup_ground_zero_terrain_map.pyScripts/verify_ground_zero_terrain_map.py
Generated/saved:
/Game/Agrarian/Maps/L_GroundZeroTerrain_TestContent/Agrarian/Maps/L_GroundZeroTerrain_Test.umap
Validation:
UNRAID_PASSWORD=... /home/nathan/bin/agrarian-build-editorsucceeds.setup_ground_zero_terrain_map.pyimportsAGR_GroundZero_Landscape.verify_ground_zero_terrain_map.pypasses.- Verified landscape scale is
(99.206352, 99.206352, 100.0). - Verified X/Y bounds extent is about
50000 cm, so the terrain spans100000 cm/1000 m. - Verified bounds origin is centered near XY zero.
Operational note:
- Unreal Build Accelerator hung during the first compile attempt, so
Scripts/BuildEditor-Windows.batnow passes-NoUBA.
Roadmap:
- Ground Zero R16 terrain map import is complete.
- Terrain base and 1 km scale verification are complete.
Next roadmap item:
- Add first-pass water depth/shoreline handling if applicable.
Agrarian Ground Zero Investor Demo Package - 2026-05-14
Completed the first Windows Development packaged investor demo setup.
What changed:
- Project default game and editor startup map now point to the Ground Zero
terrain test map:
/Game/Agrarian/Maps/L_GroundZeroTerrain_Test.L_GroundZeroTerrain_Test. - Packaging settings cook the Ground Zero map and keep the original ThirdPerson map available as a fallback/reference.
- Added repeatable packaging wrapper:
Scripts/PackageWindowsDevelopment.bat. - Added Ground Zero demo setup script:
Scripts/setup_ground_zero_demo_map.py. - The setup script placed demo-ready actors on the real Ground Zero terrain: player start, wood node, fiber node, campfire, primitive shelter, rabbit, directional light, skylight, and fog.
- Added splash asset:
Content/Splash/Splash.bmp. - Added investor demo notices:
Docs/Legal/InvestorDemoNotices.md.
Build output:
- Packaged executable:
Builds/WindowsDevelopment/AgrarianGame.exe. - Larger runtime executable:
Builds/WindowsDevelopment/AgrarianGame/Binaries/Win64/AgrarianGame.exe. - Packaged output size was about
1.1G. Builds/is now ignored so packaged artifacts are not accidentally committed.
Verification:
- Windows-Builder packaging completed with
BUILD SUCCESSFUL. - Smoke launched the packaged executable with
-nullrhi -nosound -unattended. - Runtime log confirmed browse/load into:
/Game/Agrarian/Maps/L_GroundZeroTerrain_Test?Name=Player. - Runtime log confirmed the game mode remained
BP_ThirdPersonGameMode_C. - Runtime log exited cleanly after the smoke command.
Next roadmap item:
- Use the packaged demo as the investor baseline, then continue with Ground Zero visual/gameplay polish: shoreline/water if needed, biome-appropriate resources, simple HUD/debug display, and first playable survival tuning.
Agrarian Investor Demo Launch Fix - 2026-05-14
User reported the investor package would not open/run.
Diagnosis:
- The packaged build itself was valid, but the normal graphics launch path crashed when started through the Unraid/QEMU guest-agent helper.
- Failure in runtime log:
DXGI_ERROR_NOT_CURRENTLY_AVAILABLEduring swapchain creation. - The same issue occurred with both D3D12 and D3D11 when launched as
SYSTEMthrough QEMU guest agent. query useron Windows-Builder showed thenathanWindows session was disconnected, so this headless QEMU launch is not representative of a real interactive desktop demo.
Fix implemented:
- Kept the main project default DX12-first in
Config/DefaultEngine.ini. - Added Windows package override:
Config/Windows/WindowsEngine.iniwithDefaultGraphicsRHI=DefaultGraphicsRHI_DX11. - The packaged investor build now defaults to DX11 compatibility mode while still cooking both D3D12 SM6 and D3D11 SM5 shader formats.
- Added:
Scripts/InstallWindowsDemoLaunchers.batStart Agrarian Demo.cmdStart Agrarian Demo - DX12.cmdStart Agrarian Demo - Compatibility DX11.cmdInstall Prerequisites.cmdREADME-Investor-Demo.txt
- The package includes Microsoft VC++ runtime installer at:
Engine/Extras/Redist/en-us/vc_redist.x64.exe.
Rebuilt package:
- Output:
Builds/WindowsDevelopment. - Package size remains about
1.1G. - Rebuild completed successfully after clearing an old locked package artifact.
Important demo instruction:
- Investors should keep/copy the entire
WindowsDevelopmentfolder together and start withStart Agrarian Demo.cmd. - If the demo does not open, run
Install Prerequisites.cmd, thenStart Agrarian Demo - Compatibility DX11.cmd. Start Agrarian Demo - DX12.cmdis included for DX12-specific testing.
Agrarian Startup Movie And Demo Notice - 2026-05-14
Added the first investor-facing launch sequence.
Startup movie:
- Installed free
ffmpegon this machine to generate the movie. - Added movie asset:
Content/Movies/AgrarianStudioIntro.mp4. - Duration:
6.0seconds. - Resolution:
1280 x 720. - The first and primary line is the motto:
What survives after you are gone? - The movie also shows:
AGRARIAN STUDIOInvestor Demo v0.01 - Beta PrototypeCopyright (c) 2026 Agrarian Studio. All rights reserved.
- Configured startup movie in
Config/DefaultGame.ini:+StartupMovies=AgrarianStudioIntro.
In-game demo notice:
- Added runtime UI classes:
UAgrarianDemoNoticeWidgetAAgrarianDemoNoticeActor
setup_ground_zero_demo_map.pynow placesAGR_DemoNoticeActorin the Ground Zero map.- Notice shows motto,
Investor Demo v0.01, beta prototype/non-distribution language, and copyright for the first few seconds of gameplay.
Packaging/build notes:
- Added
*.mp4to Git LFS attributes. - Updated
Scripts/PackageWindowsDevelopment.batso package builds compile targets explicitly withBuild.bat ... -NoUBA, then run UAT with-skipbuild. This avoids the UAT/UBA hang seen during packaging. - Rebuilt the Windows Development investor package successfully.
- Verified packaged movie exists at:
Builds/WindowsDevelopment/AgrarianGame/Content/Movies/AgrarianStudioIntro.mp4. - Headless
-nullrhismoke test loaded the Ground Zero map and exited cleanly.
Agrarian Ground Zero Water/Shoreline Pass - 2026-05-14
Completed the next roadmap item:
Add first-pass water depth/shoreline handling if applicable.
Added:
Scripts/analyze_ground_zero_water.pyDocs/Terrain/GroundZeroWaterShoreline.mdData/Terrain/Analysis/gz_us_ca_pacifica_utm10n_e544_n4160/gz_us_ca_pacifica_utm10n_e544_n4160_water_shoreline_analysis.json
Result:
- The current Ground Zero tile does not contain ocean water or shoreline inside the 1 km tile bounds.
- DEM minimum elevation is about
3.16 m. - Sea-level or below samples:
0. - Near-sea-level samples at
<= 2.0 m:0. - Low coastal samples at
<= 5.0 m:57,812/1,000,000. - North and west edges contain the lowest coastal-influenced terrain.
Decision:
- Do not place an ocean plane in the current Ground Zero tile.
- Do not fake bathymetry in this tile.
- Keep NOAA/NCEI bathymetry/coastal DEM work for west/southwest neighbor tiles when coastal/ocean tiles come into scope.
- Add a gameplay freshwater source in a later map pass.
Roadmap:
- Marked first-pass water depth/shoreline handling complete.
- Immediate next item is first-pass hill, mountain, river, stream, lake, and coastline/absence handling from the Ground Zero terrain data.
Agrarian Ground Zero Landform Pass - 2026-05-14
Completed the next roadmap item:
Add first-pass hill, mountain, river, stream, lake, and coastline handling if present in Ground Zero.
Added:
Scripts/analyze_ground_zero_landforms.pyDocs/Terrain/GroundZeroLandforms.mdData/Terrain/Analysis/gz_us_ca_pacifica_utm10n_e544_n4160/gz_us_ca_pacifica_utm10n_e544_n4160_landform_analysis.json
Result:
- Hills are present in the Ground Zero tile.
- Mountains are not present; max elevation is
96.51 m, p95 elevation is54.57 m. - Steep slopes are present; max slope is
53.62 deg, p95 slope is26.95 deg. - River, confirmed stream, lake, and coastline are not present from this DEM-only pass.
- DEM shape suggests drainage/freshwater search candidates, but those need hydrography validation before being treated as real streams.
- First-pass walkable/buildable terrain:
83.42%. - First-pass difficult/slow-travel terrain:
16.58%. - Possible drainage/freshwater search zone:
17.30%.
Decision:
- Use the landform analysis for first-pass movement modifiers, buildability, resource placement, and foliage density.
- Do not add fake mountains, lakes, rivers, streams, or coastline inside the current tile.
- Validate freshwater candidates against a real hydrography source later.
Roadmap:
- Marked first-pass hill/mountain/river/stream/lake/coastline handling complete.
- Immediate next item is to verify neighboring tile edge coordinates against the registry before multi-tile stitching.
Agrarian Ground Zero Neighbor Edge Verification - 2026-05-14
Completed the next roadmap item:
Verify neighboring tile edge coordinates against the registry before multi-tile stitching.
Added:
Scripts/verify_ground_zero_neighbor_edges.pyDocs/Terrain/GroundZeroNeighborEdges.mdData/Terrain/Analysis/gz_us_ca_pacifica_utm10n_e544_n4160/gz_us_ca_pacifica_utm10n_e544_n4160_neighbor_edge_verification.json
Result:
- Verification passed.
- Verified tile count:
9. - Found neighbor count:
8. - Missing neighbors:
0. - All tiles use exact
1000 m x 1000 mUTM bounds. - All tile IDs match their minimum UTM kilometer coordinates.
- North, south, east, and west neighbors share exact full 1 km edges with Ground Zero.
- Northeast, southeast, southwest, and northwest neighbors touch Ground Zero at corners only.
Decision:
- The registry is ready for coordinate-based neighbor stitching around Ground Zero.
- This only verifies registry bounds and adjacency. Elevation seam continuity still needs neighbor DEM extraction/generation before real stitched terrain.
Roadmap:
- Marked neighbor edge coordinate verification complete.
- Immediate next item is the Ground Zero foliage pass.
Agrarian Ground Zero Foliage Pass - 2026-05-14
Completed the next roadmap item:
Add foliage pass.
Added:
AAgrarianFoliagePatchScripts/verify_ground_zero_foliage.pyDocs/Terrain/GroundZeroFoliagePass.md
Updated:
Scripts/setup_ground_zero_demo_map.pyContent/Agrarian/Maps/L_GroundZeroTerrain_Test.umap
Result:
- Ground Zero now has one deterministic first-pass foliage actor:
AGR_GroundZeroFoliage_FirstPass. - The actor uses hierarchical instanced static mesh components for first-pass rendering efficiency.
- Foliage instance counts:
- Trees:
42 - Shrubs:
96 - Grass clumps:
180
- Trees:
- Placement is terrain-height-aware and avoids the player start, demo structures, resource nodes, and wildlife spawn.
Validation:
UNRAID_PASSWORD=... /home/nathan/bin/agrarian-build-editorsucceeded.Scripts/RunUnrealPython-Windows.bat Scripts/setup_ground_zero_demo_map.pysucceeded.Scripts/RunUnrealPython-Windows.bat Scripts/verify_ground_zero_foliage.pysucceeded and confirmed42trees,96shrubs, and180grass clumps.
Roadmap:
- Marked foliage pass complete.
- Immediate next item is biome-appropriate natural resources based on Ground Zero.
Agrarian Ground Zero Biome Resource Pass - 2026-05-14
Completed the next roadmap item:
Add biome-appropriate natural resources based on Ground Zero.
Added:
BP_StoneResourceNodeScripts/verify_ground_zero_resources.pyDocs/Terrain/GroundZeroResourcePass.md
Updated:
Scripts/setup_playable_blueprints.pyScripts/verify_playable_blueprints.pyScripts/setup_ground_zero_demo_map.pyContent/Agrarian/Maps/L_GroundZeroTerrain_Test.umap
Result:
- Ground Zero now has biome-appropriate natural resource nodes for the selected coastal California scrub/woodland tile.
- Resource node counts:
- Wood:
4 - Fiber:
5 - Stone:
4
- Wood:
- Wood nodes are placed in scrub/woodland and hillside areas.
- Fiber nodes are placed in grassland, scrub, and drainage-candidate areas.
- Stone nodes are placed on slope, exposed-terrain, and valley-edge areas.
- Freshwater intentionally remains separate because the next roadmap item is
Add water source.
Validation:
Scripts/RunUnrealPython-Windows.bat Scripts/setup_playable_blueprints.pysucceeded and created/configuredBP_StoneResourceNode.Scripts/RunUnrealPython-Windows.bat Scripts/verify_playable_blueprints.pysucceeded.Scripts/RunUnrealPython-Windows.bat Scripts/setup_ground_zero_demo_map.pysucceeded.Scripts/RunUnrealPython-Windows.bat Scripts/verify_ground_zero_resources.pysucceeded and confirmed4wood,5fiber, and4stone nodes.
Roadmap:
- Marked biome-appropriate natural resources complete.
- Immediate next item is to add a water source.
Agrarian Ground Zero Freshwater Source - 2026-05-14
Completed the next roadmap item:
Add water source.
Added:
AAgrarianWaterSourceBP_FreshWaterSourceScripts/verify_ground_zero_water_source.pyDocs/Terrain/GroundZeroWaterSource.md
Updated:
Scripts/setup_playable_blueprints.pyScripts/verify_playable_blueprints.pyScripts/setup_ground_zero_demo_map.pyContent/Agrarian/Maps/L_GroundZeroTerrain_Test.umap
Result:
- Ground Zero now has one gameplay freshwater source:
AGR_GZ_FreshWaterSource_01. - The water source uses
/Game/Agrarian/Blueprints/World/BP_FreshWaterSource. - It restores
45.0thirst/water throughUAgrarianSurvivalComponent::AddWater. - Placement is in the drainage-candidate area and is a gameplay source, not a confirmed real hydrography feature.
Validation:
UNRAID_PASSWORD=... /home/nathan/bin/agrarian-build-editorsucceeded.Scripts/RunUnrealPython-Windows.bat Scripts/setup_playable_blueprints.pysucceeded.Scripts/RunUnrealPython-Windows.bat Scripts/verify_playable_blueprints.pysucceeded.Scripts/RunUnrealPython-Windows.bat Scripts/setup_ground_zero_demo_map.pysucceeded.Scripts/RunUnrealPython-Windows.bat Scripts/verify_ground_zero_water_source.pysucceeded.
Roadmap:
- Marked water source complete.
- Immediate next item is weather exposure zones if needed.
Agrarian Time And Real Weather Planning - 2026-05-14
Roadmap-only planning update before the next implementation item.
Added time/progression philosophy:
- Default target clock:
4 real hours = 1 in-game day. - The world should not feel artificially sped up; the player gets better through skills, tools, infrastructure, cooperation, and knowledge.
- Skills should improve efficiency, yield, quality, reliability, survival odds, and capacity more than they shorten natural biological time.
- Crops, livestock, spoilage, disease, healing, tree growth, seasons, and other long-running systems use the Agrarian calendar.
- Early survival should remain difficult and hands-on, with hunting, gathering, fishing, scavenging, and primitive crafting available while domestication and farming mature over meaningful calendar time.
Added real-weather roadmap plan:
- Add a Ground Zero real-world weather provider adapter by latitude/longitude.
- Use Open-Meteo as the first global MVP source.
- Use NOAA/NWS as a US fallback or enrichment source where useful.
- Cache weather snapshots server-side; clients should not call public weather APIs directly.
- Map real weather inputs into Agrarian states: temperature, precipitation, wind, cloud cover, humidity, pressure, visibility, and weather code.
- Keep deterministic fallback weather simulation when external data is unavailable.
Agrarian Roadmap Reordering - 2026-05-14
Reworked the roadmap structure so it flows in order:
- Project North Star and time/progression philosophy.
- Current milestone status:
Version 0.01 Foundation Baseline. - Phase 0 foundation and guardrails.
- Phase 1 foundational survival MVP.
- Later gameplay/civilization phases.
- Cross-cutting technical tracks.
- Six-month calendar, MVP definition of done, and earliest next actions.
Removed the duplicated standalone Version .01 / 0.01 block that previously
sat below 0.7, which made the roadmap look like it jumped backward in time.
Version 0.01 is now summarized near the top as the active milestone, while
workstream sections like 0.1, 0.2, and 0.7 remain inside Phase 0.
Updated the near-term next actions to restart from the earliest missed foundation items before continuing deeper gameplay/weather work.
Immediate next item:
Create protected main branch.
Also added a new Storefront Development Distribution track covering Steam and Epic development-build launch planning, including Steamworks/Epic portal checklists, internal/investor/closed-test/public channels, build metadata, store branch naming, entitlement/account-linking requirements, and release checklists.
Note: gh is not installed and no GitHub token is available in the local
environment, so GitHub branch protection cannot be applied from this host yet
without adding/authenticating tooling or doing it through the GitHub UI.
Agrarian GitHub Branch Protection Check - 2026-05-14
Installed and authenticated GitHub CLI as pacificao.
Confirmed:
- Repo:
pacificao/AgrarianGameBuild - Visibility: private
- Local GitHub CLI permission:
ADMIN - Remote
mainbranch exists.
Branch protection result:
- GitHub API returned HTTP
403. - Message:
Upgrade to GitHub Pro or make this repository public to enable this feature. - No branch protection changes were applied.
- No billing, repository visibility, deletion, or paid setting changes were made.
Roadmap update:
- Marked
Create protected main branchas blocked. - Immediate next foundation item is deciding whether to create/use a long-lived
devbranch.
Agrarian Repository Storage Guardrails - 2026-05-14
Completed storage guardrail work to keep GitHub free-tier viable as long as possible.
Added:
Docs/RepositoryStoragePolicy.mdScripts/audit_repo_storage.sh
Policy:
- GitHub is for source, configs, scripts, docs, metadata, and curated project assets.
- Raw DEM/lidar/GIS datasets, packaged builds, generated terrain tile packages, DerivedDataCache, and large source-art archives stay on DevBox or future object storage.
- Git stores manifests, checksums, provenance, import scripts, and small curated samples when needed.
Cleanup:
- Removed two raw USGS DEM
.tiffiles from Git tracking and local unpushed Git history. - The raw files remain locally on DevBox under
Data/Terrain/Sources/.... - Added ignore rules for raw terrain/source archives.
- Re-added the GitHub remote after
git filter-reporemoved it.
Audit result:
- Git object database pack after cleanup: about
5.65 MiB. - Largest tracked non-LFS file: about
4.3 MB. - Largest LFS object: about
21 MB. - Generated/local folders remain large on DevBox, which is expected:
Intermediate,Saved,Builds, andBinaries.
Branch decision:
- Decided not to create/use a long-lived
devbranch yet. - Current approach:
mainplus short-lived task branches until team size or release channels require a staging branch. - Immediate next foundation item is finishing branch naming conventions.
Agrarian Branch Naming And Tile-Serving MVP Roadmap - 2026-05-14
Completed branch naming conventions for the current lightweight workflow.
Added:
Docs/BranchingConventions.md
Policy:
mainremains the only long-lived development branch for now.- Do not create a long-lived
devbranch yet. - Use short-lived task branches named
type/short-description. - Allowed branch prefixes are
feature/,fix/,docs/,ops/,test/,asset/, andexperiment/. - Keep raw terrain datasets, generated builds, DerivedDataCache, and large archives out of every Git branch.
Roadmap update:
- Marked branch naming conventions complete in version
0.01 Foundation Baseline. - Split commit message conventions into the next separate foundation item.
- Added near-term MVP map-tile serving server work to Phase
0.7and Near-Term Next Actions:- Launch a small Ubuntu/Linux cloud VM for map-tile serving.
- Publish a tiny Ground Zero tile manifest/package.
- Prove lookup, download, local cache, redownload, and immediate-neighbor metadata flow.
- Add cost controls and runbook notes so MVP testing stays free or near-free.
Immediate next roadmap item:
- Finish commit message conventions.
Agrarian Commit Message Conventions - 2026-05-14
Completed commit message conventions for Version 0.01 Foundation Baseline.
Added:
Docs/CommitMessageConventions.md
Policy:
- Use concise, plain-English, imperative commit subjects.
- Keep subjects specific, capitalized, and usually under 72 characters.
- Prefer one commit per roadmap item or tight implementation slice.
- Add commit bodies for non-obvious reason, tradeoff, validation, operational impact, build impact, networking, tile delivery, or save compatibility.
- Never include secrets, passwords, tokens, private keys, or credentials in commit messages.
- Avoid vague messages such as
updates,misc,changes,work, orwip.
Roadmap update:
- Marked commit message conventions complete.
- Immediate next roadmap item is defining backup expectations for NAS and the repository.
Agrarian Backup Expectations - 2026-05-14
Completed the roadmap item to define backup expectations for NAS and repository.
Added:
Docs/BackupExpectations.md
Backup policy:
- GitHub is not enough by itself; it protects source history, not all local terrain source data, generated build outputs, VM state, or deleted local files.
- DevBox remains the primary working storage for the Unreal project.
- Linastorage is the first backup target for project snapshots, VM backups, and deleted-file recovery.
- Back up
/mnt/projects/AgrarianGameBulid/\\DevBox\projects\AgrarianGameBulidincrementally during active development when changes exist. - Recommended project cadence:
- every 2 hours during active development if changes exist
- daily, weekly, and monthly retained snapshots
- manual pre-change snapshots before major Unreal, plugin, terrain, migration, or build-pipeline changes
- Retention target:
- frequent snapshots: 7 days
- daily snapshots: 30 days
- weekly snapshots: 12 weeks
- monthly snapshots: 12 months
- important deleted files recoverable for at least 30 days, preferably 90 days for major assets/source data/investor-demo material
- Backup method should stage locally or on DevBox first, write manifests and
checksums, copy to Linastorage under
.incomplete-*, verify on the NAS, then atomically rename the completed snapshot. - VM backups must cover
Windows-Builder,Ubuntu-Codex, VM XML/NVRAM, Unraid flash/config, and related helper scripts. - Do not copy live VM disk images directly without quiescing. Use Unraid VM backup tooling, QEMU guest-agent freeze/thaw, or a powered-down maintenance backup.
- Restore testing is required:
- weekly single-file restore
- monthly repo snapshot restore/list check
- monthly VM backup readability check
- quarterly fuller restore drill
Roadmap update:
- Marked backup expectations, VM snapshot cadence, and Unraid share backup policy as documented.
- Added follow-on implementation items:
- Implement Linastorage incremental project backup job.
- Implement quiesced VM backup job for Windows-Builder and Ubuntu-Codex.
- Add recurring restore-test log for project and VM backups.
- Immediate next roadmap item is implementing the Linastorage incremental project backup job.
Agrarian Linastorage Project Backup Job - 2026-05-14
Completed the roadmap item to implement the Linastorage incremental project backup job.
Repo files added/updated:
Scripts/agrarian_project_backup.shOperations/systemd/agrarian-project-backup.serviceOperations/systemd/agrarian-project-backup.timerDocs/Ops/AgrarianProjectBackupRunbook.md
Installed on this host:
- Script:
/usr/local/sbin/agrarian-project-backup - Service:
/etc/systemd/system/agrarian-project-backup.service - Timer:
/etc/systemd/system/agrarian-project-backup.timer
Active backup implementation:
- Uses
restic, installed from Ubuntu packages. - Repository:
/mnt/backups/linastorage/backups/agrarian-game/project/restic-repository - State files:
/mnt/backups/linastorage/backups/agrarian-game/project/state - Password file:
/root/.backup-secrets/agrarian-project-restic.password - Do not copy or write the restic password into handoff files or the repo.
- Timer runs every 2 hours with randomized delay.
- Script records a source signature and skips scheduled runs when no project changes are detected.
- Retention:
- keep all snapshots within 7 days
- keep daily snapshots for 30 days
- keep weekly snapshots for 12 weeks
- keep monthly snapshots for 12 months
Important implementation note:
- First attempt used
rsync --link-dest, but Linastorage over SMB does not support the hard-link operations required for that model. - Restic replaced rsync because it stores encrypted, deduplicated chunks as normal files and works with the SMB target.
- A one-time legacy rsync snapshot remains under the old
snapshots/directory as a temporary safety copy; active backups are restic.
Verification completed:
- First restic snapshot:
e7ec1ce7, processed about825 MiB, stored about566 MiB. - Incremental snapshot after script/runbook changes:
208d7710, stored about5 KiB. - Final incremental snapshot after lock handling change:
3d77f1d2, stored about8 KiB. - Restored
AGRARIAN_DEVELOPMENT_ROADMAP.mdfrom restic latest withrestic dumpand verified it matched the live file withdiff. - Final dry run returned:
No project changes detected since latest restic backup; skipping. - Timer is enabled and active; next trigger was scheduled after verification.
Roadmap update:
- Moved the private-repo GitHub protected
mainbranch item out of0.01foundation and into the release/build pipeline as a paid-plan/revenue-timed hardening item. - Marked Linastorage incremental project backup job complete.
- Immediate next roadmap item is implementing quiesced VM backup jobs for
Windows-BuilderandUbuntu-Codex.
Agrarian Unraid VM Backup Job - 2026-05-14
Completed the roadmap item to implement quiesced VM backup jobs for
Windows-Builder and Ubuntu-Codex.
Repo files added/updated:
Scripts/agrarian_vm_backup_unraid.shOperations/unraid/agrarian-vm-backup.cronDocs/Ops/AgrarianVmBackupRunbook.mdAGRARIAN_DEVELOPMENT_ROADMAP.md
Installed on Unraid DevBox:
- Persistent script:
/boot/config/custom/agrarian-vm-backup.sh - Runtime script copy:
/usr/local/sbin/agrarian-vm-backup - Persistent cron:
/boot/config/plugins/dynamix/agrarian-vm-backup.cron - Loaded cron entry in
/etc/cron.d/root
Backup behavior:
- Weekly safe check runs Sunday at
03:15. - Scheduled/default mode skips running VMs and publishes no empty snapshot.
- Manual maintenance mode:
/usr/local/sbin/agrarian-vm-backup --shutdown-running - Maintenance mode gracefully shuts down selected running VMs, backs them up,
and starts VMs again unless
--no-start-afteris used. - Captures VM XML, NVRAM when present, compressed qcow2 disk images via
qemu-img convert -O qcow2 -c, selected Unraid VM/share config, manifest, and SHA256 checksums. - Snapshot root:
/mnt/user/backups/agrarian-game/vms/snapshots - Retention: deletes snapshots older than 120 days.
Verification completed:
- Local script syntax passed with
bash -n. - Unraid safe dry run saw both VMs running, skipped both, and published no snapshot.
- Unraid maintenance dry run for
Ubuntu-Codexshowed the intended shutdown, XML export, and qcow2 conversion path without actually stopping the VM. update_cronloaded the weekly cron entry successfully.
Important operational note:
- A real full VM backup was not run during implementation because
Windows-BuilderandUbuntu-Codexwere active. Run the maintenance command during a planned window to create the first disk-image snapshots.
Roadmap update:
- Marked quiesced VM backup job complete.
- Immediate next roadmap item is creating repeatable dedicated server build instructions.
Agrarian Dedicated Server And Tile Delivery Build Lanes - 2026-05-14
Completed the roadmap item to create repeatable dedicated server build instructions, and included a fast static cloud map-tile delivery package path.
Repo files added/updated:
Source/AgrarianGameServer.Target.csScripts/BuildLinuxDedicatedServer-Windows.batScripts/build_ground_zero_tile_delivery_package.shOperations/cloud-map-tile-server/bootstrap_ubuntu_tile_server.shDocs/Ops/DedicatedServerBuildRunbook.mdDocs/Ops/MapTileDeliveryServerRunbook.md.gitignoreAGRARIAN_DEVELOPMENT_ROADMAP.md
Dedicated server lane:
- Added Unreal target
AgrarianGameServerwithTargetType.Server. - Windows-Builder command:
Scripts\BuildLinuxDedicatedServer-Windows.bat - Expected output:
Builds\LinuxServerDevelopment - Expected log:
Saved\BuildLogs\BuildLinuxDedicatedServer.log - Server package cooks
/Game/Agrarian/Maps/L_GroundZeroTerrain_Test. - Requires Epic's Unreal
5.7Linux cross-compile toolchain on Windows-Builder before the actual Linux package can build.
Map-tile delivery lane:
- Build command from the repo on Linux:
Scripts/build_ground_zero_tile_delivery_package.sh - Output archive:
BuildArtifacts/TileDelivery/agrarian-ground-zero-tile-delivery.tar.gz - Static package includes:
manifest.jsonground_zero_tiles.json- tile registry schema
- Ground Zero Unreal heightmap, metadata, landform analysis, water/shoreline analysis, and neighbor edge verification
SHA256SUMS
BuildArtifacts/is ignored and should not be committed.- Bootstrap command on a fresh Ubuntu tile server:
sudo Operations/cloud-map-tile-server/bootstrap_ubuntu_tile_server.sh /path/to/agrarian-ground-zero-tile-delivery.tar.gz - Bootstrap installs nginx and serves
/health,/manifest.json,/ground_zero_tiles.json, and versioned tile package files.
Verification completed:
- Bash syntax passed for both Linux scripts.
- Ground Zero tile delivery package built successfully from current repo data.
sha256sum -c SHA256SUMSpassed for the generated static tile package.- Archive listing confirmed the manifest, registry, schema, and Ground Zero tile files are included.
- Dedicated server Windows batch script was reviewed but not executed here, because the Linux Unreal cross-compile toolchain state must be checked on Windows-Builder.
Roadmap update:
- Marked repeatable dedicated server build instructions complete.
- Marked one-command Linux dedicated server build wrapper complete.
- Added and marked complete the static Ground Zero tile-delivery package and Ubuntu nginx bootstrap script item.
- Immediate next roadmap item is finishing required plugin documentation.
Agrarian Required Plugin Documentation - 2026-05-14
Completed the roadmap item to finish required plugin documentation.
Repo files added/updated:
Docs/RequiredPlugins.mdAGRARIAN_DEVELOPMENT_ROADMAP.md
Current enabled plugins in AgrarianGame.uproject:
StateTreeGameplayStateTreeModelingToolsEditorMode
Decision captured:
- Keep
StateTreeandGameplayStateTreefor version0.01because the compiled template AI code underVariant_CombatandVariant_SideScrollingstill depends onStateTreeModule,GameplayStateTreeModule, andUStateTreeAIComponent. - Keep
ModelingToolsEditorModeenabled as an editor workflow plugin for terrain, mesh, and prototype world-building work. - Do not add Steam, Gameplay Ability System, Marketplace, or machine-specific editor-helper plugins until a roadmap item needs them.
- Revisit StateTree dependencies during the template-variant cleanup item.
Verification completed:
AgrarianGame.uprojectparsed successfully as JSON.- Secret scan of the new plugin documentation returned no matches.
Roadmap update:
- Marked required plugin documentation complete.
- Immediate next roadmap item is confirming the project opens cleanly from a fresh checkout.
Agrarian Fresh Checkout Open Verification And Character Selection Roadmap - 2026-05-14
Completed the foundation baseline item to confirm the project opens cleanly from a fresh checkout, and added the requested MVP character-selection landing page requirement to the roadmap.
Roadmap additions:
- Phase
1.14 MVP UI And UXnow includes a post-splash/startup landing page. - The landing page should let the player choose a realistic young adult male or female character with average proportions for the MVP.
- The first playable MVP definition of done now includes the startup flow reaching that character selection landing page and allowing the male/female character choice before entering the world.
Fresh checkout used:
- Path:
/mnt/projects/AgrarianFreshCheckout-20260514-133248 - Commit checked out:
0173b34 - Clone source:
git@github.com:pacificao/AgrarianGameBuild.git
Verification completed:
- Fresh clone completed with Git LFS content filtered.
git lfs fsckpassed.- Fresh clone
git status --shortwas clean before Unreal generated files. - Windows-Builder built the fresh checkout with:
Scripts\BuildEditor-Windows.bat - Build result:
AgrarianGameEditor Win64 Developmentsucceeded. - Windows-Builder opened the fresh checkout through command-mode Unreal with:
Scripts\RunUnrealPython-Windows.bat Scripts\verify_ground_zero_terrain_map.py - Ground Zero map loaded successfully.
- Map check reported
0 Error(s), 0 Warning(s). - Verification script reported the expected 1 km terrain bounds and exited cleanly.
Operational note:
- The fresh checkout was left in place for reference. Unreal generated
Binaries/,Intermediate/, andSaved/inside that checkout during the validation.
Roadmap update:
- Marked fresh-checkout project open verification complete.
- Immediate next roadmap item is deciding whether to keep current Unreal template variants or remove unused starter variants.
Agrarian Template Variant Decision - 2026-05-14
Completed the roadmap item to decide whether to keep current Unreal template variants or remove unused starter variants.
Repo files added/updated:
Docs/TemplateVariantDecision.mdDocs/RequiredPlugins.mdAGRARIAN_DEVELOPMENT_ROADMAP.md
Decision:
- Remove or quarantine unused starter variants during the next content
organization cleanup:
Variant_CombatVariant_PlatformingVariant_SideScrolling
- Keep
ThirdPersontemporarily because the current player Blueprint, interaction setup, and automation still use it. - Keep shared mannequin/animation content only where current Agrarian assets still reference it.
- Recheck and remove
StateTree/GameplayStateTreeplugin and module dependencies after the unused variant code/content is removed.
Reason:
- The starter variants add compile time, plugin dependencies, packaging noise, and make the project look like a generic Unreal template.
- Actual source/content deletion is intentionally deferred to the next roadmap item so content redirects, maps, external actors, and smoke tests can be handled in one focused editor-aware cleanup pass.
Verification completed:
- Reviewed source/config/content references for
Variant_*,ThirdPerson,StateTree, andGameplayStateTree. - Secret scan of the new decision doc and plugin doc returned no matches.
Roadmap update:
- Marked the template variant decision complete.
- Immediate next roadmap item is organizing
Content/Agrarian/folders and moving/removing starter/prototype assets into clearly named locations.
Agrarian Starter Variant Content Cleanup - 2026-05-14
Completed the roadmap item to organize Content/Agrarian/ folders and remove
unused starter/prototype assets.
Repo files updated:
AGRARIAN_DEVELOPMENT_ROADMAP.mdAgrarianGame.uprojectConfig/DefaultEditor.iniConfig/DefaultEditorPerProjectUserSettings.iniDocs/RequiredPlugins.mdDocs/TemplateVariantDecision.mdSource/AgrarianGame/AgrarianGame.Build.cs
Removed:
Source/AgrarianGame/Variant_CombatSource/AgrarianGame/Variant_PlatformingSource/AgrarianGame/Variant_SideScrollingContent/Variant_CombatContent/Variant_PlatformingContent/Variant_SideScrolling- Matching World Partition external actor/object folders for those variants.
Build/config cleanup:
- Removed
StateTreeModuleandGameplayStateTreeModulefromAgrarianGame.Build.cs. - Removed explicit
StateTreeandGameplayStateTreeplugin entries fromAgrarianGame.uproject. - Updated editor defaults so the simple map and content browser path now point at Agrarian/Ground Zero locations instead of the old ThirdPerson template folder.
Intentional leftovers:
Content/ThirdPersonremains because the current player Blueprint, interaction setup, and automation still depend on it.Content/LevelPrototypingremains because current scripts/prototype Blueprints still reference simple cube/cylinder meshes.- Replace those with Agrarian-specific character selection/player assets and project-native prototype meshes in a later cleanup.
Verification completed:
- Windows-Builder built
AgrarianGameEditor Win64 Developmentsuccessfully throughScripts\BuildEditor-Windows.bat. - Windows-Builder loaded
L_GroundZeroTerrain_Testthrough command-mode Unreal withScripts\RunUnrealPython-Windows.bat Scripts\verify_ground_zero_terrain_map.py. - Ground Zero map check reported
0 Error(s), 0 Warning(s). AgrarianGame.uprojectparsed successfully as JSON.- Source/config/project stale-reference scan found no remaining runtime references to the removed variant source/content or removed module dependencies. Remaining matches are explanatory docs only.
- Secret scan of updated roadmap/docs found no secrets.
Roadmap update:
- Marked the starter variant content cleanup complete.
- Immediate next roadmap item is launching the near-term MVP map-tile serving cloud VM and proving Ground Zero tile lookup/download/cache flow.
Agrarian MVP Tile Server Launch - 2026-05-14
Completed the roadmap item to launch the near-term MVP map-tile serving VM and prove Ground Zero tile lookup/download/cache/redownload.
Current endpoint:
- Host VM:
Agrarian-TileServeron UnraidDevBox - VM IP:
192.168.5.14 - Port:
18080/tcp - Base URL:
http://192.168.5.14:18080
Published from:
/srv/agrarian/tile-delivery/public
Live endpoints verified:
http://192.168.5.14:18080/healthhttp://192.168.5.14:18080/manifest.jsonhttp://192.168.5.14:18080/ground_zero_tiles.jsonhttp://192.168.5.14:18080/tiles/gz_us_ca_pacifica_utm10n_e544_n4160/v0/...
Implementation notes:
- Built the static tile package on Unraid from the local project share because building it through the CIFS-mounted repo path stalled.
- Created a dedicated
Agrarian-TileServerUbuntu VM on Unraid from the Ubuntu Noble cloud image. - Installed nginx inside
Agrarian-TileServer. - Configured nginx to listen on the uncommon local MVP port
18080. - Published the Ground Zero tile-delivery package under
/srv/agrarian. - Added
Scripts/verify_tile_delivery_client.shfor repeatable client proof. - Updated
Docs/Ops/MapTileDeliveryServerRunbook.mdwith the current endpoint, verification path, cost-control note, and dedicated-VM follow-up.
Verification completed:
curl http://192.168.5.14:18080/healthreturnedok.- Manifest returned successfully from
http://192.168.5.14:18080/manifest.json. Scripts/verify_tile_delivery_client.sh http://192.168.5.14:18080passed.- Client verification downloaded the manifest, registry, SHA256SUMS, schema, and Ground Zero terrain package files.
- Client verification confirmed
neighbor_count=8. - Client verification deleted and redownloaded the heightmap, then revalidated checksums.
Operational follow-up:
- The service is now isolated inside
Agrarian-TileServer; Unraid is only the hypervisor/storage host. Ubuntu-Codexis not serving the tile endpoint.- Decide later whether public testing uses this LAN-hosted VM or an external cloud host.
Roadmap update:
- Marked the near-term MVP map-tile serving VM item complete.
- Immediate next roadmap item is defining MVP day/night length, survival pressure target, success loop, failure conditions, and closed-test readiness criteria.
Additional DNS/public endpoint note, 2026-05-15:
maps.agrariangame.comnow resolves to the same public IP asdev.agrariangame.com:208.79.250.18.- Public tile endpoint verified:
http://maps.agrariangame.com:18080 - Public client verification passed against
http://maps.agrariangame.com:18080, including manifest, registry, checksum validation, 8 neighbor entries, and heightmap redownload.
Agrarian MVP Survival And Readiness Criteria - 2026-05-15
Completed the roadmap item to define MVP day/night length, survival pressure target, success loop, failure conditions, first playable internal milestone, and closed-test readiness criteria.
Repo files updated:
Docs/MvpSurvivalReadinessCriteria.mdAGRARIAN_DEVELOPMENT_ROADMAP.mdSource/AgrarianGame/AgrarianGameState.h
Decision:
- Day/night should mimic the real Earth region represented by the loaded map tile, like weather.
- For Ground Zero, the server-authoritative world clock should follow real local time pacing for the Ground Zero region.
- Time acceleration remains allowed for tests and debug tools, but it is not the default player-facing world clock.
- Player progression should come from skills, tools, shelter, storage, knowledge, cooperation, and infrastructure rather than speeding up the sky clock.
Code alignment:
- Changed the default
GameHoursPerRealMinutefrom the old accelerated value to real-time pacing (1.0f / 60.0f). - Relaxed the editor clamp so real-time pacing is valid.
Verification completed:
- Searched docs/source to remove the old
4 real hours = 1 in-game daydefault. - Windows-Builder built
AgrarianGameEditor Win64 Developmentsuccessfully throughScripts\BuildEditor-Windows.bat.
Roadmap update:
- Marked the MVP survival/readiness criteria item complete.
- Immediate next roadmap item is creating the core design document.
Correction on 2026-05-15:
- Restored
4 real hours = 1 in-game dayas the MVP gameplay calendar target. - Clarified that real-region day/night is the presentation/solar/weather context, not a replacement for the MVP gameplay calendar pace.
GameHoursPerRealMinutewas restored to0.1f.- Windows-Builder rebuild passed after the correction.
Agrarian Core Design Document - 2026-05-15
Completed the roadmap item to create the core design document.
Repo files updated:
Docs/CoreDesignDocument.mdAGRARIAN_DEVELOPMENT_ROADMAP.md
Content captured:
- Core identity: persistent generational civilization simulator.
- Motto/design question: "What survives after you are gone?"
- Design pillars: civilization is built, legacy matters, world remembers, frontier always exists, knowledge progression, real place/believable pace, hard beginnings/earned ease.
- MVP experience and first loop.
- Long-term world model and Earth-scale tile direction.
- Time/weather split:
4 real hours = 1 in-game dayfor MVP gameplay calendar, with day/night presentation and weather grounded in the represented region. - Survival, progression, multiplayer/society, economy/AGR principles.
- Non-goals and design risks.
- Current design decisions, including
maps.agrariangame.com:18080andAgrarian-TileServer.
Roadmap update:
- Marked the core design document complete.
- Immediate next roadmap item is creating the technical design document.
Agrarian Technical Design Document - 2026-05-15
Completed the roadmap item to create the technical design document.
Repo files updated:
Docs/TechnicalDesignDocument.mdAGRARIAN_DEVELOPMENT_ROADMAP.md
Content captured:
- Current Unreal 5.7 C++ / Blueprint architecture baseline.
- Server-authoritative runtime model and client responsibilities.
- Gameplay system boundaries for GameState, survival, inventory, crafting, interaction, resource actors, buildables, and persistence.
- Time/environment target:
4 real hours = 1 in-game day, with real-region day/night presentation and weather context. - MVP tile delivery architecture and endpoint:
http://maps.agrariangame.com:18080. - Data contracts for Unreal Data Assets, JSON metadata, and save data.
- Persistence, multiplayer, build automation, infrastructure, source control, security, and testing gates.
- Open technical questions for the next design passes.
Roadmap update:
- Marked the technical design document complete.
- Immediate next roadmap item is creating the multiplayer/networking design document.
Agrarian Multiplayer And Networking Design - 2026-05-15
Completed the roadmap item to create the multiplayer/networking design document.
Repo files updated:
Docs/MultiplayerNetworkingDesign.mdAGRARIAN_DEVELOPMENT_ROADMAP.md
Content captured:
- MVP networking goal for at least two players on the same server.
- Network model: listen server acceptable for quick internal testing; dedicated server remains preferred closed-test target.
- Server-authority rules for survival, inventory, crafting, resources, wildlife, world time/weather, build placement, persistence, spawn/respawn, and active tile/package version.
- Client responsibilities and replication scope.
- RPC validation rules and examples.
- Join, spawn, respawn, disconnect, and reconnect MVP behavior.
- Tile delivery split: tile server delivers static files, gameplay server owns authoritative world/tile state.
- Missing tile handling, network relevancy, latency expectations, security baseline, dedicated server direction, and testing gates.
Additional roadmap items marked complete because this document defines them:
- Confirm listen server vs dedicated server for MVP.
- Define server authority over streamed terrain tiles.
- Define server response when a client requests a missing tile.
- Add player join flow.
- Add player spawn flow.
Roadmap update:
- Marked the multiplayer/networking design document complete.
- Immediate next roadmap item is creating the persistence design document.
Agrarian Persistence Design Document - 2026-05-15
Completed the roadmap item to create the persistence design document.
Repo files updated:
Docs/PersistenceDesignDocument.mdAGRARIAN_DEVELOPMENT_ROADMAP.md
Content captured:
- Persistence principles: save meaningful state, version long-lived records, keep external metadata external, and make the server own writes.
- MVP persistence scope: player identity, survival snapshot, inventory snapshot, placed structures, resource depletion where needed, world time/weather state, active Ground Zero tile ID, and active tile package version.
- Save data vs external tile metadata boundary.
- Player identity, survival, inventory, world state, placed object, resource depletion, tile reference, and container record shapes.
- Save timing, load-on-server-start flow, migration rules, storage backend options, backup/recovery, security, and testing gates.
Roadmap update:
- Marked the persistence design document complete.
- Marked only the design/scope decisions complete in
1.13 Persistence MVP; implementation tasks such as saving player identity, stats, inventory, world time, weather state, containers, save interval, load-on-start, and tile registry persistence remain open. - Immediate next roadmap item is creating the Earth-scale terrain/tile streaming design document.
Agrarian First/Third-Person Camera Toggle - 2026-05-15
Completed the roadmap item to implement the hybrid camera toggle.
Repo files updated:
Source/AgrarianGame/AgrarianGameCharacter.hSource/AgrarianGame/AgrarianGameCharacter.cppContent/Input/Actions/IA_ToggleCamera.uassetContent/Input/IMC_Default.uassetContent/ThirdPerson/Blueprints/BP_ThirdPersonCharacter.uassetScripts/setup_camera_toggle_input.pyScripts/verify_camera_toggle_input.pyAGRARIAN_DEVELOPMENT_ROADMAP.md
Behavior:
- Third person remains the default view.
- Press
Vor gamepad right thumbstick to toggle first-person view. - First-person view uses a zero-length spring arm with a head-height camera offset, disables camera collision, and hides the local owner's mesh.
- Toggling back restores the third-person boom distance and mesh visibility.
Verification:
- Windows editor build completed successfully with
Scripts\BuildEditor-Windows.bat. - Unreal Python verification completed successfully with
Scripts\verify_camera_toggle_input.py, confirming the input action, keyboard/gamepad mappings, and Blueprint assignment.
Roadmap update:
- Marked
Implement first/third-person camera togglecomplete. - Immediate next roadmap item is
Implement sprinting.
Agrarian Sprinting - 2026-05-15
Completed the roadmap item to implement sprinting.
Repo files updated:
Source/AgrarianGame/AgrarianGameCharacter.hSource/AgrarianGame/AgrarianGameCharacter.cppContent/Input/Actions/IA_Sprint.uassetContent/Input/IMC_Default.uassetContent/ThirdPerson/Blueprints/BP_ThirdPersonCharacter.uassetScripts/setup_sprint_input.pyScripts/verify_sprint_input.pyAGRARIAN_DEVELOPMENT_ROADMAP.md
Behavior:
- Hold
LeftShiftor gamepad left thumbstick to sprint. - Default walk speed is
500; sprint speed is750. - Sprinting spends stamina only on the server and only while moving.
- Sprint intent replicates to clients and updates movement speed on replication.
- Sprinting automatically stops when stamina falls below
MinSprintStamina.
Verification:
- Windows editor build completed successfully with
Scripts\BuildEditor-Windows.bat. - Unreal Python setup completed successfully with
Scripts\setup_sprint_input.py. - Unreal Python verification completed successfully with
Scripts\verify_sprint_input.py, confirming the input action, keyboard/gamepad mappings, and Blueprint assignment.
Roadmap update:
- Marked
Implement sprintingcomplete. - Immediate next roadmap item is
Define real-world baseline walking speed.
Agrarian Baseline Walking Speed - 2026-05-15
Completed the roadmap item to define real-world baseline walking speed.
Repo files updated:
Docs/MovementAndTimeScaleBaseline.mdAGRARIAN_DEVELOPMENT_ROADMAP.md
Decision:
- Keep the MVP calendar target of
4 real hours = 1 in-game day. - Do not multiply player movement speed by the calendar time scale.
- Baseline adult walking speed is
1.4 m/s, or140 Unreal units/s. - MVP tuning may allow up to about
1.6 m/sfor a brisk walk if the first playable build feels too sluggish. - A flat 1 km tile edge-to-edge walk should take about 12 real minutes at baseline pace.
Rationale:
- Real terrain and 1 km tiles need real physical movement to feel grounded.
- Calendar compression should affect day/night rhythm, survival pressure, weather, sleep, crop growth, and long-term simulation, not the physical speed of the player body.
- Long travel consuming daylight is intentional; roads, carts, mounts, boats, vehicles, shelter, storage, and settlement planning should become meaningful progression systems.
Roadmap update:
- Marked
Define real-world baseline walking speedcomplete. - Immediate next roadmap item is
Define real-world baseline running speed.
Agrarian Baseline Running Speed - 2026-05-15
Completed the roadmap item to define real-world baseline running speed.
Repo files updated:
Docs/MovementAndTimeScaleBaseline.mdSource/AgrarianGame/AgrarianGameCharacter.hContent/ThirdPerson/Blueprints/BP_ThirdPersonCharacter.uassetScripts/setup_movement_baseline.pyScripts/verify_movement_baseline.pyAGRARIAN_DEVELOPMENT_ROADMAP.md
Decision:
- Keep movement measured in real distance per real second.
- Do not multiply running or sprinting by the
4 real hours = 1 in-game daycalendar. - Sustainable adult running target is
3.0 m/s, or300 Unreal units/s. - The current MVP sprint input is a short burst at
5.5 m/s, or550 Unreal units/s. - The default walk speed was aligned to the walking baseline at
140 Unreal units/s. - Sprint stamina cost was raised to
28per second so early characters cannot sprint across a full 1 km tile without rest or progression.
Verification:
- Windows editor build completed successfully with
Scripts\BuildEditor-Windows.bat. - Unreal Python movement baseline verification completed successfully with
Scripts\verify_movement_baseline.py, confirming Blueprint defaults.
Roadmap update:
- Marked
Define real-world baseline running speedcomplete. - Immediate next roadmap item is
Connect movement speed to age, condition, strength, endurance, hunger, thirst, injury, carried weight, and terrain.
Agrarian Movement Modifiers - 2026-05-15
Completed the roadmap item to connect movement speed to age, condition, strength, endurance, hunger, thirst, injury, carried weight, and terrain.
Repo files updated:
Source/AgrarianGame/AgrarianGameCharacter.hSource/AgrarianGame/AgrarianGameCharacter.cppSource/AgrarianGame/AgrarianInventoryComponent.hSource/AgrarianGame/AgrarianInventoryComponent.cppScripts/setup_movement_baseline.pyScripts/verify_movement_baseline.pyDocs/MovementAndTimeScaleBaseline.mdAGRARIAN_DEVELOPMENT_ROADMAP.md
Behavior:
- Character movement speed now uses
base speed * movement modifier. - Live modifiers include hunger, thirst, injury, carried inventory weight, and terrain multiplier.
- Replicated hooks were added for age, physical condition, strength, endurance, and terrain.
- Inventory now exposes
GetTotalWeight(). - Strength raises effective carry thresholds.
- Endurance improves movement resilience and reduces sprint stamina cost.
- Terrain multiplier is available through
SetTerrainMovementMultiplier(). - Movement modifier is clamped between
0.15and1.35.
Verification:
- Windows editor build completed successfully with
Scripts\BuildEditor-Windows.bat. - Unreal Python movement baseline setup and verification completed successfully
with
Scripts\setup_movement_baseline.pyandScripts\verify_movement_baseline.py.
Roadmap update:
- Marked the movement-modifier item complete.
- Immediate next roadmap item is
Implement crouching if needed.
Agrarian Crouch And Prone Stances - 2026-05-15
Completed the roadmap item to implement crouching and prone movement stances.
Repo files updated:
Source/AgrarianGame/AgrarianGameCharacter.hSource/AgrarianGame/AgrarianGameCharacter.cppContent/Input/Actions/IA_Crouch.uassetContent/Input/Actions/IA_Prone.uassetContent/Input/IMC_Default.uassetContent/ThirdPerson/Blueprints/BP_ThirdPersonCharacter.uassetScripts/setup_stance_input.pyScripts/verify_stance_input.pyDocs/MovementAndTimeScaleBaseline.mdAGRARIAN_DEVELOPMENT_ROADMAP.md
Behavior:
Ctoggles crouch and gamepad Right Shoulder maps to crouch.Ztoggles prone and gamepad Left Shoulder maps to prone.- Crouch uses a
0.55movement multiplier. - Prone uses a
0.25movement multiplier. - Sprint cannot start while crouched or prone.
- Entering prone exits crouch so only one low stance is active.
- Prone is replicated and uses the same movement modifier pipeline as hunger, thirst, injury, carried weight, terrain, and traits.
Verification:
python3 -m py_compilepassed for the stance setup and verify scripts.git diff --checkpassed for the touched text files.- Windows editor build completed successfully with
Scripts\BuildEditor-Windows.bat. - Unreal Python stance setup and verification completed successfully with
Scripts\setup_stance_input.pyandScripts\verify_stance_input.py.
Roadmap update:
- Marked
Implement crouching and prone movement stancescomplete. - Immediate next roadmap item is
Implement interact prompt.
Agrarian Interaction Prompt - 2026-05-15
Completed the roadmap item to implement an interaction prompt.
Repo files updated:
Source/AgrarianGame/AgrarianGameCharacter.hSource/AgrarianGame/AgrarianGameCharacter.cppSource/AgrarianGame/AgrarianDebugHUD.hSource/AgrarianGame/AgrarianDebugHUD.cppSource/AgrarianGame/AgrarianGameGameMode.cppScripts/setup_interaction_prompt.pyScripts/verify_interaction_prompt.pyAGRARIAN_DEVELOPMENT_ROADMAP.md
Behavior:
- The local character now refreshes interactable focus each tick using the same visibility trace used by interaction.
- Focused interactables must implement
AgrarianInteractableand passCanInteract. - Prompt text comes from
GetInteractionTexton the focused actor. - The HUD draws
[E] <prompt>near the center/lower-center of the screen. - The prompt is independent of the dev HUD toggle so it can remain visible even when debug stats are hidden.
BP_ThirdPersonGameModeis configured to useAgrarianDebugHUD.
Verification:
git diff --checkpassed for touched text files.python3 -m py_compilepassed for the setup and verify scripts.- Windows editor build completed successfully with
Scripts\BuildEditor-Windows.bat. - Unreal Python setup and verification completed successfully with
Scripts\setup_interaction_prompt.pyandScripts\verify_interaction_prompt.py.
Roadmap update:
- Marked
Implement interact promptcomplete. - Immediate next roadmap item is
Implement basic animation blueprint.
Agrarian 0.1.C Time, Weather, And Environment Pressure - 2026-05-16
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
dddac97 Add first pass sky lighting
Completed recent roadmap items:
Store weather source, provider timestamp, tile coordinate, and applied in-game weather state for debugging and persistence- Commit:
26ddf8e Persist applied weather debug state - Added tile ID/coordinate fields to mapped weather inputs.
- Added replicated
FAgrarianWeatherDebugSnapshot. - Save files now hold mapped weather inputs and applied weather debug state.
- Commit:
Add weather save/load support- Commit:
8625583 Add weather save load support - Added
LoadCurrentWorldas the unified load path. - Weather/time restores before players and persistent world actors.
- Admin load command now uses the combined load path.
- Persistence smoke test verifies provider-backed weather metadata survives save/load.
- Commit:
Connect shelter to weather protection- Commit:
0650806 Connect shelter to weather protection - Survival detects overlapping
AAgrarianShelterActorprotection volumes. CurrentWeatherProtectionreplicates on the survival component.- Shelter protection reduces ambient exposure and cold damage.
- Care-history
ShelterQualitytrends toward active protection. - Dev HUD shows shelter protection.
- Commit:
Add first-pass sky and lighting- Commit:
dddac97 Add first pass sky lighting - Added
AAgrarianSkyLightingController. - Controller owns movable sun, skylight, and fog components.
- Lighting reads replicated game time, active tile sunrise/sunset, weather state, and provider cloud cover.
- Ground Zero map setup now places
AGR_DemoSkyLightingControllerand removes legacy static demo sun/skylight/fog actors. Content/Agrarian/Maps/L_GroundZeroTerrain_Test.umapwas regenerated and saved with the new controller.
- Commit:
Verification:
- Windows editor build passed after each completed item.
- Unreal Python map setup passed for
Scripts/setup_ground_zero_demo_map.pyafter adding the sky lighting controller. - Relevant static verifiers and
git diff --checkpassed:Scripts/verify_weather_debug_persistence.pyScripts/verify_weather_save_load_support.pyScripts/verify_shelter_weather_protection.pyScripts/verify_sky_lighting_controller.py
Roadmap state:
- Current version section:
0.1.C Time, Weather, And Environment Pressure - Items remaining in
0.1.C:1 - Immediate next roadmap item:
Add audio cues for weather.
Agrarian Weather Audio Cues - 2026-05-16
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
08a1df6 Add weather audio cues
Completed roadmap item:
Add audio cues for weather- Added
AAgrarianWeatherAudioController. - Controller owns ambient, rain, wind, and storm audio components.
- It reads replicated weather state, provider wind speed, and day/night state
from
AAgrarianGameState. - It fades component volumes for clear, rain, cold wind, and storm states.
- Sound assets are intentionally assignable slots; runtime is silent until placeholder or final audio loops are assigned.
- Ground Zero setup now places
AGR_DemoWeatherAudioController. Content/Agrarian/Maps/L_GroundZeroTerrain_Test.umapwas regenerated and saved with the controller.
- Added
Verification:
python3 Scripts/verify_weather_audio_controller.pypassed.python3 Scripts/verify_sky_lighting_controller.pypassed.git diff --checkpassed.- Windows editor build passed through
/home/nathan/bin/agrarian-build-editor. - Unreal Python Ground Zero map setup passed through
Scripts/setup_ground_zero_demo_map.py.
Roadmap state:
- Completed section:
0.1.C Time, Weather, And Environment Pressure - Items remaining in
0.1.C:0 - Next version section:
0.1.D Single Biome MVP Map - Items remaining in
0.1.D:11 - Immediate next roadmap item:
Link Ground Zero tile coordinates to real-world weather lookup coordinates.
Agrarian Ground Zero Weather Lookup Coordinates - 2026-05-16
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
a7292bb Link Ground Zero weather lookup coordinates
Completed roadmap item:
Link Ground Zero tile coordinates to real-world weather lookup coordinates- Added explicit
weather_lookup_metadatato the Ground Zero tile registry entry. - Ground Zero weather lookup uses tile-center latitude
37.5925and longitude-122.4995. - Weather lookup metadata records Open-Meteo primary routing, NOAA/NWS fallback eligibility, coordinate source, and lookup rule.
- Updated the tile registry JSON schema and SQL prototype.
- Updated
Scripts/generate_tile_weather_manifest.pyto read declared weather lookup metadata for future source-backed tiles. - Regenerated
Data/Tiles/tile_weather_manifest.json. - Added
Scripts/verify_ground_zero_weather_lookup_coordinates.py. - Updated docs and roadmap.
- Added explicit
Verification:
python3 Scripts/generate_tile_weather_manifest.pypassed.python3 Scripts/verify_ground_zero_weather_lookup_coordinates.pypassed.python3 Scripts/verify_weather_provider_adapter.pypassed.AGRARIAN_SKIP_LIVE_WEATHER_CHECK=1 python3 Scripts/verify_open_meteo_mvp_source.pypassed.AGRARIAN_SKIP_LIVE_WEATHER_CHECK=1 python3 Scripts/verify_noaa_nws_us_fallback.pypassed.python3 -m py_compile Scripts/generate_tile_weather_manifest.py Scripts/verify_ground_zero_weather_lookup_coordinates.py Scripts/verify_weather_provider_adapter.pypassed.git diff --checkpassed.- Windows editor build passed through
/home/nathan/bin/agrarian-build-editor.
Roadmap state:
- Current version section:
0.1.D Single Biome MVP Map - Items remaining in
0.1.D:10 - Immediate next roadmap item:
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.
Agrarian Ground Zero Natural Environment Pass - 2026-05-16
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
25ffbfc Add Ground Zero natural environment pass
Completed roadmap item:
Replace grey-box environment presentation with an MVP natural environment pass- Added repeatable material generation in
Scripts/setup_ground_zero_demo_map.py. - Created 8 Ground Zero material assets under
Content/Agrarian/Materials/. - Applied the terrain material to the landscape.
- Applied distinct tree, shrub, and dry grass materials to the foliage patch.
- Applied wood, fiber, stone, and freshwater materials to placed resource/water actors.
- Regenerated/saved
Content/Agrarian/Maps/L_GroundZeroTerrain_Test.umap. - Added
Docs/Terrain/GroundZeroNaturalEnvironmentPass.md. - Added
Scripts/verify_ground_zero_natural_environment_pass.py.
- Added repeatable material generation in
Verification:
python3 -m py_compile Scripts/setup_ground_zero_demo_map.py Scripts/verify_ground_zero_natural_environment_pass.pypassed.git diff --checkpassed.- Unreal Python Ground Zero setup passed.
- Unreal Python natural environment verifier passed: 8 materials, 1 landscape, 14 dressed resource/water actors.
- Unreal Python foliage verifier passed: 42 trees, 96 shrubs, 180 grass clumps.
- Windows editor build passed through
/home/nathan/bin/agrarian-build-editor.
Roadmap state:
- Current version section:
0.1.D Single Biome MVP Map - Items remaining in
0.1.D:9 - Immediate next roadmap item:
Add first-pass environment asset variation so trees, bushes, grass, resource nodes, and water do not read as repeated placeholders.
Agrarian Ground Zero Environment Asset Variation - 2026-05-16
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
f78c552 Add Ground Zero environment asset variation
Completed roadmap item:
Add first-pass environment asset variation so trees, bushes, grass, resource nodes, and water do not read as repeated placeholders- Added 11 repeatable labeled variation actors through
Scripts/setup_ground_zero_demo_map.py. - Covered tree canopy/trunk pairs, rounded bushes, grass mats, rock slabs, and a visible freshwater surface.
- Used multiple prototype mesh silhouettes, unique scale profiles, rotations, and the existing Ground Zero material families.
- Regenerated/saved
Content/Agrarian/Maps/L_GroundZeroTerrain_Test.umap. - Updated the Ground Zero natural environment and foliage docs.
- Extended the natural environment verifier to require actor count, mesh variety, unique scales, and material-family coverage.
- Added 11 repeatable labeled variation actors through
Verification:
python3 -m py_compile Scripts/setup_ground_zero_demo_map.py Scripts/verify_ground_zero_natural_environment_pass.pypassed.git diff --checkpassed.- Unreal Python Ground Zero setup passed.
- Unreal Python natural environment verifier passed: 8 materials, 1 landscape, 14 dressed resource/water actors, 11 variation actors.
- Unreal Python foliage verifier passed: 42 trees, 96 shrubs, 180 grass clumps.
- Windows editor build passed through
/home/nathan/bin/agrarian-build-editor.
Roadmap state:
- Current version section:
0.1.D Single Biome MVP Map - Items remaining in
0.1.D:8 - Immediate next roadmap item:
Replace LevelPrototyping cube/cylinder mesh dependencies in Agrarian setup scripts and prototype Blueprints with Agrarian-native placeholder environment meshes.
Agrarian Native Placeholder Meshes - 2026-05-16
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
b5d1359 Replace template meshes with native placeholders
Completed roadmap item:
Replace LevelPrototyping cube/cylinder mesh dependencies in Agrarian setup scripts and prototype Blueprints with Agrarian-native placeholder environment meshes- Added five native placeholder static mesh assets under
/Game/Agrarian/Environment/PlaceholderMeshes. - Updated playable Blueprint setup and Ground Zero setup scripts so active outputs use native Agrarian mesh paths.
- Left template mesh references only as copy-source paths inside repeatable setup helpers.
- Regenerated/saved the affected resource, structure, and water Blueprints.
- Regenerated/saved
Content/Agrarian/Maps/L_GroundZeroTerrain_Test.umap. - Added
Scripts/verify_native_placeholder_meshes.py. - Updated the template decision doc, natural environment doc, and roadmap.
- Added five native placeholder static mesh assets under
Verification:
python3 -m py_compile Scripts/setup_ground_zero_demo_map.py Scripts/setup_playable_blueprints.py Scripts/verify_native_placeholder_meshes.pypassed.git diff --checkpassed.- Unreal Python playable Blueprint setup passed.
- Unreal Python Ground Zero setup passed.
- Unreal Python native placeholder verifier passed: 5 native mesh assets, 6 Blueprint meshes, foliage meshes, and environment variation meshes use native paths.
- Unreal Python natural environment verifier passed: 8 materials, 1 landscape, 14 dressed resource/water actors, 11 variation actors.
- Unreal Python foliage verifier passed: 42 trees, 96 shrubs, 180 grass clumps.
- Unreal Python player Blueprint verifier passed.
- Windows editor build passed through
/home/nathan/bin/agrarian-build-editor.
Roadmap state:
- Current version section:
0.1.D Single Biome MVP Map - Items remaining in
0.1.D:7 - Immediate next roadmap item:
Add weather exposure zones if needed.
Agrarian Ground Zero Weather Exposure Zones - 2026-05-16
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
8b0b5ff Add Ground Zero weather exposure zones
Completed roadmap item:
Add weather exposure zones if needed- Added native replicated
AAgrarianWeatherExposureZoneactor with a box overlap volume, exposure multiplier, temperature offset, and stable zone id. - Updated
UAgrarianSurvivalComponentso overlapping weather zones adjust ambient temperature exposure and cold damage after shelter/weather protection. - Updated the debug HUD to show current exposure multiplier and temperature offset.
- Added three repeatable Ground Zero zones through
Scripts/setup_ground_zero_demo_map.py: ridge exposure, coastal wind, and drainage cooling. - Regenerated/saved
Content/Agrarian/Maps/L_GroundZeroTerrain_Test.umap. - Added
Scripts/verify_weather_exposure_zones.py. - Updated the technical design document and roadmap.
- Added native replicated
Verification:
python3 -m py_compile Scripts/setup_ground_zero_demo_map.py Scripts/verify_weather_exposure_zones.pypassed.git diff --checkpassed.- Windows editor build passed through
/home/nathan/bin/agrarian-build-editor. - Unreal Python Ground Zero setup passed.
- Unreal Python weather exposure verifier passed: 3 zones with exposure multipliers and temperature offsets.
- Unreal Python natural environment verifier passed: 8 materials, 1 landscape, 14 dressed resource/water actors, 11 variation actors.
- Unreal Python foliage verifier passed: 42 trees, 96 shrubs, 180 grass clumps.
- Final Windows editor build passed through
/home/nathan/bin/agrarian-build-editor.
Roadmap state:
- Current version section:
0.1.D Single Biome MVP Map - Items remaining in
0.1.D:6 - Immediate next roadmap item:
Add landmark or ruin placeholder.
Agrarian Ground Zero Ruin Landmark Placeholder - 2026-05-16
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
56f8ef9 Add Ground Zero ruin landmark placeholder
Completed roadmap item:
Add landmark or ruin placeholder- Added a repeatable five-piece Ground Zero ruin cluster through
Scripts/setup_ground_zero_demo_map.py. - The cluster includes a foundation slab, two wall fragments, a cairn marker, and a threshold/lintel piece.
- The ruin uses Agrarian-native placeholder meshes and the Ground Zero stone material so it is visible in the MVP but easy to replace later.
- Regenerated/saved
Content/Agrarian/Maps/L_GroundZeroTerrain_Test.umap. - Added
Scripts/verify_ground_zero_landmark_placeholder.py. - Updated the Ground Zero natural environment doc and roadmap.
- Added a repeatable five-piece Ground Zero ruin cluster through
Verification:
python3 -m py_compile Scripts/setup_ground_zero_demo_map.py Scripts/verify_ground_zero_landmark_placeholder.pypassed.git diff --checkpassed.- Unreal Python Ground Zero setup passed.
- Unreal Python landmark placeholder verifier passed: 5 ruin actors, 3 mesh silhouettes.
- Unreal Python natural environment verifier passed: 8 materials, 1 landscape, 14 dressed resource/water actors, 11 variation actors.
- Unreal Python foliage verifier passed: 42 trees, 96 shrubs, 180 grass clumps.
- Windows editor build passed through
/home/nathan/bin/agrarian-build-editor.
Roadmap state:
- Current version section:
0.1.D Single Biome MVP Map - Items remaining in
0.1.D:5 - Immediate next roadmap item:
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.
Agrarian Ground Zero Safe Spawn Area - 2026-05-16
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
e50745d Validate Ground Zero safe spawn area
Completed roadmap item:
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
Scripts/setup_ground_zero_demo_map.py. - Setup validates minimum elevation above sea level, maximum sampled terrain slope, minimum above-terrain Z offset, freshwater spacing, and resource-cluster spacing before saving the map.
AGR_DemoPlayerStartnow uses the known safe fallback coordinate(-22000, -3500).- Added
Scripts/verify_ground_zero_safe_spawn.py. - Regenerated/saved
Content/Agrarian/Maps/L_GroundZeroTerrain_Test.umap. - Updated the technical design document and roadmap.
- Added safe spawn candidate/fallback selection to
Verification:
python3 -m py_compile Scripts/setup_ground_zero_demo_map.py Scripts/verify_ground_zero_safe_spawn.pypassed.git diff --checkpassed.- Unreal Python Ground Zero setup passed.
- Unreal Python safe-spawn verifier passed: location
(-22000, -3500, 1148), terrain9.28m, slope1.94deg, above-terrain offset220cm. - Unreal Python natural environment verifier passed.
- Unreal Python foliage verifier passed.
- Unreal Python landmark placeholder verifier passed.
- Windows editor build passed through
/home/nathan/bin/agrarian-build-editor. - Note: parallel Unreal verifier runs logged intermediate asset-registry cache write warnings because multiple editor processes started together; all verifiers completed successfully and the final editor build passed.
Roadmap state:
- Current version section:
0.1.D Single Biome MVP Map - Items remaining in
0.1.D:4 - Immediate next roadmap item:
Add performance profiling markers.
Agrarian Performance Profiling Markers - 2026-05-16
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
82463f3 Add Agrarian performance profiling markers
Completed roadmap item:
Add performance profiling markers- Added
Source/AgrarianGame/AgrarianPerformanceStats.handSource/AgrarianGame/AgrarianPerformanceStats.cppwithSTATGROUP_Agrarian. - Added
stat Agrariancycle counters 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. - Added
Scripts/verify_performance_profiling_markers.py. - Updated the technical design document and roadmap.
- Added
Verification:
python3 -m py_compile Scripts/verify_performance_profiling_markers.pypassed.python3 Scripts/verify_performance_profiling_markers.pypassed.git diff --checkpassed.- Windows editor build passed through
/home/nathan/bin/agrarian-build-editor.
Roadmap state:
- Current version section:
0.1.D Single Biome MVP Map - Items remaining in
0.1.D:3 - Immediate next roadmap item:
Add navigation support for wildlife.
Agrarian Wildlife Navigation Support - 2026-05-16
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
578220c Add wildlife navigation support
Completed roadmap item:
Add navigation support for wildlife- Added
NavigationSystemto the Agrarian module dependencies. - Wildlife now auto-possesses an AI controller when placed or spawned.
- Wander targets are sampled from reachable nav points when nav data exists.
- Chase and flee targets are projected onto navmesh.
- Server-authoritative wildlife movement uses
MoveToLocation. - Direct movement input remains as a fallback for early maps/tiles without nav data.
- AI movement stops cleanly when wildlife dies.
- Updated the wildlife loop verifier to find the current Ground Zero rabbit label.
- Added
Scripts/verify_wildlife_navigation_support.py. - Updated the technical design document and roadmap.
- Added
Verification:
python3 -m py_compile Scripts/verify_wildlife_navigation_support.py Scripts/verify_wildlife_loop.pypassed.python3 Scripts/verify_wildlife_navigation_support.pypassed.git diff --checkpassed.- Windows editor build passed through
/home/nathan/bin/agrarian-build-editor. - Unreal Python wildlife loop verifier passed through
Scripts/verify_wildlife_loop.py.
Roadmap state:
- Current version section:
0.1.D Single Biome MVP Map - Items remaining in
0.1.D:2 - Immediate next roadmap item:
Add map boundaries or soft limits.
Agrarian Ground Zero Map Boundary - 2026-05-16
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
65bcdf6 Add Ground Zero map boundary
Completed roadmap item:
Add map boundaries or soft limits- Added native
AAgrarianMapBoundaryVolumewith a box volume, boundary ID, warning-zone test, clamp helper, and server-authoritative player clamp. - Placed
AGR_GroundZeroMapBoundaryaround the loaded 1 km Ground Zero MVP tile inContent/Agrarian/Maps/L_GroundZeroTerrain_Test.umap. - Updated
Scripts/setup_ground_zero_demo_map.pyso regenerated Ground Zero maps automatically recreate the boundary volume. - Added
Scripts/verify_map_boundary_source.py. - Added
Scripts/verify_ground_zero_map_boundary.py. - Updated the technical design document and roadmap.
- Added native
Verification:
python3 -m py_compile Scripts/setup_ground_zero_demo_map.py Scripts/verify_map_boundary_source.py Scripts/verify_ground_zero_map_boundary.pypassed.python3 Scripts/verify_map_boundary_source.pypassed.git diff --checkpassed.- Windows editor build passed through
/home/nathan/bin/agrarian-build-editor. - Unreal Python Ground Zero setup passed through
Scripts/setup_ground_zero_demo_map.py. - Unreal Python boundary verifier passed through
Scripts/verify_ground_zero_map_boundary.py.
Roadmap state:
- Current version section:
0.1.D Single Biome MVP Map - Items remaining in
0.1.D:1 - Immediate next roadmap item:
Add developer travel command.
Agrarian Developer Travel Command - 2026-05-16
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
e436455 Add developer travel command
Completed roadmap item:
Add developer travel command- Added server-authoritative
AgrarianTravel X Y ZandAgrarianTravelHomeexec commands onAAgrarianGamePlayerController. AgrarianTravelteleports the controlled pawn to explicit Unreal world coordinates, rejects invalid NaN destinations, stops active character movement after teleport, and reports the destination to the issuing player.AgrarianTravelHomereturns the player to the validated Ground Zero safe spawn fallback nearAGR_DemoPlayerStartat(-22000, -3500, 1148).- Added
Scripts/verify_developer_travel_command.py. - Updated the technical design document and roadmap.
- Added server-authoritative
Verification:
python3 -m py_compile Scripts/verify_developer_travel_command.pypassed.python3 Scripts/verify_developer_travel_command.pypassed.git diff --checkpassed.- Windows editor build through
/home/nathan/bin/agrarian-build-editorinitially failed on aCharacterlocal-variable shadow warning; after renaming it toControlledCharacter, the editor build passed.
Roadmap state:
- Completed version section:
0.1.D Single Biome MVP Map - Items remaining in
0.1.D:0 - Current/next version section:
0.1.E Inventory System - Items remaining in
0.1.E:9 - Immediate next roadmap item:
Design inventory data model.
Agrarian Inventory Data Model - 2026-05-16
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
c511ae9 Design inventory data model
Completed roadmap item:
Design inventory data model- Added
Docs/InventoryDataModel.mddefining 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 build on the current code. - Updated the technical design document to point future inventory work at the new model instead of parallel state.
- Added
Scripts/verify_inventory_data_model.py. - Updated the roadmap.
- Added
Verification:
python3 -m py_compile Scripts/verify_inventory_data_model.pypassed.python3 Scripts/verify_inventory_data_model.pypassed.git diff --checkpassed.- No Windows editor build was run for this item because it only changed docs and Python verification.
Roadmap state:
- Current version section:
0.1.E Inventory System - Items remaining in
0.1.E:8 - Immediate next roadmap item:
Add item pickup.
Agrarian Item Pickup - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
03d856e Add item pickup actor
Completed roadmap item:
Add item pickup- Added native
AAgrarianItemPickup, a replicated interactable world actor with a static mesh, definition-backed or inlineFAgrarianItemStackdata, quantity, prompt text, and server-authoritative pickup behavior. - Pickup interaction validates authority and stack validity, adds the stack to
the player's
UAgrarianInventoryComponent, and destroys the world pickup only afterInventory->AddItemsucceeds so failed pickups remain available. - Added
Scripts/verify_item_pickup.py. - Updated the technical design document and roadmap.
- Added native
Verification:
python3 -m py_compile Scripts/verify_item_pickup.pypassed.python3 Scripts/verify_item_pickup.pypassed.git diff --checkpassed.- Windows editor build passed through
/home/nathan/bin/agrarian-build-editor.
Roadmap state:
- Current version section:
0.1.E Inventory System - Items remaining in
0.1.E:7 - Immediate next roadmap item:
Add item drop.
Agrarian Item Drop - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
b48595f Add item drop command
Completed roadmap item:
Add item drop- Added
UAgrarianInventoryComponent::ExtractItemso item removal can return dropped stack metadata for world pickups while preserving existingRemoveItembehavior. - Added server-authoritative
AgrarianDropItem ItemId QuantityonAAgrarianGamePlayerController. - Drop command extracts inventory stack data, spawns an
AAgrarianItemPickupin front of the player, and restores the removed stack if pickup spawning fails. - Added
Scripts/verify_item_drop.py. - Updated the technical design document and roadmap.
- Added
Verification:
python3 -m py_compile Scripts/verify_item_drop.pypassed.python3 Scripts/verify_item_drop.pypassed.git diff --checkpassed.- Windows editor build passed through
/home/nathan/bin/agrarian-build-editor.
Roadmap state:
- Current version section:
0.1.E Inventory System - Items remaining in
0.1.E:6 - Immediate next roadmap item:
Add stack splitting.
Agrarian Stack Splitting - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
555ad6d Add stack splitting
Completed roadmap item:
Add stack splitting- Added server-authoritative
UAgrarianInventoryComponent::SplitStackByIndex. - Added
ServerSplitStackByIndexRPC for future UI use. - Added
AgrarianSplitStack StackIndex SplitQuantitydebug command onAAgrarianGamePlayerController. - Split operation validates source slot, split quantity, and free slot
capacity, copies source stack metadata, reduces the source quantity, creates
a separate stack slot, and intentionally avoids re-merging through
AddItem. - Added
Scripts/verify_stack_splitting.py. - Updated the technical design document and roadmap.
- Added server-authoritative
Verification:
python3 -m py_compile Scripts/verify_stack_splitting.pypassed.python3 Scripts/verify_stack_splitting.pypassed.git diff --checkpassed.- Windows editor build passed through
/home/nathan/bin/agrarian-build-editor.
Roadmap state:
- Current version section:
0.1.E Inventory System - Items remaining in
0.1.E:5 - Immediate next roadmap item:
Add item use.
Agrarian Item Use - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
712a854 Add item use command
Completed roadmap item:
Add item use- Added server-authoritative
AgrarianUseItem ItemId Quantity. - Added
ApplyAgrarianItemUseEffectMVP rules:foodrestores hunger.meatrestores more hunger but adds raw-meat sickness risk.bandagereduces injury severity and restores a small amount of health.
- Added
UAgrarianSurvivalComponent::ReduceInjury. - Unsupported items are restored to inventory instead of consumed.
- Added
Scripts/verify_item_use.py. - Updated the technical design document and roadmap.
- Added server-authoritative
Verification:
python3 -m py_compile Scripts/verify_item_use.pypassed.python3 Scripts/verify_item_use.pypassed.git diff --checkpassed.- Windows editor build passed through
/home/nathan/bin/agrarian-build-editor.
Roadmap state:
- Current version section:
0.1.E Inventory System - Items remaining in
0.1.E:4 - Immediate next roadmap item:
Add equipment slots if needed.
Agrarian Equipment Slot Decision - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
edd4050 Document equipment slot decision
Completed roadmap item:
Add equipment slots if needed- Decision: dedicated equipment slots are deferred for the 0.1.E MVP.
- Reason: current tools, including
basic_tool, do not yet drive active hand, worn, backpack, armor, weapon, durability, animation, or mesh-attachment rules; adding slots now would create replicated/UI/save state with no gameplay consumer. - Documented the future trigger: add server-authoritative, replicated, persisted equipment slot state when an implemented system actually needs equipped state.
- Added
Scripts/verify_equipment_slot_decision.py. - Updated the inventory data model, technical design document, and roadmap.
Verification:
python3 -m py_compile Scripts/verify_equipment_slot_decision.pypassed.python3 Scripts/verify_equipment_slot_decision.pypassed.git diff --checkpassed.- No Windows editor build was run because this item only changed docs and Python verification.
Roadmap state:
- Current version section:
0.1.E Inventory System - Items remaining in
0.1.E:3 - Immediate next roadmap item:
Add weight or carry capacity placeholder.
Agrarian Carry Capacity Placeholder - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
cb663fb Document carry capacity placeholder
Completed roadmap item:
Add weight or carry capacity placeholder- Confirmed the existing carry-capacity placeholder is weight-first.
- Item stacks carry
UnitWeight. UAgrarianInventoryComponent::GetTotalWeightsumsQuantity * UnitWeight.AAgrarianGameCharacter::GetCurrentCarryWeightreads inventory total.- Movement uses comfort/heavy thresholds of
25.0and60.0. StrengthMultiplierscales effective carry thresholds.- Heavy loads reduce carry movement multiplier down to
45%. - The debug HUD shows current carried weight for tuning.
- Documented that later volume, backpack, awkward-object, injury/fatigue, and hard overload systems should extend this total-weight hook.
- Added
Scripts/verify_carry_capacity_placeholder.py. - Updated the inventory data model, technical design document, and roadmap.
Verification:
python3 -m py_compile Scripts/verify_carry_capacity_placeholder.pypassed.python3 Scripts/verify_carry_capacity_placeholder.pypassed.git diff --checkpassed.- No Windows editor build was run because this item only changed docs and Python verification around existing C++ behavior.
Automation notes:
- AWS SES in
us-west-2is available. pacificao.comis a verified SES identity.- Per-item summaries can be sent to
nathan@pacificao.comfrom apacificao.comsender.
Roadmap state:
- Current version section:
0.1.E Inventory System - Items remaining in
0.1.E:2 - Immediate next roadmap item:
Add inventory UI.
Agrarian Inventory UI - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
09eed7c Add MVP inventory HUD panel
Completed roadmap item:
Add inventory UI- Added a compact MVP inventory panel to
AAgrarianDebugHUD. - The panel is controlled separately from the full developer HUD by
bShowInventoryHUD. - It reads the replicated inventory component and shows occupied slots, max slots, total carried weight, visible item stacks, stack quantity, and total stack weight.
- Kept mutation flows on existing server-authoritative commands/RPCs until a full UMG inventory screen is introduced.
- Added
Scripts/verify_inventory_ui.py. - Updated the inventory data model, technical design document, and roadmap.
- Added a compact MVP inventory panel to
Verification:
python3 -m py_compile Scripts/verify_inventory_ui.pypassed.python3 Scripts/verify_inventory_ui.pypassed.git diff --checkpassed.- Windows editor build passed through
/home/nathan/bin/agrarian-build-editor.
Automation:
- Email summary sent to
nathan@pacificao.comthrough AWS SES.
Roadmap state:
- Current version section:
0.1.E Inventory System - Items remaining in
0.1.E:1 - Immediate next roadmap item:
Add persistence for inventory.
Agrarian Inventory Persistence - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed commit:
ac9fee4 Add inventory persistence restore hook
Completed roadmap item:
Add persistence for inventoryFAgrarianSavedPlayer::Inventorystores the player stack array.- Player capture writes
InventoryComponent->Items. - Added
UAgrarianInventoryComponent::RestoreSavedItems. - Restore broadcasts
OnInventoryChanged. UAgrarianPersistenceSubsystem::RestorePlayersnow uses the restore helper instead of assigningItemsdirectly.- HUD/UI listeners and future inventory UI stay synchronized after loading.
- Total carry weight remains derived from stack data.
- Added
Scripts/verify_inventory_persistence.py. - Updated the inventory data model, technical design document, and roadmap.
Verification:
python3 -m py_compile Scripts/verify_inventory_persistence.pypassed.python3 Scripts/verify_inventory_persistence.pypassed.git diff --checkpassed.- Windows editor build passed through
/home/nathan/bin/agrarian-build-editor.
Automation:
- Email summary sent to
nathan@pacificao.comthrough AWS SES.
Roadmap state:
- Current version section:
0.1.E Inventory System - Items remaining in
0.1.E:0 - Immediate next action: build Windows investor demo and stop.
Agrarian Windows Investor Demo - 2026-05-17
Stop point completed:
- Remaining
0.1.E Inventory Systemitems are complete. - Investor demo version strings were bumped before packaging:
- splash/demo notice:
Investor Demo v0.1.E - Build 2026.05.17; Config/DefaultGame.ini:ProjectVersion=0.1.E-investor.20260517;- packaged README/launchers use the same demo version.
- splash/demo notice:
- Latest pushed game commit after the version bump:
5fc6a61 Bump investor demo version to 0.1.E.
Windows package:
- Package command run on Windows builder from
P:\AgrarianGameBulid:Scripts\PackageWindowsDevelopment.bat - Result: success.
- Output folder:
/mnt/projects/AgrarianGameBulid/Builds/WindowsDevelopment - Approximate size:
1.1G - Key files:
AgrarianGame.exeREADME-Investor-Demo.txtInstall Prerequisites.cmdStart Agrarian Demo.cmdStart Agrarian Demo - DX12.cmdStart Agrarian Demo - Compatibility DX11.cmd
Repo state after package:
- Game repo clean on
main...origin/main. - Handoff repo clean on
main...origin/main.
Instruction:
- Stop here per user request. Next development item should be selected only after review of the investor demo or a new instruction.
Agrarian 0.1.F Stone Resource - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
d693113 Document stone resource support
Completed roadmap item:
Add stone resource- Confirmed stone already exists as
DA_Item_Stone. - Confirmed
BP_StoneResourceNodeis configured through playable Blueprint setup. - Confirmed deterministic Ground Zero stone node placements exist.
- Confirmed playable Blueprint and Ground Zero resource verifiers cover stone.
- Documented the gatherable resource baseline in the technical design doc.
- Marked the roadmap item complete.
- Added
Scripts/verify_stone_resource.py.
- Confirmed stone already exists as
Verification:
python3 -m py_compile Scripts/verify_stone_resource.pypassed.python3 Scripts/verify_stone_resource.pypassed.git diff --checkpassed.- No Windows editor build was run because this item closed existing content via docs and Python verification only.
Roadmap state:
- Current version section:
0.1.F Gathering And Resources - Items remaining in
0.1.F:5 - Immediate next roadmap item:
Add edible plant resource.
Agrarian 0.1.F Edible Plant Resource - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
0545522 Add edible plant resource nodes
Completed roadmap item:
Add edible plant resource- Added
BP_EdiblePlantResourceNodeas an Agrarian resource Blueprint. - The edible plant node yields the MVP
fooditem from forage patches. - Added
M_AGR_GZ_EdiblePlant_Resource. - Added three deterministic Ground Zero edible plant resource nodes:
AGR_GZ_EdiblePlant_CoastalScrub_01AGR_GZ_EdiblePlant_Grassland_02AGR_GZ_EdiblePlant_DrainageCandidate_03
- Updated the Ground Zero resource pass and technical design documentation.
- Added
Scripts/verify_edible_plant_resource.py. - Extended playable Blueprint and Ground Zero resource verifiers.
- Added
Verification:
python3 -m py_compile Scripts/setup_playable_blueprints.py Scripts/setup_ground_zero_demo_map.py Scripts/verify_playable_blueprints.py Scripts/verify_ground_zero_resources.py Scripts/verify_edible_plant_resource.pypassed.python3 Scripts/verify_edible_plant_resource.pypassed.- Windows Unreal Python setup for playable Blueprints passed.
- Windows Unreal Python setup for Ground Zero map resources passed.
- Windows Unreal Python
verify_playable_blueprints.pypassed. - Windows Unreal Python
verify_ground_zero_resources.pypassed and reported4 wood, 5 fiber, 3 edible plant, 4 stone nodes. git diff --checkpassed.
Roadmap state:
- Current version section:
0.1.F Gathering And Resources - Items remaining in
0.1.F:4 - Immediate next roadmap item:
Add water gathering interaction.
Agrarian 0.1.F Water Gathering Interaction - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
fa9d183 Verify water gathering interaction
Completed roadmap item:
Add water gathering interaction- Confirmed water gathering already exists through
AAgrarianWaterSourceandBP_FreshWaterSource. - Confirmed the water source uses the shared focused
IAgrarianInteractablepath. - Confirmed player-facing prompt text flows through
AAgrarianGameCharacter::FindFocusedInteractable. - Confirmed server-authoritative
AAgrarianGameCharacter::ServerInteractrange validation before interaction. - Confirmed interaction restores thirst through
UAgrarianSurvivalComponent::AddWaterwith restore amount45. - Added
Scripts/verify_water_gathering_interaction.py. - Updated the roadmap, technical design document, Ground Zero resource pass, and Ground Zero freshwater source docs.
- Confirmed water gathering already exists through
Verification:
python3 -m py_compile Scripts/verify_water_gathering_interaction.pypassed.python3 Scripts/verify_water_gathering_interaction.pypassed.- Windows Unreal Python
verify_ground_zero_water_source.pypassed and reportedAGR_GZ_FreshWaterSource_01, restore=45.0. git diff --checkpassed.
Roadmap state:
- Current version section:
0.1.F Gathering And Resources - Items remaining in
0.1.F:3 - Immediate next roadmap item:
Add respawn rules for MVP.
Agrarian 0.1.F Resource Respawn Rules - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
a5ec210 Add MVP resource respawn rules
Completed roadmap item:
Add respawn rules for MVP- Added native resource-node respawn fields:
bRespawnsForMvp,RespawnDelaySeconds, andMaxHarvests. - Added server-side respawn timer logic. Renewable nodes schedule a timer only when fully depleted.
- Respawn restores replicated
RemainingHarvestsand re-enables visibility/collision. - Configured MVP Blueprint defaults:
- wood respawns after
900seconds; - fiber respawns after
600seconds; - edible plants respawn after
1200seconds; - stone remains nonrespawning.
- wood respawns after
- Regenerated and saved resource Blueprints with the respawn defaults.
- Added
Scripts/verify_resource_respawn_rules.py. - Updated the roadmap, technical design document, Ground Zero resource pass,
setup_playable_blueprints.py, andverify_playable_blueprints.py.
- Added native resource-node respawn fields:
Verification:
python3 -m py_compile Scripts/setup_playable_blueprints.py Scripts/verify_playable_blueprints.py Scripts/verify_resource_respawn_rules.pypassed.python3 Scripts/verify_resource_respawn_rules.pypassed.git diff --checkpassed.- Windows editor build passed through direct
Scripts\BuildEditor-Windows.bat. - Windows Unreal Python
setup_playable_blueprints.pypassed. - Windows Unreal Python
verify_playable_blueprints.pypassed. - Note:
/home/nathan/bin/agrarian-build-editorappeared to hang silently and was stopped; the direct Windows build command completed successfully.
Roadmap state:
- Current version section:
0.1.F Gathering And Resources - Items remaining in
0.1.F:2 - Immediate next roadmap item:
Add tool requirement rules.
Agrarian 0.1.F Resource Tool Rules - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
843340e Add MVP resource tool rules
Completed roadmap item:
Add tool requirement rules- Added inventory-based resource tool fields:
RequiredToolItemId,bAllowBareHandGathering, andToolQuantityBonus. - Added harvest yield logic that keeps current MVP resources gatherable by hand while granting a yield bonus when the player has the configured tool.
- Configured MVP Blueprint defaults:
- wood, fiber, and stone declare
basic_tool, allow bare-hand gathering, and gain+1yield with the tool; - edible plants remain bare-hand gatherable without a tool bonus.
- wood, fiber, and stone declare
- Avoided a first-loop deadlock by not hard-requiring
basic_toolfor stone, since thebasic_toolrecipe requires stone. - Added
Scripts/verify_resource_tool_requirements.py. - Updated the roadmap, technical design document, Ground Zero resource pass,
setup_playable_blueprints.py, andverify_playable_blueprints.py.
- Added inventory-based resource tool fields:
Verification:
python3 -m py_compile Scripts/setup_playable_blueprints.py Scripts/verify_playable_blueprints.py Scripts/verify_resource_tool_requirements.pypassed.python3 Scripts/verify_resource_tool_requirements.pypassed.git diff --checkpassed.- Windows editor build passed through direct
Scripts\BuildEditor-Windows.bat. - Windows Unreal Python
setup_playable_blueprints.pypassed. - Windows Unreal Python
verify_playable_blueprints.pypassed.
Roadmap state:
- Current version section:
0.1.F Gathering And Resources - Items remaining in
0.1.F:1 - Immediate next roadmap item:
Add resource node persistence.
Agrarian 0.1.F Resource Node Persistence - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
5da545e Add resource node persistence
Completed roadmap item:
Add resource node persistence- Added
FAgrarianSavedResourceNodetoUAgrarianSaveGame. - Added
AAgrarianResourceNode::PersistenceNodeId, capture, and restore methods so resource depletion persists by stable map/tile node id. - Added persistence subsystem capture/restore paths for resource nodes.
- The subsystem only captures nodes that exist in the loaded world and restores matching existing nodes by id; it does not spawn resource nodes from saves.
- Updated Ground Zero placement to assign
PersistenceNodeIdvalues matching actor labels. - Extended the Ground Zero resource verifier to require stable persistence ids.
- Updated persistence/resource documentation and closed the roadmap item.
- Added
Scripts/verify_resource_node_persistence.py.
- Added
Verification:
python3 -m py_compile Scripts/setup_ground_zero_demo_map.py Scripts/verify_ground_zero_resources.py Scripts/verify_resource_node_persistence.pypassed.python3 Scripts/verify_resource_node_persistence.pypassed.git diff --checkpassed.- Windows editor build passed through direct
Scripts\BuildEditor-Windows.bat. - Windows Unreal Python
setup_ground_zero_demo_map.pypassed. - Windows Unreal Python
verify_ground_zero_resources.pypassed.
Roadmap state:
- Current version section:
0.1.F Gathering And Resources - Items remaining in
0.1.F:0 - Next required action: build the Windows investor demo and stop.
Agrarian 0.1.G Simple Container Recipe - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
ef658a3 Add simple container recipe
Completed roadmap item:
Add simple container recipe- Added
simple_containeras an inventory item definition and generated/Game/Agrarian/DataAssets/Items/DA_Item_SimpleContainer. - Added
DA_Recipe_SimpleContainerusing wood, fiber, and hide as MVP inputs. - The recipe produces one simple container after 10 seconds and does not require a campfire.
- Updated item and recipe setup/verification scripts so future asset regeneration preserves the container item and recipe.
- Added
Scripts/verify_simple_container_recipe.pyfor static roadmap/docs coverage. - Updated the roadmap, technical design document, and inventory data model to clarify that the simple container is currently craftable inventory output; placed storage, permissions, volume, and persistence remain later system work.
- Added
Verification:
python3 -m py_compile Scripts/setup_item_definitions.py Scripts/verify_item_definitions.py Scripts/setup_recipe_definitions.py Scripts/verify_recipe_definitions.py Scripts/verify_simple_container_recipe.pypassed.python3 Scripts/verify_simple_container_recipe.pypassed.git diff --checkpassed.- Windows editor build passed through direct
Scripts\BuildEditor-Windows.bat. - Windows Unreal Python
setup_recipe_definitions.pypassed. - Windows Unreal Python
verify_item_definitions.pypassed. - Windows Unreal Python
verify_recipe_definitions.pypassed.
Roadmap state:
- Current version section:
0.1.G Primitive Crafting Loop - Items remaining in
0.1.G:2 - Immediate next roadmap item:
Add crafting UI.
Agrarian 0.1.G Crafting UI - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
3509641 Add MVP crafting HUD
Completed roadmap item:
Add crafting UI- Added
UAgrarianCraftingComponent::GetKnownRecipesso UI and Blueprint code can read a merged list of recipe data assets and runtime recipes. - Added a compact
AAgrarianDebugHUDcrafting panel beside the inventory HUD. - The panel lists known MVP recipes, shows current inventory counts against required ingredients, and color-codes craftable versus blocked rows.
- Updated
BP_AgrarianPlayerCharacterandScripts/setup_agrarian_player_blueprints.pyso the player starts with primitive recipe data assets loaded inKnownRecipeAssets. - Extended
Scripts/verify_agrarian_player_blueprints.pyto verify the exact MVP recipe list, includingsimple_containerandbandage. - Added
Scripts/verify_crafting_ui.py. - Updated the roadmap and technical design document with the MVP HUD approach and deferred full UMG crafting controls.
- Added
Verification:
python3 -m py_compile Scripts/setup_agrarian_player_blueprints.py Scripts/verify_agrarian_player_blueprints.py Scripts/verify_crafting_ui.pypassed.python3 Scripts/verify_crafting_ui.pypassed.git diff --checkpassed.- Windows editor build passed through direct
Scripts\BuildEditor-Windows.bat. - Windows Unreal Python
setup_agrarian_player_blueprints.pypassed. - Windows Unreal Python
verify_agrarian_player_blueprints.pypassed.
Roadmap state:
- Current version section:
0.1.G Primitive Crafting Loop - Items remaining in
0.1.G:1 - Immediate next roadmap item:
Add crafting debug tools.
Agrarian 0.1.G Crafting Debug Tools - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
70eb22d Add crafting debug exec tools
Completed roadmap item:
Add crafting debug tools- Added player-controller exec command
AgrarianCraftStatusto list known recipes and current craftability. - Added player-controller exec command
AgrarianCraft <RecipeId>to request a server-authoritative craft throughUAgrarianCraftingComponent. - Kept crafting mutations on the server-authoritative component path instead of adding a separate debug-only inventory mutation.
- Added
Scripts/verify_crafting_debug_tools.py. - Updated the roadmap and technical design document with the debug tool commands and demo-rehearsal intent.
- Added player-controller exec command
Verification:
python3 -m py_compile Scripts/verify_crafting_debug_tools.pypassed.python3 Scripts/verify_crafting_debug_tools.pypassed.git diff --checkpassed.- Windows editor build passed through direct
Scripts\BuildEditor-Windows.bat. - Windows Unreal Python
verify_agrarian_player_blueprints.pypassed.
Roadmap state:
- Current version section:
0.1.G Primitive Crafting Loop - Items remaining in
0.1.G:0 - Next required action: build the Windows investor demo and stop.
Agrarian 0.1.H Campfire Extinguish Logic - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
c61b226 Add campfire extinguish logic
Completed roadmap item:
Add extinguish logic- Added
AAgrarianCampfire::Extinguish()as a native Blueprint-callable authority path. - Extinguish clears remaining fuel, turns off replicated
bLit, and reuses the same visual update path as natural fuel depletion. - Added
SetLithelper so fuel depletion, fuel addition, and extinguish all update replicated state consistently. - Added
Scripts/verify_fire_extinguish_logic.py. - Updated the roadmap and technical design document.
- Added
Verification:
python3 -m py_compile Scripts/verify_fire_extinguish_logic.pypassed.python3 Scripts/verify_fire_extinguish_logic.pypassed.git diff --checkpassed.- Windows editor build passed through direct
Scripts\BuildEditor-Windows.bat.
Roadmap state:
- Current version section:
0.1.H Fire System - Items remaining in
0.1.H:4 - Immediate next roadmap item:
Add cooking placeholder if needed.
Agrarian 0.1.H Campfire Cooking Placeholder - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
0ac4bec Add campfire cooking placeholder
Completed roadmap item:
Add cooking placeholder if needed- Added native replicated campfire cooking placeholder state on
AAgrarianCampfire:bCookingPlaceholderEnabled,CookingSecondsRequired, andCookingProgressSeconds. - Lit campfires now advance cooking progress server-side while the placeholder is enabled.
- Added Blueprint-callable
CanCook()andGetCookingProgressRatio()helpers for future recipe UI, food transformation, and interaction hooks. - Kept the playable Blueprint setup repeatable by leaving the new cooking defaults native; Unreal Python did not expose these freshly-added native fields on the existing BP_Campfire CDO during this pass.
- Added
Scripts/verify_fire_cooking_placeholder.py. - Updated the roadmap and technical design document.
- Added native replicated campfire cooking placeholder state on
Verification:
python3 -m py_compile Scripts/setup_playable_blueprints.py Scripts/verify_playable_blueprints.py Scripts/verify_fire_cooking_placeholder.pypassed.python3 Scripts/verify_fire_cooking_placeholder.pypassed.git diff --checkpassed.- Windows editor build passed through direct
Scripts\BuildEditor-Windows.bat. - Windows Unreal Python
setup_playable_blueprints.pypassed. - Windows Unreal Python
verify_playable_blueprints.pypassed.
Roadmap state:
- Current version section:
0.1.H Fire System - Items remaining in
0.1.H:3 - Immediate next roadmap item:
Add smoke/visual effect placeholder.
Agrarian 0.1.H Campfire Smoke Placeholder - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
c60b975 Add campfire smoke placeholder
Completed roadmap item:
Add smoke/visual effect placeholder- Added a native assetless
SmokeEffectUParticleSystemComponenttoAAgrarianCampfire. - Smoke starts inactive, is attached above the fire mesh, and activates/deactivates through the same replicated visual-state path as fire light intensity.
- Final smoke/ember assets can now be assigned later without changing gameplay code.
- Added
Scripts/verify_fire_smoke_placeholder.py. - Updated the roadmap and technical design document.
- Added a native assetless
Verification:
python3 -m py_compile Scripts/verify_fire_smoke_placeholder.pypassed.python3 Scripts/verify_fire_smoke_placeholder.pypassed.git diff --checkpassed.- Windows editor build passed through direct
Scripts\BuildEditor-Windows.bat.
Roadmap state:
- Current version section:
0.1.H Fire System - Items remaining in
0.1.H:2 - Immediate next roadmap item:
Add persistence.
Agrarian 0.1.H Campfire Persistence - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
7291c48 Add campfire persistence state
Completed roadmap item:
Add persistence- Added
IAgrarianPersistentStateProviderso persistent actors can capture/apply custom save fields through the existingUAgrarianPersistentActorComponentpath. - Campfires now have a persistent actor component with actor type
campfire. - Campfire save state captures transform plus lit state, fuel seconds, cooking placeholder enabled state, required cooking seconds, and cooking progress seconds.
- Campfire load state restores those values and reapplies the replicated visual state.
- The admin/world load path now registers the
campfireactor type along with shelters. - Added
Scripts/verify_fire_persistence.py. - Updated the roadmap and technical design document.
- Added
Verification:
python3 -m py_compile Scripts/verify_fire_persistence.pypassed.python3 Scripts/verify_fire_persistence.pypassed.git diff --checkpassed.- Windows editor build passed through direct
Scripts\BuildEditor-Windows.bat.
Roadmap state:
- Current version section:
0.1.H Fire System - Items remaining in
0.1.H:1 - Immediate next roadmap item:
Connect rain/weather to fire behavior.
Agrarian 0.1.H Cinematic Startup Credits And Demo Package - 2026-05-17
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
7472b0e Fix startup credits packaging warning
Completed request:
- Added a native cinematic startup credits sequence to the existing demo notice
widget.
- Nathan Slaven - Lead Developer
- Hunter Slaven - Junior Developer
- Lisa Reiley - Quality Control
- River Slaven - Alpha Game Tester
- Fisher Slaven - Beta Game Tester
- Funding by cherished individuals, Pacificao seed funding, and Lina Family Investment Funds
- Each credit card slams into frame, holds briefly, shows a stylized native Slate illustration panel, then slides out.
- Updated investor demo labels to
Investor Demo v0.1.H - Build 2026.05.17. - Added
Scripts/verify_startup_credits_sequence.py. - Added the requested forest-fire ignition/spread concept to the roadmap as a future server-authoritative fire risk/spread system.
- Fixed the Windows packaging warning-as-error by renaming a local timeline
accumulator from
CursortoTimelineCursor.
Verification:
python3 Scripts/verify_startup_credits_sequence.pypassed.git diff --checkpassed.- Windows editor build passed earlier via
Scripts\BuildEditor-Windows.bat. - Windows investor demo package passed via
Scripts\PackageWindowsDevelopment.bat. - Package log ended with
BUILD SUCCESSFULandAutomationTool exiting with ExitCode=0 (Success).
Investor demo output:
- Path:
/mnt/projects/AgrarianGameBulid/Builds/WindowsDevelopment - Main launcher:
Builds/WindowsDevelopment/Start Agrarian Demo.cmd - README version:
Investor Demo v0.1.H - Build 2026.05.17 - Fresh archive timestamps:
AgrarianGame.exe: 2026-05-17 20:52- pak/container files: 2026-05-17 20:52
- launchers and README: 2026-05-17 20:53
- Package size: approximately
1.1G.
Agrarian 0.1.I Shelter Building Style - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
27be644 Decide MVP shelter building style
Completed roadmap item:
Decide MVP building style- Version 0.1 shelter construction is crafted-kit based.
- Players gather natural materials, craft primitive frame/wall/roof panel inventory parts, combine those parts into one placeable primitive shelter, then place it through the server-authoritative placement component.
- Fully modular wall-by-wall building remains deferred to
0.2.E Permanent Structures. - Added
Scripts/verify_shelter_building_style_decision.py.
Verification:
python3 -m py_compile Scripts/verify_shelter_building_style_decision.pypassed.python3 Scripts/verify_shelter_building_style_decision.pypassed.git diff --checkpassed.
Roadmap state:
- Current version section:
0.1.I Shelter Building - Immediate next roadmap item:
Add ghost preview.
Agrarian 0.1.I Building Ghost Preview - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
6baeca2 Add building ghost preview
Completed roadmap item:
Add ghost preview- Added native placement preview state on
UAgrarianBuildingPlacementComponent. - The component now broadcasts
OnBuildPreviewUpdatedwith placement validity, snapped transform, and failure reason for Blueprint/UI use. - Added an assetless green/red wireframe ghost footprint via
DrawDebugBoxfor development/investor builds before final mesh/material ghost assets exist. - Added
Scripts/verify_building_ghost_preview.py.
- Added native placement preview state on
Verification:
python3 -m py_compile Scripts/verify_building_ghost_preview.py Scripts/verify_shelter_building_style_decision.pypassed.python3 Scripts/verify_building_ghost_preview.pypassed.python3 Scripts/verify_shelter_building_style_decision.pypassed.git diff --checkpassed.- Windows editor build passed via
Scripts\BuildEditor-Windows.bat.
Roadmap state:
- Current version section:
0.1.I Shelter Building - Immediate next roadmap item:
Add wall piece if needed.
Agrarian 0.1.I Shelter Wall Piece - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
8c6aa7c Document MVP shelter wall piece
Completed roadmap item:
Add wall piece if needed- Confirmed the MVP wall piece is the existing craftable
primitive_wall_panelinventory construction part consumed by the primitive shelter recipe. - Documented that separately placeable modular wall actors remain deferred to
0.2.E Permanent Structures. - Added
Scripts/verify_shelter_wall_piece.py.
- Confirmed the MVP wall piece is the existing craftable
Verification:
python3 -m py_compile Scripts/verify_shelter_wall_piece.pypassed.python3 Scripts/verify_shelter_wall_piece.pypassed.git diff --checkpassed.
Roadmap state:
- Current version section:
0.1.I Shelter Building - Immediate next roadmap item:
Add roof piece if needed.
Agrarian 0.1.I Shelter Roof Piece - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
e57a77d Document MVP shelter roof piece
Completed roadmap item:
Add roof piece if needed- Confirmed the MVP roof piece is the existing craftable
primitive_roof_panelinventory construction part consumed by the primitive shelter recipe. - Documented that separately placeable modular roof actors remain deferred to
0.2.E Permanent Structures. - Added
Scripts/verify_shelter_roof_piece.py.
- Confirmed the MVP roof piece is the existing craftable
Verification:
python3 -m py_compile Scripts/verify_shelter_roof_piece.pypassed.python3 Scripts/verify_shelter_roof_piece.pypassed.git diff --checkpassed.
Roadmap state:
- Current version section:
0.1.I Shelter Building - Immediate next roadmap item:
Add door/opening if needed.
Agrarian 0.1.I Shelter Door/Opening Scope - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
01d439c Decide MVP shelter opening scope
Completed roadmap item:
Add door/opening if needed- MVP primitive shelters use an open entrance and do not include an interactive door.
- Door actors, locks, ownership permissions, and modular openings are
deferred to
0.2.E Permanent Structures. - Added
Scripts/verify_shelter_door_opening_decision.py.
Verification:
python3 -m py_compile Scripts/verify_shelter_door_opening_decision.pypassed.python3 Scripts/verify_shelter_door_opening_decision.pypassed.git diff --checkpassed.
Roadmap state:
- Current version section:
0.1.I Shelter Building - Immediate next roadmap item:
Add deconstruction or damage placeholder.
Agrarian 0.1.I Shelter Damage/Deconstruction Placeholder - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
e75ee71 Add shelter damage placeholder
Completed roadmap item:
Add deconstruction or damage placeholder- Primitive shelters now have replicated
MaxStructureHealthandCurrentStructureHealth. - Added authority-only
ApplyStructureDamage,RepairStructure, andDeconstructhooks. - Integrated
TakeDamage, depletion destruction, health ratio/damaged helpers, and save/load support for current/max structure health through the persistent actor component. - Added
Scripts/verify_shelter_damage_placeholder.py.
- Primitive shelters now have replicated
Verification:
python3 -m py_compile Scripts/verify_shelter_damage_placeholder.pypassed.python3 Scripts/verify_shelter_damage_placeholder.pypassed.git diff --checkpassed.- Windows editor build passed via
Scripts\BuildEditor-Windows.bat.
Roadmap state:
- Current version section:
0.1.I Shelter Building - Items remaining in
0.1.I:0 - Next required action: build the Windows investor demo and stop.
Agrarian 0.1.I Investor Demo Metadata - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
0ea9af1 Update investor demo to 0.1.I
Completed follow-up:
- Corrected the investor demo build label from
0.1.Hto0.1.Ifor package launchers, packaged README generation, project version, startup demo notice actor/widget defaults, startup-credits verification, and investor roadmap HTML.
Verification:
python3 Scripts/verify_startup_credits_sequence.pypassed.python3 Scripts/verify_shelter_damage_placeholder.pypassed.- Windows editor build passed via
Scripts\BuildEditor-Windows.bat.
Roadmap state:
0.1.I Shelter Buildingis complete.- Next required action: rebuild the Windows investor demo package and stop.
Agrarian 0.1.I Windows Investor Demo Package - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
0ea9af1 Update investor demo to 0.1.I
Completed final package:
- Rebuilt the Windows Development investor demo package successfully after the 0.1.I metadata correction.
- Package path:
/mnt/projects/AgrarianGameBulid/Builds/WindowsDevelopment. - Packaged README now reports:
Investor Demo v0.1.I - Build 2026.05.18. - Fresh archive timestamps confirmed at 2026-05-18 11:43-11:44 for the executable, pak/iostore files, launchers, manifests, and README.
- Package size:
1.1G.
Verification:
- Windows editor build passed via
Scripts\BuildEditor-Windows.bat. - Windows package passed via
Scripts\PackageWindowsDevelopment.bat. - AutomationTool reported
BUILD SUCCESSFUL, ExitCode=0. - Game repo was clean after commit/push and package verification.
Roadmap state:
0.1.I Shelter Buildingis complete.- Stop point reached as requested: Windows investor demo rebuilt.
Agrarian Long-Term Family/NPC Intelligence Roadmap - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
f3316b3 Add long-term family NPC intelligence roadmap
Completed design/roadmap update:
- Added a phased roadmap for family members, community NPCs, and offline player stewardship so future NPCs behave like living contributors instead of static quest characters.
- Updated
AGRARIAN_DEVELOPMENT_ROADMAP.mdwith:- core commitments for living family/community characters and proprietary-first NPC intelligence;
0.2.H Household Task And Helper Foundations;0.3.G Community NPC Behavior Foundation;0.4.F Family Agency And Emotional Life;0.4.G Offline Character Stewardship;0.5.G Settlement Labor, Care, And Community Schedules;0.6.F NPC Hardship, Adaptation, And Recovery;0.8.E Proprietary AI Simulation Research;- cross-cutting
N. NPC, Family, And Offline Simulation Intelligence.
- Updated
Docs/TechnicalDesignDocument.mdwith server-authoritative, deterministic-first NPC intelligence rules, local/self-hosted AI boundaries, and offline character stewardship constraints.
Verification:
- Roadmap/design section search passed.
git diff --checkpassed.
Agrarian 0.1.J Bleeding Placeholder - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
c796a99 Add bleeding survival placeholder
Completed roadmap item:
Add bleeding placeholder- Survival now tracks replicated
BleedingSeverityinsideFAgrarianSurvivalSnapshot. - Added
BleedingDamagePerMinute,BleedingExhaustionPerSecond,AddBleeding, andReduceBleedingtoUAgrarianSurvivalComponent. - Generic injuries now seed bleeding at a light placeholder ratio.
- Active bleeding applies small health and exhaustion pressure and contributes to care-history injury burden.
- Debug HUD and
AgrarianSurvivalconsole output now display bleeding. - Added
Scripts/verify_bleeding_placeholder.py.
- Survival now tracks replicated
Verification:
python3 -m py_compile Scripts/verify_bleeding_placeholder.pypassed.python3 Scripts/verify_bleeding_placeholder.pypassed.git diff --checkpassed.- Windows editor build passed via
Scripts\BuildEditor-Windows.bat.
Roadmap state:
- Current version section:
0.1.J Injury And Basic Survival Consequences - Immediate next roadmap item:
Add sprain or movement penalty placeholder.
Agrarian 0.1.J Sprain/Movement Placeholder - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
559a5b2 Add sprain movement placeholder
Completed roadmap item:
Add sprain or movement penalty placeholder- Survival now tracks replicated
SprainSeverityinsideFAgrarianSurvivalSnapshot. - Added
SprainExhaustionPerSecond,AddSprain, andReduceSpraintoUAgrarianSurvivalComponent. - Generic injuries now seed sprain severity at a light placeholder ratio.
- Active sprains add light exhaustion pressure and contribute to care-history injury burden.
AAgrarianGameCharacter::CalculateSurvivalMovementMultipliernow includes an explicit sprain movement multiplier.- Debug HUD and
AgrarianSurvivalconsole output now display sprain state. - Added
Scripts/verify_sprain_movement_placeholder.py.
- Survival now tracks replicated
Verification:
python3 -m py_compile Scripts/verify_sprain_movement_placeholder.pypassed.python3 Scripts/verify_sprain_movement_placeholder.pypassed.git diff --checkpassed.- Windows editor build passed via
Scripts\BuildEditor-Windows.bat.
Roadmap state:
- Current version section:
0.1.J Injury And Basic Survival Consequences - Immediate next roadmap item:
Add treatment item.
Agrarian 0.1.J Treatment Item - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
164169f Expand bandage treatment effects
Completed roadmap item:
Add treatment item- The existing craftable
bandagemedicine item is now the MVP treatment item. - Server-authoritative
AgrarianUseItem bandage Quantitynow reduces injury, bleeding, and sprain severity with a small health bump. - Updated item-use verification and technical design documentation.
- Added
Scripts/verify_treatment_item.py.
- The existing craftable
Verification:
python3 -m py_compile Scripts/verify_treatment_item.py Scripts/verify_item_use.pypassed.python3 Scripts/verify_treatment_item.pypassed.python3 Scripts/verify_item_use.pypassed.git diff --checkpassed.- Windows editor build passed via
Scripts\BuildEditor-Windows.bat.
Roadmap state:
- Current version section:
0.1.J Injury And Basic Survival Consequences - Immediate next roadmap item:
Add death state.
Agrarian 0.1.J Death State - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
d318e97 Add survival death state
Completed roadmap item:
Add death state- Survival now has replicated
bIsDeadandLastDeathReasonfields inFAgrarianSurvivalSnapshot. - Health depletion latches death, zeros stamina, and records
health_depletedwhen no other death reason is set. - Ordinary
RestoreHealthno longer revives dead characters. - Added explicit
MarkDeadandRevivehooks for future respawn/admin flows. - Updated
AgrarianHealto useRevive. - Debug HUD and
AgrarianSurvivalconsole output now show alive/dead state. - Added
Scripts/verify_death_state.py.
- Survival now has replicated
Verification:
python3 -m py_compile Scripts/verify_death_state.pypassed.python3 Scripts/verify_death_state.pypassed.git diff --checkpassed.- Windows editor build passed via
Scripts\BuildEditor-Windows.bat.
Roadmap state:
- Current version section:
0.1.J Injury And Basic Survival Consequences - Immediate next roadmap item:
Add respawn rules for MVP.
Agrarian 0.1.J MVP Respawn Rules - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
11f051c Add MVP respawn command
Completed roadmap item:
Add respawn rules for MVP- Added server-authoritative
AgrarianRespawnexec command andServerAgrarianRespawnRPC. - Respawn is only available after death; living characters are told to use
AgrarianHealfor admin recovery. - MVP respawn stops movement, returns the character to the Ground Zero spawn/home location, revives at partial health, stabilizes hunger/thirst/body temperature, and clears acute injury, bleeding, sprain, sickness, and exhaustion.
- Family/inheritance respawn remains deferred to later generational milestones.
- Added
Scripts/verify_mvp_respawn_rules.py.
- Added server-authoritative
Verification:
python3 -m py_compile Scripts/verify_mvp_respawn_rules.pypassed.python3 Scripts/verify_mvp_respawn_rules.pypassed.git diff --checkpassed.- Windows editor build passed via
Scripts\BuildEditor-Windows.bat.
Roadmap state:
- Current version section:
0.1.J Injury And Basic Survival Consequences - Immediate next roadmap item:
Add corpse/backpack placeholder if needed.
Agrarian 0.1.J Corpse/Backpack Decision - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
e8f4acb Document corpse backpack MVP decision
Completed roadmap item:
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.
- Reserved future corpse/backpack recovery as a persistent, server-owned, interaction-gated death-recovery record once inventory loss and decay rules exist.
- Updated persistence and multiplayer networking design docs with the decision.
- Added
Scripts/verify_corpse_backpack_decision.py.
Verification:
python3 -m py_compile Scripts/verify_corpse_backpack_decision.pypassed.python3 Scripts/verify_corpse_backpack_decision.pypassed.git diff --checkpassed.- No Windows editor build was run because this item only changed docs and Python verification.
Roadmap state:
- Current version section:
0.1.J Injury And Basic Survival Consequences - Immediate next roadmap item:
Add replicated death feedback.
Agrarian 0.1.J Replicated Death Feedback - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
dce4f77 Add replicated death feedback
Completed roadmap item:
Add replicated death feedback- Survival now exposes Blueprint-assignable
OnDeathStateChangedwith replicated alive/dead state and death reason. BroadcastSurvivalChangednow emits death-state feedback when replicated death state or death reason changes.- Debug HUD shows replicated death reason while dead.
- Added
Scripts/verify_replicated_death_feedback.py.
- Survival now exposes Blueprint-assignable
Verification:
python3 -m py_compile Scripts/verify_replicated_death_feedback.pypassed.python3 Scripts/verify_replicated_death_feedback.pypassed.git diff --checkpassed.- Windows editor build passed via
Scripts\BuildEditor-Windows.bat.
Roadmap state:
0.1.J Injury And Basic Survival Consequencesitems remaining:0- Next required action: build the Windows investor demo and stop.
Agrarian 0.1.J Investor Demo Metadata - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
f0d8e3e Update investor demo to 0.1.J
Completed follow-up:
- Corrected the investor demo build label from
0.1.Ito0.1.J. - Updated project version, package launcher README generation, startup notice actor/widget defaults, startup credits verifier, and investor roadmap HTML.
- Investor roadmap HTML now describes 0.1.J injury/basic survival consequences as completed.
Verification:
python3 Scripts/verify_startup_credits_sequence.pypassed.- Stale
0.1.Idemo-label search passed. git diff --checkpassed.- Windows editor build passed via
Scripts\BuildEditor-Windows.bat.
Roadmap state:
0.1.J Injury And Basic Survival Consequencesis complete.- Next required action: build the Windows investor demo and stop.
Agrarian 0.1.J Windows Investor Demo Package - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
f0d8e3e Update investor demo to 0.1.J
Completed final package step:
- Built the Windows investor demo for
0.1.J Injury And Basic Survival Consequences. - Output path:
/mnt/projects/AgrarianGameBulid/Builds/WindowsDevelopment - README label verified:
Investor Demo v0.1.J - Build 2026.05.18. - Packaged folder size:
1.1G. - Fresh package artifacts were written at
2026-05-18 13:50, includingBuilds/WindowsDevelopment/AgrarianGame.exe, launcher command files, README, andAgrarianGame/Content/Paksfiles.
Verification:
- Windows package command passed via
Scripts\PackageWindowsDevelopment.bat. - AutomationTool reported
BUILD SUCCESSFUL. - AutomationTool exited with
ExitCode=0. - README and package artifacts were verified from Linux side.
- Game repo status is clean after package verification.
Roadmap state:
0.1.J Injury And Basic Survival Consequencesis complete.- Windows investor demo has been rebuilt and is ready at the package path.
- Stop here per user instruction.
Agrarian 0.1.L Dedicated Server Target/Bootstrap - 2026-05-18
Current repo:
/home/nathan/AgrarianGameBuild- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
1367f59 Add dedicated server bootstrap target
Completed roadmap item:
Create dedicated server build target if needed- Confirmed
Source/AgrarianGameServer.Target.csalready defines theAgrarianGameServerLinux dedicated server target. - Confirmed
Scripts/BuildLinuxDedicatedServer-Windows.batalready exists for Windows-Builder Linux server cross-compile/package output atBuilds/LinuxServerDevelopment. - Added reusable Ubuntu gameplay host bootstrap script:
Operations/cloud-game-server/bootstrap_ubuntu_game_server.sh. - Standardized first MVP gameplay DNS/port convention:
play.agrariangame.com,7777/udp. - Updated
Docs/Ops/DedicatedServerBuildRunbook.mdwith Ubuntu/DigitalOcean deploy steps, DNS, port, systemd service, and separation from the tile server. - Added
Scripts/verify_dedicated_server_target.py.
- Confirmed
Verification:
python3 -m py_compile Scripts/verify_dedicated_server_target.pypassed.python3 Scripts/verify_dedicated_server_target.pypassed.git diff --checkpassed.- Attempted Windows-Builder dedicated server package verification, but Unraid
libvirt/VM Manager is currently down:
/etc/rc.d/rc.libvirt statusreports the libvirt daemon is not running, and starting it fails because/etc/libvirt/virtlockd.confand/etc/libvirt/virtlogd.confare missing.
Roadmap state:
- Current version section:
0.1.L Basic Multiplayer - Immediate next roadmap item:
Add server travel flow. - Windows/Linux build verification and any new VM startup are blocked until Unraid libvirt/VM Manager is repaired.
Agrarian 0.1.L Server Travel Flow - 2026-05-18
Current repo:
/home/nathan/AgrarianGameBuild- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
ebc7aa1 Add MVP server travel flow
Completed roadmap item:
Add server travel flow- Added allowlisted
AgrarianServerTravel GroundZeroadmin/dev console command onAAgrarianGamePlayerController. - Command routes through
ServerAgrarianServerTravel, validates server authority, resolves only the Ground Zero MVP map, and callsWorld->ServerTravel("/Game/Agrarian/Maps/L_GroundZeroTerrain_Test?listen"). - Updated multiplayer networking design and dedicated server runbook with the MVP travel flow.
- Added
Scripts/verify_server_travel_flow.py.
- Added allowlisted
Verification:
python3 -m py_compile Scripts/verify_server_travel_flow.pypassed.python3 Scripts/verify_server_travel_flow.pypassed.git diff --checkpassed.- C++ compile/package verification is blocked because Unraid libvirt/VM Manager is still down; see previous handoff entry for the missing libvirt config files.
Roadmap state:
- Current version section:
0.1.L Basic Multiplayer - Immediate next roadmap item:
Add network relevancy rules.
Agrarian 0.1.L Network Relevancy Rules - 2026-05-18
Current repo:
/home/nathan/AgrarianGameBuild- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
d4ea10c Add MVP network relevancy rules
Completed roadmap item:
Add network relevancy rules- Added explicit MVP
NetCullDistanceSquaredvalues for replicated gameplay actors:- item pickups: 30m
- resource nodes: 45m
- campfires, shelters, wildlife: 60m
- water sources and weather exposure zones: 65m
- wildlife spawn managers: 80m
- Updated multiplayer networking design with the Ground Zero relevancy strategy.
- Added
Scripts/verify_network_relevancy_rules.py.
- Added explicit MVP
Verification:
python3 -m py_compile Scripts/verify_network_relevancy_rules.pypassed.python3 Scripts/verify_network_relevancy_rules.pypassed.git diff --checkpassed.- C++ compile/package verification is blocked because Unraid libvirt/VM Manager is still down.
Roadmap state:
- Current version section:
0.1.L Basic Multiplayer - Immediate next roadmap item:
Add basic latency testing.
Agrarian 0.1.L Basic Latency Testing - 2026-05-18
Current repo:
/home/nathan/AgrarianGameBuild- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
3b772da Add multiplayer latency test plan
Completed roadmap item:
Add basic latency testing- Added
Docs/Ops/MultiplayerLatencyTestPlan.mdwith clean LAN, mild WAN, and rough WAN Unreal packet-simulation profiles. - Added
Scripts/LatencyTestProfiles-Windows.batto print the test console commands and reset commands. - Updated multiplayer networking design with the 0.1.L latency gate.
- Added
Scripts/verify_basic_latency_testing.py.
- Added
Verification:
python3 -m py_compile Scripts/verify_basic_latency_testing.pypassed.python3 Scripts/verify_basic_latency_testing.pypassed.git diff --checkpassed.- Interactive latency playthrough is blocked until a playable server/client test host is available; VM-based builds remain blocked by Unraid libvirt.
Roadmap state:
- Current version section:
0.1.L Basic Multiplayer - Immediate next roadmap item:
Add disconnect/reconnect handling.
Agrarian 0.1.L Disconnect/Reconnect Handling - 2026-05-18
Current repo:
/home/nathan/AgrarianGameBuild- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
0b9a8b7 Add MVP reconnect snapshots
Completed roadmap item:
Add disconnect/reconnect handling- Added MVP player reconnect snapshots in
UAgrarianPersistenceSubsystem. SavePlayerSnapshotupdates the matching saved player record with transform, survival, care history, and inventory.RestorePlayerSnapshotrestores a matching saved player after spawn.AAgrarianGameGameMode::Logoutsaves the reconnect snapshot before logout completes.AAgrarianGameGameMode::RestartPlayerrestores the snapshot after normal MVP spawn when a matching record exists.- Updated multiplayer networking design and roadmap.
- Added
Scripts/verify_disconnect_reconnect_handling.py.
- Added MVP player reconnect snapshots in
Verification:
python3 -m py_compile Scripts/verify_disconnect_reconnect_handling.pypassed.python3 Scripts/verify_disconnect_reconnect_handling.pypassed.git diff --checkpassed.- C++ compile/package verification is blocked because Unraid libvirt/VM Manager is still down.
Roadmap state:
0.1.L Basic Multiplayeritems remaining:0.- Next required action: update investor demo metadata to 0.1.L, build the Windows investor demo, and stop, but this is blocked until Unraid libvirt/VM Manager is repaired.
Agrarian 0.1.L Investor Demo Metadata - 2026-05-18
Current repo:
/home/nathan/AgrarianGameBuild- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
9c808f4 Update investor demo to 0.1.L
Completed follow-up:
- Updated the investor demo metadata baseline from
0.1.Kto0.1.L. - Updated project version, Windows launcher README generation, startup notice actor/widget defaults, startup credits verifier, and investor roadmap HTML.
- Investor roadmap HTML now describes 0.1.L Basic Multiplayer as completed: dedicated server target/bootstrap, server travel flow, replicated session foundations, network relevancy rules, latency test plan, and disconnect/reconnect snapshots.
Verification:
python3 -m py_compile Scripts/verify_startup_credits_sequence.pypassed.python3 Scripts/verify_startup_credits_sequence.pypassed.- Stale 0.1.K demo-label search passed.
git diff --checkpassed.
Roadmap state:
0.1.L Basic Multiplayeris complete.- Windows investor demo metadata is ready for
Investor Demo v0.1.L - Build 2026.05.18. - Final Windows investor demo packaging remains blocked because Unraid
libvirt/VM Manager is still down/missing
/etc/libvirt/virtlockd.confand/etc/libvirt/virtlogd.conf. - Gameplay server DNS/firewall plan:
- Point
play.agrariangame.comto the future Ubuntu gameplay server public IP. - Open
7777/udpfor Unreal gameplay traffic. - Keep SSH restricted to admin IPs.
- Point
Agrarian 0.1.L Windows Investor Demo Package - 2026-05-18
Current repo:
/home/nathan/AgrarianGameBuild- Build-share checkout:
/mnt/projects/AgrarianGameBulid - GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
9c808f4 Update investor demo to 0.1.L
Completed final package step:
- Refreshed the restored Windows builder
P:mapping to\\192.168.5.8\projects. - Fast-forwarded the build-share checkout from
6178e77to9c808f4. - Built the Windows investor demo for
0.1.L Basic Multiplayer. - Output path:
/mnt/projects/AgrarianGameBulid/Builds/WindowsDevelopment. - README label verified:
Investor Demo v0.1.L - Build 2026.05.18. - Packaged folder size:
1.1G. - Fresh top-level package artifacts were written at
2026-05-18 15:43, includingAgrarianGame.exe, launcher command files, manifests, and README.
Verification:
- Windows package command passed via
Scripts\PackageWindowsDevelopment.bat. - AutomationTool reported
BUILD SUCCESSFUL. - AutomationTool exited with
ExitCode=0. AgrarianGame.exeexists and is a PE32+ x86-64 Windows GUI executable./home/nathan/AgrarianGameBuildand/mnt/projects/AgrarianGameBulidwere clean after package verification.
Notes:
- Windows build VM reported 10 logical cores and 32 GB RAM during packaging.
- UE 5.7 emitted deprecation warnings for direct public access to
AActor::NetCullDistanceSquared; future cleanup should move those MVP relevancy assignments toSetNetCullDistanceSquared().
Roadmap state:
0.1.L Basic Multiplayeris complete.- Windows investor demo has been rebuilt and is ready at the package path.
- Stop here per user instruction.
Agrarian MVP Gameplay Server VM - 2026-05-18
Created Unraid VM:
- VM name:
Agrarian-PlayServer - Hostname/FQDN:
play.agrariangame.com - LAN IP:
192.168.5.15/22 - Gateway:
192.168.4.1 - MAC:
52:54:00:7a:77:15 - vCPU/RAM: 2 vCPU, 4 GB RAM
- Disk: 40 GB qcow2 backed by Ubuntu 24.04 cloud image
- Autostart: enabled
Access:
- User:
nathan - Password uses the usual MVP account password requested by Nathan.
- SSH password login is enabled for MVP convenience.
Server setup:
ufwactive.- OpenSSH allowed.
7777/udpallowed.- Deployment directory exists and is owned by
nathan:nathan:/opt/agrarian/server. - Systemd service installed:
agrarian-game-server.service. - Service is enabled but inactive until the expected dedicated-server wrapper
exists:
/opt/agrarian/server/AgrarianGameServer.sh.
DNS/network:
play.agrariangame.comresolves to public IP208.79.250.18.- Router/NAT follow-up: forward public
7777/udpto192.168.5.15. - No Unreal Linux dedicated server package has been deployed yet, so nothing is
currently listening on
7777/udp.
Follow-up:
- Nathan reported Unraid UI showed the VM requires guest agent installed.
- Verified guest agent is actually installed and active inside
Agrarian-PlayServer. - Libvirt backend confirms agent health:
virsh qemu-agent-command Agrarian-PlayServer --cmd '{"execute":"guest-ping"}'succeeds. virsh domifaddr Agrarian-PlayServer --source agentreturns192.168.5.15/22.- Rebooted
Agrarian-PlayServeronce so Unraid UI can refresh with the agent present from boot. - Post-reboot checks:
qemu-guest-agent: activessh: activeufw: active7777/udp: allowedagrarian-game-server.service: inactive because/opt/agrarian/server/AgrarianGameServer.shdoes not exist yet.
Dedicated server deployment attempt:
- Ran
Scripts\BuildLinuxDedicatedServer-Windows.batfrom Windows-Builder. - Build failed immediately with UnrealBuildTool:
Missing files required to build Linux targets. Enable Linux as an optional download component in the Epic Games Launcher. - Windows-Builder UE 5.7 has installed target platform folders for Android,
IOS, VisionOS, and Windows, but not Linux under
Engine\Platforms. - No existing Linux dedicated server package was found in
Builds/LinuxServerDevelopment.
Required next step:
- Install the UE 5.7 Linux target platform/toolchain on Windows-Builder through Epic Games Launcher options.
- Rerun
Scripts\BuildLinuxDedicatedServer-Windows.bat. - Copy the produced Linux server package to
nathan@192.168.5.15:/opt/agrarian/server. - Start
agrarian-game-server.serviceand verifyss -lunpshows7777/udp.
Agrarian PlayServer Linux Package Deployment - 2026-05-18
Windows-Builder Linux toolchain:
- Installed official UE 5.7 Linux cross-toolchain:
v26_clang-20.1.8-rockylinux8. - Toolchain path:
C:\UnrealToolchains\v26_clang-20.1.8-rockylinux8. - Machine environment variable set:
LINUX_MULTIARCH_ROOT=C:\UnrealToolchains\v26_clang-20.1.8-rockylinux8. - Turnkey verifies Linux SDK as valid.
Dedicated server target status:
Scripts\BuildLinuxDedicatedServer-Windows.batstill cannot produce the true server target because Epic's installed binary engine reports:Server targets are not currently supported from this engine distribution.- Production-quality follow-up: use a source-built/server-capable Unreal engine
distribution for the real
AgrarianGameServerdedicated target.
MVP fallback deployed:
- Built Linux game package via UAT
BuildCookRunfor platformLinux. - Output path on build share:
/mnt/projects/AgrarianGameBulid/Builds/LinuxGameDevelopment. - First Linux cook took about 1h 16m and generated the initial Vulkan shader cache.
- Package size:
1.1G. - Deployed to:
nathan@192.168.5.15:/opt/agrarian/server. - Created wrapper:
/opt/agrarian/server/AgrarianGameServer.sh. - Wrapper runs:
/Game/Agrarian/Maps/L_GroundZeroTerrain_Test?listen -server -port=7777 -log -unattended -NullRHI -nosound.
Verification:
agrarian-game-server.serviceis active after stability check.ss -lunpshowsAgrarianGamelistening on0.0.0.0:7777/udp.nc -zvu -w 2 192.168.5.15 7777succeeds from LAN.- Runtime log reports ProjectVersion
0.1.L-investor.20260518. - Runtime log reports browse started for:
/Game/Agrarian/Maps/L_GroundZeroTerrain_Test?Name=Player?listen.
Agrarian 0.1.K Wildlife Spawn Manager - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
494fe6f Add wildlife spawn manager
Completed roadmap item:
Add spawn manager- Added
AAgrarianWildlifeSpawnManager, a replicated, server-authoritative spawn manager actor for MVP wildlife population seeding. - Designers can configure wildlife class, initial spawn count, max active population, spawn radius, respawn interval, spawn-on-begin-play, and optional navigation projection.
- Spawned wildlife actors remain authoritative server spawns and are tracked by the manager for active population limits.
- Updated roadmap and technical design documentation.
- Added
Scripts/verify_wildlife_spawn_manager.py.
- Added
Verification:
python3 -m py_compile Scripts/verify_wildlife_spawn_manager.pypassed.python3 Scripts/verify_wildlife_spawn_manager.pypassed.git diff --checkpassed.- Windows editor build passed via
Scripts\BuildEditor-Windows.bat.
Roadmap state:
- Current version section:
0.1.K Wildlife Prototype - Immediate next roadmap item:
Add performance limits.
Agrarian 0.1.K Wildlife Performance Limits - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
a834eb7 Add wildlife performance limits
Completed roadmap item:
Add performance limits- Wildlife now has MVP server-side performance throttling.
- Nearby wildlife inside
FullUpdateRadiusupdates normally for responsive flee/chase behavior. - Far wildlife batches server thinking on
FarUpdateIntervalSeconds. - Dead wildlife disables ticking after entering the dead state.
- Spawn-manager
MaxActiveWildliferemains the MVP population cap. - Updated roadmap and technical design documentation.
- Added
Scripts/verify_wildlife_performance_limits.py.
Verification:
python3 -m py_compile Scripts/verify_wildlife_performance_limits.py Scripts/verify_wildlife_spawn_manager.pypassed.python3 Scripts/verify_wildlife_performance_limits.pypassed.python3 Scripts/verify_wildlife_spawn_manager.pypassed.git diff --checkpassed.- Windows editor build passed via
Scripts\BuildEditor-Windows.bat.
Roadmap state:
0.1.K Wildlife Prototypeitems remaining:0.- Next required action: update investor demo metadata to 0.1.K, build the Windows investor demo, and stop.
Agrarian 0.1.K Investor Demo Metadata - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
6178e77 Update investor demo to 0.1.K
Completed follow-up:
- Corrected the investor demo build label from
0.1.Jto0.1.K. - Updated project version, package launcher README generation, startup notice actor/widget defaults, startup credits verifier, and investor roadmap HTML.
- Investor roadmap HTML now describes 0.1.K wildlife prototype as completed.
Verification:
python3 Scripts/verify_startup_credits_sequence.pypassed.- Stale
0.1.Jdemo-label search passed. git diff --checkpassed.- Windows editor build passed via
Scripts\BuildEditor-Windows.bat.
Roadmap state:
0.1.K Wildlife Prototypeis complete.- Next required action: build the Windows investor demo and stop.
Agrarian 0.1.K Windows Investor Demo Package - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
6178e77 Update investor demo to 0.1.K
Completed final package step:
- Built the Windows investor demo for
0.1.K Wildlife Prototype. - Output path:
/mnt/projects/AgrarianGameBulid/Builds/WindowsDevelopment - README label verified:
Investor Demo v0.1.K - Build 2026.05.18. - Packaged folder size:
1.1G. - Fresh package artifacts were written at
2026-05-18 14:33, includingBuilds/WindowsDevelopment/AgrarianGame.exe, launcher command files, README, andAgrarianGame/Content/Paksfiles.
Verification:
- Windows package command passed via
Scripts\PackageWindowsDevelopment.bat. - AutomationTool reported
BUILD SUCCESSFUL. - AutomationTool exited with
ExitCode=0. - README and package artifacts were verified from Linux side.
- Game repo status is clean after package verification.
Roadmap state:
0.1.K Wildlife Prototypeis complete.- Windows investor demo has been rebuilt and is ready at the package path.
- Stop here per user instruction.
Agrarian 0.1.M Player Identity Persistence - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
1e0d326 Save MVP player identity metadata
Completed roadmap item:
Save player identity- Added
FAgrarianSavedPlayerIdentityto player save records. - Kept the existing backwards-compatible
PlayerIdstring. - Player persistence now prefers a valid
APlayerStatenetwork unique ID, then falls back to player name, then pawn name for local prototype sessions. - The save record keeps safe identity metadata: stable ID, player name, network ID, whether the network ID was used, and last known pawn name.
- Persistence documentation now explicitly states that saved player identity does not store credentials, emails, passwords, or tokens.
- Added
Scripts/verify_player_identity_persistence.py.
- Added
Verification:
python3 -m py_compile Scripts/verify_player_identity_persistence.pypassed.python3 Scripts/verify_player_identity_persistence.pypassed.git diff --checkpassed.- Windows editor compile gate was attempted but blocked because
UNRAID_PASSWORDwas not present in the shell environment.
Deployment classification:
Server deploy requiredat milestone packaging time because this changes server-authoritative persistence/save code shared by the multiplayer host.
Roadmap state:
- Current version section:
0.1.M Persistence MVP - Items remaining in
0.1.M:13 - Immediate next roadmap item:
Save player stats.
Agrarian 0.1.M Player Stats Persistence - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
82f60f4 Document player stats persistence
Completed roadmap item:
Save player stats- Confirmed player stats already persist through
FAgrarianSavedPlayer::Survival. - The saved survival snapshot covers health, stamina, exhaustion, hunger, thirst, body temperature, injury, bleeding, sprain, sickness, death state, and death reason.
- Restore continues through
UAgrarianSurvivalComponent::ApplySavedState. - Updated persistence documentation and roadmap wording to make the save contract explicit.
- Added
Scripts/verify_player_stats_persistence.py.
- Confirmed player stats already persist through
Verification:
python3 -m py_compile Scripts/verify_player_stats_persistence.pypassed.python3 Scripts/verify_player_stats_persistence.pypassed.git diff --checkpassed.- No Windows editor compile was run for this item because it only documented and verified an existing C++ persistence path.
Deployment classification:
Docs/email onlyfor this item.- Milestone still has
Server deploy requiredpending because earlier 0.1.M persistence runtime changes affect the multiplayer host.
Roadmap state:
- Current version section:
0.1.M Persistence MVP - Items remaining in
0.1.M:12 - Immediate next roadmap item:
Save long-term character care history placeholders without applying aging gameplay yet.
Agrarian 0.1.M Care History Persistence - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
1d2ac1e Document care history persistence
Completed roadmap item:
Save long-term character care history placeholders without applying aging gameplay yet- Confirmed player care history already persists through
FAgrarianSavedPlayer::CareHistory. - The saved
FAgrarianCareHistorySnapshotreserves nutrition, illness, injury, sleep, shelter, stress, workload, and treatment quality. - Documented that 0.1.M only persists/restores these placeholders and does not apply aging, lifespan, inheritance, or generational outcomes.
- Added
Scripts/verify_care_history_persistence.py.
- Confirmed player care history already persists through
Verification:
python3 -m py_compile Scripts/verify_care_history_persistence.pypassed.python3 Scripts/verify_care_history_persistence.pypassed.git diff --checkpassed.- No Windows editor compile was run for this item because it only documented and verified an existing C++ persistence path.
Deployment classification:
Docs/email onlyfor this item.- Milestone still has
Server deploy requiredpending because earlier 0.1.M persistence runtime changes affect the multiplayer host.
Roadmap state:
- Current version section:
0.1.M Persistence MVP - Items remaining in
0.1.M:11 - Immediate next roadmap item:
Save player inventory.
Agrarian 0.1.M Player Inventory Persistence - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
188ef7b Document player inventory persistence
Completed roadmap item:
Save player inventory- Confirmed player inventory already persists through
FAgrarianSavedPlayer::Inventory. - Inventory is copied from
UAgrarianInventoryComponent::Itemsand restored throughUAgrarianInventoryComponent::RestoreSavedItems. - Restore recomputes derived values and broadcasts inventory changes so HUD and debug listeners see loaded item state.
- Updated persistence documentation, roadmap wording, and the existing inventory persistence verifier for the 0.1.M item.
- Confirmed player inventory already persists through
Verification:
python3 -m py_compile Scripts/verify_inventory_persistence.pypassed.python3 Scripts/verify_inventory_persistence.pypassed.git diff --checkpassed.- No Windows editor compile was run for this item because it only documented and verified an existing C++ persistence path.
Deployment classification:
Docs/email onlyfor this item.- Milestone still has
Server deploy requiredpending because earlier 0.1.M persistence runtime changes affect the multiplayer host.
Roadmap state:
- Current version section:
0.1.M Persistence MVP - Items remaining in
0.1.M:10 - Immediate next roadmap item:
Save resource depletion state if needed.
Agrarian 0.1.M Resource Depletion Persistence - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
66f523b Document resource depletion persistence
Completed roadmap item:
Save resource depletion state if needed- Confirmed active loaded resource nodes persist stable
ResourceNodeId, remaining harvest count, and MVP respawn flag throughFAgrarianSavedResourceNode. - Restore applies depletion only to matching map-authored resource nodes, leaving tile-authored placement owned by map/tile content.
- Updated persistence documentation, roadmap wording, and the resource-node persistence verifier for the 0.1.M item.
- Confirmed active loaded resource nodes persist stable
Verification:
python3 -m py_compile Scripts/verify_resource_node_persistence.pypassed.python3 Scripts/verify_resource_node_persistence.pypassed.git diff --checkpassed.- No Windows editor compile was run for this item because it only documented and verified an existing C++ persistence path.
Deployment classification:
Docs/email onlyfor this item.- Milestone still has
Server deploy requiredpending because earlier 0.1.M persistence runtime changes affect the multiplayer host.
Roadmap state:
- Current version section:
0.1.M Persistence MVP - Items remaining in
0.1.M:9 - Immediate next roadmap item:
Save world time.
Agrarian 0.1.M World Time Persistence - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
fdc919c Document world time persistence
Completed roadmap item:
Save world time- Confirmed world saves persist
UAgrarianSaveGame::WorldHours. - The persistence subsystem captures from
AAgrarianGameState::WorldHours. - Restore applies world time only on server authority during world load.
- Added
Scripts/verify_world_time_persistence.py.
- Confirmed world saves persist
Verification:
python3 -m py_compile Scripts/verify_world_time_persistence.pypassed.python3 Scripts/verify_world_time_persistence.pypassed.git diff --checkpassed.- No Windows editor compile was run for this item because it only documented and verified an existing C++ persistence path.
Deployment classification:
Docs/email onlyfor this item.- Milestone still has
Server deploy requiredpending because earlier 0.1.M persistence runtime changes affect the multiplayer host.
Roadmap state:
- Current version section:
0.1.M Persistence MVP - Items remaining in
0.1.M:8 - Immediate next roadmap item:
Save weather seed/state.
Agrarian 0.1.M Weather State Persistence - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
f6ed45d Document weather state persistence
Completed roadmap item:
Save weather seed/state- Confirmed world saves persist fallback
UAgrarianSaveGame::Weather. - Confirmed saves also retain provider
WeatherInputsandWeatherDebug. - Load reapplies mapped provider inputs when present or falls back to saved enum weather state.
- Added
Scripts/verify_weather_state_persistence.py.
- Confirmed world saves persist fallback
Verification:
python3 -m py_compile Scripts/verify_weather_state_persistence.pypassed.python3 Scripts/verify_weather_state_persistence.pypassed.git diff --checkpassed.- No Windows editor compile was run for this item because it only documented and verified an existing C++ persistence path.
Deployment classification:
Docs/email onlyfor this item.- Milestone still has
Server deploy requiredpending because earlier 0.1.M persistence runtime changes affect the multiplayer host.
Roadmap state:
- Current version section:
0.1.M Persistence MVP - Items remaining in
0.1.M:7 - Immediate next roadmap item:
Save containers.
Agrarian 0.1.M Container Persistence Schema - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
06666b1 Reserve container persistence schema
Completed roadmap item:
Save containers- Added
FAgrarianSavedContainerto the save schema. - Reserved stable container ID, container type ID, transform, item stacks, and owner player ID.
- Documented that 0.1.M does not yet have a placed container actor to
capture; the current craftable
simple_containerremains an inventory item covered by player inventory persistence. - Added
Scripts/verify_container_persistence_schema.py.
- Added
Verification:
python3 -m py_compile Scripts/verify_container_persistence_schema.pypassed.python3 Scripts/verify_container_persistence_schema.pypassed.git diff --checkpassed.- Windows editor compile gate was attempted but blocked because
UNRAID_PASSWORDwas not present in the shell environment.
Deployment classification:
Server deploy requiredat milestone packaging time because this changes the shared save-game schema used by server-side persistence.
Roadmap state:
- Current version section:
0.1.M Persistence MVP - Items remaining in
0.1.M:6 - Immediate next roadmap item:
Add server-side save interval.
Agrarian 0.1.M Server Autosave Interval - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
a7ca8d1 Add server autosave interval
Completed roadmap item:
Add server-side save interval- Added
ServerAutoSaveIntervalSecondstoAAgrarianGameGameMode, defaulting to five minutes. - On authority,
BeginPlaystarts a repeating timer that callsRunServerAutoSave. - Autosave uses
UAgrarianPersistenceSubsystem::SaveCurrentWorld. - Setting the interval to
0disables the MVP autosave timer. - Added
Scripts/verify_server_save_interval.py.
- Added
Verification:
python3 -m py_compile Scripts/verify_server_save_interval.pypassed.python3 Scripts/verify_server_save_interval.pypassed.git diff --checkpassed, with Git line-ending normalization warnings for the touched Unreal template GameMode files.- Windows editor compile gate was attempted but blocked because
UNRAID_PASSWORDwas not present in the shell environment.
Deployment classification:
Server deploy requiredat milestone packaging time because this changes authoritative server autosave behavior.
Roadmap state:
- Current version section:
0.1.M Persistence MVP - Items remaining in
0.1.M:5 - Immediate next roadmap item:
Add load-on-server-start.
Agrarian 0.1.M Load On Server Start - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
9aa2f8b Load world state on server start
Completed roadmap item:
Add load-on-server-start- Added
bLoadWorldOnServerStarttoAAgrarianGameGameMode, enabled by default. - On authoritative
BeginPlay, GameMode registers the MVP persistent actor classes and loads the current world if a save exists. - Startup load uses
LoadCurrentWorldwithout clearing existing map actors, so map-authored resources and startup content remain map-owned. - Added
Scripts/verify_load_on_server_start.py.
- Added
Verification:
python3 -m py_compile Scripts/verify_load_on_server_start.pypassed.python3 Scripts/verify_load_on_server_start.pypassed.git diff --checkpassed, with Git line-ending normalization warnings for the touched Unreal template GameMode files.- Windows editor compile gate was attempted but blocked because
UNRAID_PASSWORDwas not present in the shell environment.
Deployment classification:
Server deploy requiredat milestone packaging time because this changes authoritative server startup load behavior.
Roadmap state:
- Current version section:
0.1.M Persistence MVP - Items remaining in
0.1.M:4 - Immediate next roadmap item:
Add initial tile registry persistence for Ground Zero.
Agrarian 0.1.M Ground Zero Tile Registry Persistence - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
65599b9 Persist Ground Zero tile registry baseline
Completed roadmap item:
Add initial tile registry persistence for Ground Zero- Added
FAgrarianSavedTileRegistryStateto the save schema. - Save metadata now records active tile
gz_us_ca_pacifica_utm10n_e544_n4160, registry pathData/Tiles/ground_zero_tiles.json, schema version, generation version, and package version. - The external JSON registry remains authoritative.
- Added
Scripts/verify_ground_zero_tile_registry_persistence.py.
- Added
Verification:
python3 -m py_compile Scripts/verify_ground_zero_tile_registry_persistence.pypassed.python3 Scripts/verify_ground_zero_tile_registry_persistence.pypassed.git diff --checkpassed.- Windows editor compile gate was attempted but blocked because
UNRAID_PASSWORDwas not present in the shell environment.
Deployment classification:
Server deploy requiredat milestone packaging time because this changes the shared save-game schema used by server-side persistence.
Roadmap state:
- Current version section:
0.1.M Persistence MVP - Items remaining in
0.1.M:3 - Immediate next roadmap item:
Add backup-before-save option.
Agrarian 0.1.M Backup Before Save - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
dfad880 Back up save before overwrite
Completed roadmap item:
Add backup-before-save option- Added
bBackupBeforeSavetoUAgrarianPersistenceSubsystem, enabled by default. - Before overwriting an existing save slot,
WriteSavecopies the current.savfile fromSaved/SaveGamesintoSaved/SaveGames/Backups. - Backups use UTC timestamped filenames.
- Missing first-save files skip backup creation.
- Added
Scripts/verify_backup_before_save.py.
- Added
Verification:
python3 -m py_compile Scripts/verify_backup_before_save.pypassed.python3 Scripts/verify_backup_before_save.pypassed.git diff --checkpassed.- Windows editor compile gate was attempted but blocked because
UNRAID_PASSWORDwas not present in the shell environment.
Deployment classification:
Server deploy requiredat milestone packaging time because this changes persistence runtime behavior.
Roadmap state:
- Current version section:
0.1.M Persistence MVP - Items remaining in
0.1.M:2 - Immediate next roadmap item:
Add recovery plan for corrupted save.
Agrarian 0.1.M Corrupted Save Recovery Plan - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
31e781d Document save recovery plan
Completed roadmap item:
Add recovery plan for corrupted save- Added
Docs/Ops/PersistenceSaveRecoveryPlan.md. - Documented suspect-save symptoms, immediate response, restoring the newest timestamped backup, fallback when all backups fail, and MVP limitations.
- Linked the plan from the persistence design document.
- Added
Scripts/verify_save_recovery_plan.py.
- Added
Verification:
python3 -m py_compile Scripts/verify_save_recovery_plan.pypassed.python3 Scripts/verify_save_recovery_plan.pypassed.git diff --checkpassed.- No Windows editor compile was run because this is docs/verifier only.
Deployment classification:
Docs/email only.
Roadmap state:
- Current version section:
0.1.M Persistence MVP - Items remaining in
0.1.M:1 - Immediate next roadmap item:
Document persistence limitations.
Agrarian 0.1.M Persistence Limitations - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
5a381ad Document MVP persistence limitations
Completed roadmap item:
Document persistence limitations- Added
## MVP Persistence LimitationstoDocs/PersistenceDesignDocument.md. - Documented current limits around file-based saves, missing database/account binding, migration tooling, corrupted-save validation, placed-container actor capture, offline/family simulation, cross-server persistence, external backup replication, player-facing UI, and pre-MVP save compatibility.
- Added
Scripts/verify_persistence_limitations.py.
- Added
Verification:
python3 -m py_compile Scripts/verify_persistence_limitations.pypassed.python3 Scripts/verify_persistence_limitations.pypassed.git diff --checkpassed.- No Windows editor compile was run because this is docs/verifier only.
Deployment classification:
Docs/email only.
Roadmap state:
0.1.M Persistence MVProadmap items are complete.- Next required action: build the Windows investor demo; deploy the multiplayer server package only if the build environment is available because 0.1.M included server-relevant persistence runtime changes.
Agrarian 0.1.M Milestone Complete / Build Blocked - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
63c6adc Update investor demo metadata to 0.1.M
Milestone status:
0.1.M Persistence MVPis complete in the roadmap.- Investor demo metadata was updated to
Investor Demo v0.1.M - Build 2026.05.18. ProjectVersionwas updated to0.1.M-investor.20260518.- Startup credits verification passed against the new metadata.
Verification:
python3 -m py_compile Scripts/verify_startup_credits_sequence.pypassed.python3 Scripts/verify_startup_credits_sequence.pypassed.git diff --checkpassed.- Game repo status was clean after the metadata commit.
Build/deploy status:
- Windows investor demo package was attempted with:
/home/nathan/bin/winbuilder cmd 'set AGRARIAN_NO_PAUSE=1 && pushd \\DevBox\projects\AgrarianGameBulid && Scripts\PackageWindowsDevelopment.bat' - Packaging is blocked because
UNRAID_PASSWORDis not present in the shell environment. - Multiplayer server deploy is also blocked until a current package can be built. Server deploy is required for this milestone once build access is restored because 0.1.M included persistence runtime/server behavior changes.
Next required action:
- Restore
UNRAID_PASSWORDin the Codex shell environment or provide another approved Windows-Builder access path. - Rerun the Windows investor demo package.
- Build/deploy the server package to
play.agrariangame.com:7777and verify it if packaging succeeds.
Agrarian 0.1.N Main Menu Placeholder - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
4aec203 Add MVP main menu placeholder
Completed roadmap item:
Add main menu placeholder- Added native
UAgrarianMvpFrontendWidgetandEAgrarianMvpFrontendScreen. - Added a scalable painted main menu placeholder with title, subtitle, primary action, and MVP flow note.
- Wired
AAgrarianGamePlayerControllerto create the MVP frontend widget for local player controllers. - Marked the roadmap item complete.
- Added native
Verification:
python3 -m py_compile Scripts/verify_mvp_main_menu_placeholder.pypassed.python3 Scripts/verify_mvp_main_menu_placeholder.pypassed.git diff --checkpassed.- No full Windows package was run for this item because this is a focused client UI placeholder; final milestone packaging is still required.
Deployment classification:
Client UI only.- No multiplayer server deploy required for this item.
Roadmap state:
- Current version section:
0.1.N MVP UI And UX - Items remaining in
0.1.N:12 - Immediate next roadmap item:
After splash/startup screens, land on an MVP character selection landing page.
Agrarian 0.1.N Character Selection Landing - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
5efd81c Add MVP character selection landing
Completed roadmap item:
After splash/startup screens, land on an MVP character selection landing page- Extended
UAgrarianMvpFrontendWidgetwith aCharacterSelectionscreen. - Added a scalable native character-selection landing page with two MVP placeholder character cards.
- Updated
AAgrarianGamePlayerControllerso local player controllers open the MVP frontend directly onCharacterSelectionafter startup. - Marked the roadmap item complete.
- Extended
Verification:
python3 -m py_compile Scripts/verify_mvp_character_selection_landing.pypassed.python3 Scripts/verify_mvp_character_selection_landing.pypassed.git diff --checkpassed.- No full Windows package was run for this item; final milestone packaging is still required.
Deployment classification:
Client UI only.- No multiplayer server deploy required for this item.
Automation:
- Email summary sent to
nathan@pacificao.comthroughpacificao-mailusing local Dovecot delivery, not AWS SES.
Roadmap state:
- Current version section:
0.1.N MVP UI And UX - Items remaining in
0.1.N:11 - Immediate next roadmap item:
Let players choose a realistic young adult male or female character with average proportions for the MVP.
Agrarian 0.1.N Character Archetype Choice - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
c855924 Add MVP character archetype choice
Completed roadmap item:
Let players choose a realistic young adult male or female character with average proportions for the MVP- Added
EAgrarianMvpCharacterArchetypewith young adult male/female MVP choices. - Added selected-state rendering to the native character-selection cards.
- Added keyboard selection with Left/Right or A/D while on the character-selection screen.
- Added
AgrarianSelectCharacter male|femaledev command for headless/manual verification. - Kept both choices on the same MVP survival baseline until real character art and stats differentiation arrive.
- Added
Verification:
python3 -m py_compile Scripts/verify_mvp_character_archetype_choice.pypassed.python3 Scripts/verify_mvp_character_archetype_choice.pypassed.git diff --checkpassed.- No full Windows package was run for this item; final milestone packaging is still required.
Deployment classification:
Client UI only.- No multiplayer server deploy required for this item.
Automation:
- Email summary sent to
nathan@pacificao.comthroughpacificao-mailusing local Dovecot delivery, not AWS SES.
Roadmap state:
- Current version section:
0.1.N MVP UI And UX - Items remaining in
0.1.N:10 - Immediate next roadmap item:
Add join server screen.
Agrarian 0.1.N Join Server Screen - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
2009295 Add MVP join server screen
Completed roadmap item:
Add join server screen- Added a native
JoinServerscreen toUAgrarianMvpFrontendWidget. - The screen shows the selected MVP character archetype and the target
play.agrariangame.com:7777address. - Enter/Space from character selection advances to the join screen.
- Backspace/Escape returns to character selection.
- Added
AgrarianShowMvpScreen main|character|joinfor direct manual/headless verification.
- Added a native
Verification:
python3 -m py_compile Scripts/verify_mvp_join_server_screen.pypassed.python3 Scripts/verify_mvp_join_server_screen.pypassed.git diff --checkpassed.- No full Windows package was run for this item; final milestone packaging is still required.
Deployment classification:
Client UI only.- No multiplayer server deploy required for this item.
Automation:
- Email summary sent to
nathan@pacificao.comthroughpacificao-mailusing local Dovecot delivery, not AWS SES.
Roadmap state:
- Current version section:
0.1.N MVP UI And UX - Items remaining in
0.1.N:9 - Immediate next roadmap item:
Add loading screen.
Agrarian 0.1.N Loading Screen - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
e8d46c8 Add MVP loading screen
Completed roadmap item:
Add loading screen- Added a native
Loadingscreen toUAgrarianMvpFrontendWidget. - The screen shows Ground Zero preparation copy, selected character context, server address context, and a deterministic placeholder progress bar.
- Enter/Space from the join-server screen advances to loading.
AgrarianShowMvpScreen main|character|join|loadingcan display it directly.
- Added a native
Verification:
python3 -m py_compile Scripts/verify_mvp_loading_screen.pypassed.python3 Scripts/verify_mvp_loading_screen.pypassed.git diff --checkpassed.- No full Windows package was run for this item; final milestone packaging is still required.
Deployment classification:
Client UI only.- No multiplayer server deploy required for this item.
Automation:
- Email summary sent to
nathan@pacificao.comthroughpacificao-mailusing local Dovecot delivery, not AWS SES.
Roadmap state:
- Current version section:
0.1.N MVP UI And UX - Items remaining in
0.1.N:8 - Immediate next roadmap item:
Add HUD.
Agrarian 0.1.N MVP HUD Frame - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
df8bc6c Complete MVP HUD frame
Completed roadmap item:
Add HUD- Completed the partial HUD item by adding
bShowMvpHudFrame. - Added a top MVP status frame showing Ground Zero context, alive/dead state, health, food, water, and body temperature.
- Kept the existing deeper developer overlay separately controlled by
bShowDebugHUD.
- Completed the partial HUD item by adding
Verification:
python3 -m py_compile Scripts/verify_mvp_hud_frame.pypassed.python3 Scripts/verify_mvp_hud_frame.pypassed.git diff --checkpassed.- No full Windows package was run for this item; final milestone packaging is still required.
Deployment classification:
Client UI only.- No multiplayer server deploy required for this item.
Automation:
- Email summary sent to
nathan@pacificao.comthroughpacificao-mailusing local Dovecot delivery, not AWS SES.
Roadmap state:
- Current version section:
0.1.N MVP UI And UX - Items remaining in
0.1.N:7 - Immediate next roadmap item:
Add inventory UI.
Agrarian 0.1.N Inventory UI Toggle - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
0fb7f1e Add MVP inventory UI toggle
Completed roadmap item:
Add inventory UI- Promoted the existing compact replicated-inventory HUD panel into the 0.1.N UI pass.
- Added
AgrarianToggleInventoryUIto show/hide the MVP inventory panel. - Kept the MVP inventory surface lightweight; full drag/drop inventory remains later work.
Verification:
python3 -m py_compile Scripts/verify_mvp_inventory_ui_toggle.pypassed.python3 Scripts/verify_mvp_inventory_ui_toggle.pypassed.git diff --checkpassed.- No full Windows package was run for this item; final milestone packaging is still required.
Deployment classification:
Client UI only.- No multiplayer server deploy required for this item.
Automation:
- Email summary sent to
nathan@pacificao.comthroughpacificao-mailusing local Dovecot delivery, not AWS SES.
Roadmap state:
- Current version section:
0.1.N MVP UI And UX - Items remaining in
0.1.N:6 - Immediate next roadmap item:
Add crafting UI.
Agrarian 0.1.N Crafting UI Toggle - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
08c036f Add MVP crafting UI toggle
Completed roadmap item:
Add crafting UI- Promoted the existing compact crafting HUD panel into the 0.1.N UI pass.
- Added
AgrarianToggleCraftingUIto show/hide known recipes and ingredient readiness. - Kept full crafting menus for later UX expansion.
Verification:
python3 -m py_compile Scripts/verify_mvp_crafting_ui_toggle.pypassed.python3 Scripts/verify_mvp_crafting_ui_toggle.pypassed.git diff --checkpassed.- No full Windows package was run for this item; final milestone packaging is still required.
Deployment classification:
Client UI only.- No multiplayer server deploy required for this item.
Automation:
- Email summary sent to
nathan@pacificao.comthroughpacificao-mailusing local Dovecot delivery, not AWS SES.
Roadmap state:
- Current version section:
0.1.N MVP UI And UX - Items remaining in
0.1.N:5 - Immediate next roadmap item:
Add interaction prompts.
Agrarian 0.1.N Interaction Prompt Toggle - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
0be6e0b Add MVP interaction prompt toggle
Completed roadmap item:
Add interaction prompts- Promoted the existing centered interaction prompt renderer into the 0.1.N UI pass.
- Added
AgrarianToggleInteractionPromptsto show/hide prompts. - Prompt text remains driven by the currently focused interactable actor.
Verification:
python3 -m py_compile Scripts/verify_mvp_interaction_prompt_toggle.pypassed.python3 Scripts/verify_mvp_interaction_prompt_toggle.pypassed.git diff --checkpassed.- No full Windows package was run for this item; final milestone packaging is still required.
Deployment classification:
Client UI only.- No multiplayer server deploy required for this item.
Automation:
- Email summary sent to
nathan@pacificao.comthroughpacificao-mailusing local Dovecot delivery, not AWS SES.
Roadmap state:
- Current version section:
0.1.N MVP UI And UX - Items remaining in
0.1.N:4 - Immediate next roadmap item:
Add death/respawn UI.
Agrarian 0.1.N Death Respawn UI - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
7c98bb7 Add MVP death respawn UI
Completed roadmap item:
Add death/respawn UI- Added
bShowDeathRespawnUIand a dedicated dead-state panel inAAgrarianDebugHUD. - The panel appears when replicated survival state is dead, shows the last death reason, and explains the Ground Zero respawn context.
- Added
AgrarianToggleDeathRespawnUI. - Existing server-authoritative
AgrarianRespawnbehavior remains unchanged.
- Added
Verification:
python3 -m py_compile Scripts/verify_mvp_death_respawn_ui.pypassed.python3 Scripts/verify_mvp_death_respawn_ui.pypassed.git diff --checkpassed.- No full Windows package was run for this item; final milestone packaging is still required.
Deployment classification:
Client UI only.- No multiplayer server deploy required for this item.
Automation:
- Email summary sent to
nathan@pacificao.comthroughpacificao-mailusing local Dovecot delivery, not AWS SES.
Roadmap state:
- Current version section:
0.1.N MVP UI And UX - Items remaining in
0.1.N:3 - Immediate next roadmap item:
Add debug/dev menu.
Agrarian 0.1.N Debug Dev Menu - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
1cc91b5 Add MVP debug dev menu
Completed roadmap item:
Add debug/dev menu- Added
bShowDebugDevMenuand a compact HUD panel listing core MVP frontend, UI, persistence, and recovery commands. - Added
AgrarianToggleDebugDevMenu.
- Added
Verification:
python3 -m py_compile Scripts/verify_mvp_debug_dev_menu.pypassed.python3 Scripts/verify_mvp_debug_dev_menu.pypassed.git diff --checkpassed.- No full Windows package was run for this item; final milestone packaging is still required.
Deployment classification:
Client UI only.- No multiplayer server deploy required for this item.
Automation:
- Email summary sent to
nathan@pacificao.comthroughpacificao-mailusing local Dovecot delivery, not AWS SES.
Roadmap state:
- Current version section:
0.1.N MVP UI And UX - Items remaining in
0.1.N:2 - Immediate next roadmap item:
Add accessibility basics.
Agrarian 0.1.N Accessibility Basics - 2026-05-18
Current repo:
/mnt/projects/AgrarianGameBulid- GitHub remote:
pacificao/AgrarianGameBuild - Current branch:
main - Latest pushed game commit:
2adc683 Add MVP accessibility basics
Completed roadmap item:
Add accessibility basics- Added runtime MVP UI scale control with
AgrarianSetUiScale 0.75-1.5. - Scale applies to the native MVP frontend and HUD text surfaces.
- Added frontend high-contrast mode with
AgrarianToggleHighContrastUI. - Added the accessibility commands to the debug/dev menu.
- Added runtime MVP UI scale control with
Verification:
python3 -m py_compile Scripts/verify_mvp_accessibility_basics.pypassed.python3 Scripts/verify_mvp_accessibility_basics.pypassed.git diff --checkpassed.- No full Windows package was run for this item; final milestone packaging is still required.
Deployment classification:
Client UI only.- No multiplayer server deploy required for this item.
Automation:
- Email summary sent to
nathan@pacificao.comthroughpacificao-mailusing local Dovecot delivery, not AWS SES.
Roadmap state:
- Current version section:
0.1.N MVP UI And UX - Items remaining in
0.1.N:1 - Immediate next roadmap item:
Ensure UI scales on common resolutions.