3.4 KiB
3.4 KiB
Agrarian MVP Implementation Notes
This first implementation creates the C++ foundation for the Phase 1 survival MVP. It is intentionally small and system-oriented: the goal is to make the first playable loop possible without creating throwaway prototype logic that will have to be replaced later.
Added C++ Systems
AgrarianTypes- Shared item, survival, and weather data types.
AgrarianInteractable- Interface for anything the player can use/gather/activate.
AgrarianSurvivalComponent- Replicated health, stamina, hunger, thirst, body temperature, and injury state.
- Server-authoritative decay and survival damage.
- Basic ambient temperature exposure from
AgrarianGameState.
AgrarianInventoryComponent- Replicated inventory item stacks.
- Server-authoritative add/remove helpers.
AgrarianGameState- Replicated world time, weather state, and ambient temperature.
AgrarianResourceNode- Interactable gatherable actor that grants inventory items and depletes.
AgrarianCampfire- Interactable fire actor using wood as fuel.
- Applies warmth to nearby characters.
AgrarianShelterActor- Primitive replicated shelter actor with a protection volume placeholder.
AgrarianGameCharacter- Now owns survival and inventory components.
- Has a server-authoritative interaction trace flow.
AgrarianGameGameMode- Now uses
AgrarianGameState.
- Now uses
What This Enables Immediately
With simple Blueprint children and placeholder meshes, the project can now support:
- A player with replicated survival stats.
- A player inventory.
- Gathering resource nodes into inventory.
- Lighting/feeding a campfire with gathered wood.
- Warmth from the campfire affecting body temperature.
- Replicated day/night/weather state.
- Primitive shelter placement as a world actor once a placement UI is added.
Required Editor Setup
These C++ classes need Blueprint/content setup inside Unreal:
- Create or update a player Blueprint derived from
AgrarianGameCharacter. - Assign the existing movement/look/jump input actions as before.
- Create an
IA_Interactinput action. - Add
IA_Interactto the active input mapping context, suggested keyE/ gamepad face button. - Assign
IA_Interactto the character'sInteractActionproperty. - Create Blueprint children:
BP_AGR_Resource_WoodfromAgrarianResourceNodeBP_AGR_CampfirefromAgrarianCampfireBP_AGR_PrimitiveShelterfromAgrarianShelterActor
- Assign placeholder meshes to each Blueprint.
- Place several resource nodes and at least one campfire in the test map.
- Confirm the active GameMode derives from
AgrarianGameGameMode.
First Playable Test
The first playable test should verify:
- Start the map as one player.
- Look at a resource node and press interact.
- Wood appears in the player's inventory component.
- Interact with the campfire.
- One wood is removed and the campfire lights.
- Standing near the lit campfire raises/maintains body temperature.
- Hunger and thirst decay over time.
- Server authority is respected in multiplayer.
Known Limits
- No visual HUD has been added yet.
- No crafting UI has been added yet.
- No building placement flow has been added yet.
- No save/load persistence has been added yet.
- No wildlife has been added yet.
- No packaged build was compiled in this environment.
These are the next MVP tasks, not blockers for this foundation.