Compare commits
10 Commits
30c9410493
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 8c87e8d8c1 | |||
| b9976d51fa | |||
| 1ef86d8f21 | |||
| 55bf40cf5a | |||
| 338d0a13c4 | |||
| 7c70e8f797 | |||
| 9fa62f90a0 | |||
| b0b25693d2 | |||
| e84fedbac4 | |||
| 51508378a3 |
+313
@@ -9526,3 +9526,316 @@ Unreal Engine install status:
|
||||
resource/water actors, and 31 variation actors.
|
||||
- Linux editor target build passed:
|
||||
`AgrarianGameEditor Linux Development` was up to date and succeeded.
|
||||
|
||||
## Ground Zero Vegetation Visual Pass - 2026-05-21
|
||||
|
||||
- Completed the second `0.2.0 Investor Visual Credibility Baseline` roadmap
|
||||
item: replace or upgrade grasses, shrubs, and trees with believable
|
||||
coastal-scrub vegetation, density, color variation, scale variation, and
|
||||
LOD/performance limits.
|
||||
- Active game repo:
|
||||
`/home/nathan/UnrealProjects/AgrarianGame` on `unreal-engine`
|
||||
(`192.168.5.20`).
|
||||
- Added native generated vegetation mesh assets under
|
||||
`/Game/Agrarian/Environment/Vegetation`:
|
||||
`SM_AGR_GZ_CoastalOak_Proxy`, `SM_AGR_GZ_CoyoteBrush_Proxy`, and
|
||||
`SM_AGR_GZ_DryGrassClump_Proxy`.
|
||||
- Updated `Scripts/setup_ground_zero_demo_map.py` so the Ground Zero foliage
|
||||
pass no longer assigns `/Engine/BasicShapes` or level-prototyping geometry
|
||||
to trees, shrubs, or grass.
|
||||
- Updated foliage materials for per-instance color variation, with two-sided
|
||||
shrub and grass materials for better card-based vegetation.
|
||||
- Updated `AAgrarianFoliagePatch` HISM settings:
|
||||
trees keep shadows and cull at `65000/95000`; shrubs keep shadows and cull
|
||||
at `28000/52000`; grass disables shadows and culls at `9000/22000`.
|
||||
- Updated environment variation actors so dressed canopy and bush variation
|
||||
also uses the new native vegetation meshes.
|
||||
- Updated verifiers and documentation:
|
||||
- `Scripts/verify_ground_zero_natural_environment_pass.py`
|
||||
- `Scripts/verify_ground_zero_density_sightlines.py`
|
||||
- `Scripts/verify_native_placeholder_meshes.py`
|
||||
- `Docs/Terrain/GroundZeroNaturalEnvironmentPass.md`
|
||||
- `AGRARIAN_DEVELOPMENT_ROADMAP.md`
|
||||
- Verification:
|
||||
- Python compile passed for changed scripts.
|
||||
- Linux editor target build passed after the C++ foliage cull/shadow change.
|
||||
- setup script completed in Unreal 5.7.4 headless `NullRHI` mode and placed
|
||||
96 trees, 220 shrubs, and 420 grass clumps.
|
||||
- natural environment verifier passed: map check reported 0 errors and
|
||||
0 warnings; verifier reported 9 materials, 1 landscape, 17 dressed
|
||||
resource/water actors, and 31 variation actors.
|
||||
- density/sightline verifier passed for 21 critical labels, 6 sightline
|
||||
corridors, 96 trees, 220 shrubs, and 420 grass clumps.
|
||||
- native placeholder mesh verifier passed for Agrarian mesh assets,
|
||||
Blueprint meshes, foliage meshes, and environment variation meshes.
|
||||
|
||||
## Gameplay Input Recovery - 2026-05-21
|
||||
|
||||
- Pulled latest game repo changes from Gitea before work:
|
||||
`40f7b7e` included a character proxy material update from another device.
|
||||
- Investigated broken gameplay controls after the MVP frontend/character
|
||||
selection flow. Blueprint defaults still had the expected Enhanced Input
|
||||
contexts and action references assigned:
|
||||
`/Game/Input/IMC_Default`, `/Game/Input/IMC_MouseLook`, and the move, look,
|
||||
jump, interact, sprint, crouch, prone, and camera-toggle input actions.
|
||||
- Root cause: the frontend presentation path stacked multiple
|
||||
`SetIgnoreMoveInput(true)` / `SetIgnoreLookInput(true)` calls during startup
|
||||
and menu display, then only partially unwound them when entering gameplay.
|
||||
That could leave movement, look, sprint, crouch, prone, and other controls
|
||||
ignored after the menu disappeared.
|
||||
- Updated `AAgrarianGamePlayerController` so frontend activation only pushes
|
||||
ignore input once per active frontend session, and frontend completion uses
|
||||
`ResetIgnoreMoveInput()` / `ResetIgnoreLookInput()` before returning to
|
||||
`FInputModeGameOnly`.
|
||||
- Added `ApplyDefaultInputMappingContexts()` and call it during controller
|
||||
setup and frontend completion so gameplay reasserts the default Enhanced
|
||||
Input mapping contexts after the UI flow closes.
|
||||
- Verification:
|
||||
- inspected Blueprint defaults through Unreal Python in headless editor.
|
||||
- Linux editor build passed:
|
||||
`AgrarianGameEditor Linux Development`.
|
||||
|
||||
## Frontend Controls And Vegetation Runtime Fix - 2026-05-21
|
||||
|
||||
- Follow-up to live demo testing: controls still appeared disabled after
|
||||
character selection, and bushes/trees still read as placeholder boxes.
|
||||
- Active game repo:
|
||||
`/home/nathan/UnrealProjects/AgrarianGame` on `unreal-engine`
|
||||
(`192.168.5.20`).
|
||||
- Pulled the latest game repo and handoff repo before continuing; both were
|
||||
already current.
|
||||
- Replaced the MVP frontend completion path in
|
||||
`UAgrarianMvpFrontendWidget::CompleteFrontendFlow()` so it calls
|
||||
`AAgrarianGamePlayerController::AgrarianSelectCharacter()` and
|
||||
`AAgrarianGamePlayerController::AgrarianCompleteFrontend()` directly instead
|
||||
of routing through console commands. The fallback path for non-Agrarian
|
||||
controllers now resets the ignore-input stacks with
|
||||
`ResetIgnoreMoveInput()` / `ResetIgnoreLookInput()`.
|
||||
- Reworked the generated Ground Zero vegetation proxies:
|
||||
- coastal oak no longer uses box geometry for trunk and branch construction;
|
||||
it now uses tapered cylinders, irregular leaf cards, and canopy clusters.
|
||||
- coyote brush and dry grass use more irregular cards and uneven clusters so
|
||||
they read less like test primitives.
|
||||
- Regenerated the Ground Zero map and vegetation assets with
|
||||
`Scripts/setup_ground_zero_demo_map.py`; the setup pass placed 96 trees,
|
||||
220 shrubs, and 420 grass clumps.
|
||||
- Updated `Scripts/verify_mvp_menu_input_and_quit_flow.py` so it verifies the
|
||||
direct-controller frontend flow and rejects the old console-command path.
|
||||
- Verification:
|
||||
- Python compile passed for the changed setup script.
|
||||
- Linux editor target build passed:
|
||||
`AgrarianGameEditor Linux Development`.
|
||||
- Ground Zero setup script completed in Unreal 5.7.4 headless `NullRHI`
|
||||
mode.
|
||||
- natural environment verifier passed.
|
||||
- native placeholder mesh verifier passed.
|
||||
- MVP menu input and quit flow verifier passed.
|
||||
- Note: older packaged Windows investor demos will still show the previous
|
||||
controls/vegetation behavior until rebuilt from the new game commit.
|
||||
|
||||
## Agrarian Asset Pipeline Foundation - 2026-05-21
|
||||
|
||||
- Nathan approved realistic visual asset sourcing from Fab/free, Quixel,
|
||||
CC0/public-domain, team-created, and Nathan-supplied assets. Random scraped
|
||||
internet images/models are rejected unless license evidence is clear and
|
||||
compatible with commercial game use.
|
||||
- Created VM staging folders under:
|
||||
`/home/nathan/AssetStaging/Agrarian`
|
||||
- `Incoming`
|
||||
- `LicenseEvidence`
|
||||
- `Approved`
|
||||
- `Processed`
|
||||
- `Rejected`
|
||||
- Added repo-side policy docs:
|
||||
- `Docs/Art/AssetLicenses.md`
|
||||
- `Docs/Art/AgrarianAssetPipeline.md`
|
||||
- Added `Scripts/verify_asset_pipeline_policy.py` so future edits must keep
|
||||
the approved-source rules, staging path, license tracking, visual direction,
|
||||
and first-priority asset groups documented.
|
||||
- Updated `0.2.0 Investor Visual Credibility Baseline` to mark the asset
|
||||
acquisition and ingest pipeline foundation complete before the remaining
|
||||
visual replacement work.
|
||||
- First visual sourcing priorities:
|
||||
trees, shrubs, grasses, water/shoreline, rocks/terrain decals, two to four
|
||||
realistic post-collapse frontier humans, and old abandoned equipment being
|
||||
reclaimed by nature.
|
||||
- Verification:
|
||||
- Python compile passed for `Scripts/verify_asset_pipeline_policy.py`.
|
||||
- `Scripts/verify_asset_pipeline_policy.py` passed.
|
||||
- `git diff --check` passed.
|
||||
|
||||
## Asset Pipeline Free-Only Lockdown - 2026-05-21
|
||||
|
||||
- Nathan provided Epic/Fab login details for active-session use only. Do not
|
||||
store those credentials in the repo, handoff, shell scripts, manifests, or
|
||||
long-lived config files.
|
||||
- Locked the art pipeline to free/approved sources before any Fab acquisition:
|
||||
- Fab assets must be explicitly free unless Nathan approves a paid purchase
|
||||
in a later task.
|
||||
- Quixel/Megascans, CC0/public-domain, team-created, and Nathan-supplied
|
||||
assets remain allowed when their licensing is clear.
|
||||
- random scraped internet images/models remain rejected.
|
||||
- Added `Scripts/verify_asset_license_free_only.py`, which fails if the asset
|
||||
license register contains paid, purchased, subscription, unknown, unclear, or
|
||||
nonzero-cost entries.
|
||||
- Updated `Docs/Art/AssetLicenses.md`,
|
||||
`Docs/Art/AgrarianAssetPipeline.md`, and
|
||||
`Scripts/verify_asset_pipeline_policy.py` with explicit free-only guardrails.
|
||||
- Verification:
|
||||
- Python compile passed for both asset policy verifiers.
|
||||
- `Scripts/verify_asset_pipeline_policy.py` passed.
|
||||
- `Scripts/verify_asset_license_free_only.py` passed.
|
||||
- `git diff --check` passed.
|
||||
|
||||
## Ground Zero Asset Queue And Biome Resource Plan - 2026-05-21
|
||||
|
||||
- Nathan asked to start pulling assets for Ground Zero so the investor demo can
|
||||
sell the game on look and feel, and to plan automatic biome selection plus
|
||||
persistent/removable natural resources.
|
||||
- Added `Docs/Art/GroundZeroAssetAcquisitionQueue.md` with free-only Fab
|
||||
candidates:
|
||||
- Free Shrubs Pack (Ultra Realistic Wind)
|
||||
- Mediterranean Vegetation: Plant Pack I
|
||||
- temperate Vegetation: optimized Grass Library
|
||||
- Soul: Cave
|
||||
- Modular Rural House & Pine Forest Environment
|
||||
- Candidate notes:
|
||||
- some Project Nature assets appeared free but region-unavailable from
|
||||
unauthenticated browsing, so verify through the Epic/Fab account before
|
||||
relying on them.
|
||||
- do not import paid assets or uncertain entitlements.
|
||||
- Added `Docs/World/BiomeAndNaturalResourceGenerationPlan.md`.
|
||||
It defines tile biome inputs, weighted biome blends, asset-set selection,
|
||||
persistent world-resource records, durable player removal, and realistic
|
||||
regrowth/reseeding timing.
|
||||
- Updated roadmap sequencing:
|
||||
- `0.2.0` now includes the completed Ground Zero asset acquisition queue.
|
||||
- new next milestone is `0.2.A Tile Biome And Natural Resource Foundation`.
|
||||
- land claiming moves after biome/resource foundation because claims will
|
||||
depend on durable tile state.
|
||||
- Added `Scripts/verify_ground_zero_asset_queue.py`.
|
||||
- Verification:
|
||||
- Python compile passed for asset/biome policy verifiers.
|
||||
- `Scripts/verify_asset_pipeline_policy.py` passed.
|
||||
- `Scripts/verify_asset_license_free_only.py` passed.
|
||||
- `Scripts/verify_ground_zero_asset_queue.py` passed.
|
||||
- `git diff --check` passed.
|
||||
|
||||
## Gameplay Control Restore Hardening - 2026-05-21
|
||||
|
||||
- Nathan reported controls still did not work while waiting on Fab asset
|
||||
import.
|
||||
- Verified actual Blueprint defaults in Unreal:
|
||||
- `BP_AgrarianGameMode` points to `BP_AgrarianPlayerCharacter` and
|
||||
`BP_AgrarianPlayerController`.
|
||||
- controller has `/Game/Input/IMC_Default` and `/Game/Input/IMC_MouseLook`.
|
||||
- character has Jump, Move, Look, MouseLook, Interact, Sprint, Crouch,
|
||||
Prone, and ToggleCamera actions assigned.
|
||||
- input mapping assets contain WASD/arrow movement, mouse look, gamepad look,
|
||||
interact, sprint, crouch, prone, and camera-toggle mappings.
|
||||
- Added `AAgrarianGamePlayerController::RestoreGameplayControlState()` to make
|
||||
frontend completion repair all gameplay state through one path:
|
||||
ignore input stacks, game-only input mode, mouse cursor, mapping contexts,
|
||||
pawn visibility, pawn collision, character movement mode, and view target.
|
||||
- `AcknowledgePossession()` now restores gameplay control state for newly
|
||||
possessed local pawns when the frontend is not active.
|
||||
- Added `AgrarianRepairGameplayInput` exec command as a manual emergency repair
|
||||
path during testing.
|
||||
- Updated menu/startup verifiers to require the restore path and no longer
|
||||
accept stale `SetIgnoreMoveInput(false)` / `SetIgnoreLookInput(false)`
|
||||
patterns.
|
||||
- Verification:
|
||||
- Python compile passed for changed verifier scripts.
|
||||
- `Scripts/verify_mvp_menu_input_and_quit_flow.py` passed.
|
||||
- `Scripts/verify_mvp_segmented_startup_pause_flow.py` passed.
|
||||
- Linux editor target build passed:
|
||||
`AgrarianGameEditor Linux Development`.
|
||||
- Unreal Blueprint verifier passed:
|
||||
`Scripts/verify_agrarian_player_blueprints.py`.
|
||||
|
||||
## Startup Story Sequence And Menu Order Fix - 2026-05-21
|
||||
|
||||
- Nathan reported the copyright/studio/startup notice was appearing at the
|
||||
start of the game screen after character selection instead of first boot.
|
||||
- Root cause: the old `AAgrarianDemoNoticeActor` was map-driven, so it could
|
||||
overlap or appear out of order relative to controller-owned frontend/menu
|
||||
state. It also kept startup presentation separate from the input control
|
||||
repair flow.
|
||||
- Moved startup presentation ownership into `AAgrarianGamePlayerController`:
|
||||
- splash/copyright/studio screen plays first at boot.
|
||||
- a 60-second story sequence plays next.
|
||||
- cinematic credits play after story.
|
||||
- character selection appears only after splash/story/credits complete or
|
||||
are skipped.
|
||||
- Added skip behavior:
|
||||
- any key or mouse click advances splash to story.
|
||||
- any key or mouse click advances story to credits.
|
||||
- any key or mouse click advances credits to character selection.
|
||||
- `AAgrarianDemoNoticeActor` now has `bAutoShowNotice = false` by default so
|
||||
the legacy map actor does not create a second out-of-order startup overlay.
|
||||
- `UAgrarianDemoNoticeWidget` now supports presentation segments:
|
||||
`Splash`, `Story`, `Credits`, and legacy `DemoNotice`.
|
||||
- Story direction implemented in text/cinematic motion:
|
||||
post-collapse recovery, knowledge as inheritance, realistic time pressure,
|
||||
and Ground Zero as the beginning of a new history.
|
||||
- Verification:
|
||||
- Python compile passed for `Scripts/verify_startup_credits_sequence.py`.
|
||||
- `Scripts/verify_startup_credits_sequence.py` passed.
|
||||
- `Scripts/verify_mvp_menu_input_and_quit_flow.py` passed.
|
||||
- Linux editor target build passed:
|
||||
`AgrarianGameEditor Linux Development`.
|
||||
- Note: previous-game skip/loading behavior is still design-only; no saved-game
|
||||
selector exists yet. This startup flow is for the new-game/demo path.
|
||||
|
||||
## MVP Pause Save Exit Settings Shell - 2026-05-21
|
||||
|
||||
- Implemented the safe menu slice before the deeper settings system:
|
||||
`Resume`, `Save Game`, `Settings`, `Save & Exit`, and
|
||||
`Quit Without Saving`.
|
||||
- `Save Game` now issues `AgrarianSaveWorld` and stays in the pause flow with
|
||||
a confirmation screen.
|
||||
- `Save & Exit` issues `AgrarianSaveWorld` and then exits.
|
||||
- `Quit Without Saving` exits directly.
|
||||
- Added keyboard shortcuts for the pause menu:
|
||||
- `Esc` / `Enter` / `Space`: resume.
|
||||
- `S`: save game.
|
||||
- `O`: open settings shell.
|
||||
- `Q`: save and exit.
|
||||
- `X`: quit without saving.
|
||||
- Added a settings shell for the categories that should become real options
|
||||
later: units, controls, gameplay, hardware/rendering, audio, accessibility,
|
||||
and account/server preferences.
|
||||
- Roadmap updated:
|
||||
- completed pause save/exit/settings shell under `0.2.0 Investor Visual
|
||||
Credibility Baseline`.
|
||||
- added `0.2.F1 Player Options And Settings` for the larger configurable
|
||||
settings system so it is not mixed into the MVP pause-menu hardening.
|
||||
- Verification:
|
||||
- Python compile passed for menu verifier scripts.
|
||||
- `Scripts/verify_mvp_menu_input_and_quit_flow.py` passed.
|
||||
- `Scripts/verify_mvp_segmented_startup_pause_flow.py` passed.
|
||||
- `git diff --check` passed.
|
||||
- Linux editor target build passed:
|
||||
`AgrarianGameEditor Linux Development`.
|
||||
|
||||
## 2027 Awards Direction Roadmap Update - 2026-05-21
|
||||
|
||||
- Nathan set the explicit ambition that Agrarian should be good enough to chase
|
||||
2027 award conversations around visual beauty/art direction and best new game
|
||||
concept/new IP.
|
||||
- Updated `AGRARIAN_DEVELOPMENT_ROADMAP.md` with a new
|
||||
`2027 Awards Direction` section near the top of the roadmap.
|
||||
- Added production bars for:
|
||||
- visual credibility,
|
||||
- geographic truth,
|
||||
- art direction,
|
||||
- systemic originality,
|
||||
- emotional attachment,
|
||||
- demo discipline,
|
||||
- roadmap filtering.
|
||||
- Tightened `0.2.0 Investor Visual Credibility Baseline` so it now explicitly
|
||||
serves the art-direction identity, not just placeholder cleanup.
|
||||
- Added early visual credibility tasks for reclaimed human-made set dressing,
|
||||
investor screenshot composition checks, and automated placeholder audits.
|
||||
- Verification:
|
||||
- `git diff --check` passed in the game repo.
|
||||
|
||||
Reference in New Issue
Block a user