Initial Agrarian Unreal project
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user