Skip to content

E4 — Entities & gameplay systems on ECS #136

@fredboy

Description

@fredboy

Goal: all entities + gameplay on ECS; bespoke entity/controller/adapter code deleted.

Scope / deliverables:

  • cavedroid:components (Player/Inventory/Food/Armor/Bow/Ai/FluidState/…).
  • cavedroid:systems (movement, physics-sync, damage, fluid, fire, grow, spawn, hunger).
  • AI on gdx-ai (Behavior Trees + FSM + steering) replacing MobBehavior Passive/Aggressive/Archer/FallingBlock. Drive Timepiece from ClockContext; randomness via seeded source; emit via command bus; AI components ticked in the entityAI phase.
  • A* pathfinding over the tile grid — separate, possibly-deferred sub-task (nav graph over loaded chunks, time-sliced).
  • cavedroid:actions (UseBucket, UseBed, PlaceSlab, …) using context parameters.
  • Delete *WorldAdapter, controllers, *Queue spawn queues.

Definition of Done: mobs/drops/projectiles/player run on ECS; no adapters in the codebase. Per-system tests asserting emitted commands (bulk of coverage).

Depends on: E2, E3

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:aiAI (gdx-ai: behavior trees, FSM, steering)area:cavedroidCaveDroid game content/rules/UIarea:ecsAshley ECSepicUmbrella / tracking issue

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions