This repository has been archived on 2026-05-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
AgrarianGameArchive/Docs/CodebaseReadinessReview.md
T

3.7 KiB

Codebase Readiness Review

Date: 2026-05-19

Scope: source code, build scripts, verification scripts, config files, and the roadmap after completion of 0.1.R.

0.1 Completion Check

All 0.1.A through 0.1.R roadmap checkboxes are complete. The remaining unchecked roadmap items before Version 0.2 are North Star and philosophy statements, not incomplete 0.1 implementation tasks.

Current Strengths

  • Core gameplay systems are separated into recognizable Unreal classes: character, controller, game state, survival, inventory, crafting, building, persistence, weather, resource nodes, wildlife, shelter, campfire, water, UI, and automation.
  • Server-authoritative paths are already present for core multiplayer actions such as crafting, item use/drop/splitting, travel, save/load, respawn, fire, resource depletion, wildlife state, world actors, and weather state.
  • Persistence has a central subsystem and explicit world actor/resource/player capture paths, which is the right base for 0.2 homesteading.
  • The project now has broad verifier coverage for roadmap promises and MVP guardrails. This is useful for preventing accidental regression while the team moves into larger systems.
  • The Windows build pipeline, package script, visual QA gate, and Linux server target are established enough to keep milestone work shippable.

Cleanup Findings

  • AgrarianEditorAutomationLibrary.cpp is doing too much. It contains map import, gameplay smoke tests, persistence tests, and setup helpers in one large file. It should be split by responsibility before 0.2 adds claiming, farming, storage, and household tests.
  • The MVP frontend is still implemented as runtime-created widget trees. This has been effective for fast iteration, but 0.2 should move toward reusable UMG widgets, shared styling, and a cleaner input/navigation model.
  • Placeholder/proxy meshes are intentionally still present for resources, shelters, campfires, water, wildlife, and characters. 0.2 should replace the highest-impact placeholders with durable realistic assets while preserving data-driven class behavior.
  • Several systems use hard-coded Ground Zero, MVP, and automation constants. These are acceptable for 0.1 but should move toward data assets, config, or tile metadata as 0.2 introduces claims, crops, animals, storage, and homestead state.
  • Admin/dev console commands currently share runtime controller paths. Before broader testing, privileged commands need a clearer authority, role, and audit boundary so tester tools do not become gameplay exploits.
  • Verifier scripts are useful but numerous. 0.2 should add a grouped verifier runner so milestone verification is one command with explicit categories.

Low-Risk Cleanup Applied

  • Removed duplicate SavingAndQuit branch logic from the MVP frontend continue flow. Behavior is unchanged, but the control path is now easier to read.

0.2 Engineering Priorities

  • Keep land claims, farming, storage, household tasks, and future economy state server-authoritative from the first implementation pass.
  • Add schema/version fields when introducing new persistent records.
  • Use data assets for claim rules, crop definitions, animal definitions, storage container definitions, and early profession/knowledge topics.
  • Create focused automation helpers by domain instead of expanding the current monolithic editor automation file.
  • Replace placeholder visuals in the order investors and testers notice them: terrain material, grasses/shrubs/trees, water, character bodies/clothing, resource objects, fire/smoke, shelter pieces, and wildlife.
  • Keep ray tracing optional. The default non-ray-traced path must remain the baseline for demo readability and remote testing.