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

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.

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.