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/AGRARIAN_MVP_IMPLEMENTATION_NOTES.md
T

85 lines
3.4 KiB
Markdown

# 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`.
## 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_Interact` input action.
- Add `IA_Interact` to the active input mapping context, suggested key `E` / gamepad face button.
- Assign `IA_Interact` to the character's `InteractAction` property.
- Create Blueprint children:
- `BP_AGR_Resource_Wood` from `AgrarianResourceNode`
- `BP_AGR_Campfire` from `AgrarianCampfire`
- `BP_AGR_PrimitiveShelter` from `AgrarianShelterActor`
- 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.