M7 — NPCs / mobiles with basic AI #9
Labels
No labels
alpha:wave-0
alpha:wave-1
alpha:wave-2
alpha:wave-3
area:assets
area:combat
area:ecology
area:infra
area:render
area:scripting
area:ui
area:world
enhancement
epic
migration
post-alpha
roadmap
tech-debt
type:bug
type:chore
type:design
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
marco/IsoMmo#9
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Make the world feel alive: server-driven creatures that wander. Also the future targets for combat.
Scope
Definition of Done
Base DoD applies on top (tests green, whole solution builds, zero warnings, multi-platform preserved); the criteria below are the issue-specific delta.
Slice 1 (agreed design) — ModernUO-informed, wander-only
Building the first mobile slice with ModernUO shapes (not the heavy infra):
Decisions: wander-only AI; mobiles block their tile (player↔mobile occupancy checked atomically under World'''s lock; players still don'''t block each other); placeholder art first (real creature art is a follow-up — needs monster/animal anim decode); no stats/combat/loot/persistence.
Protocol: dedicated MobileSpawned/MobileMoved/MobileRemoved; facing derived client-side from movement delta (not on the wire). AoI extended to a third visible set.
Engine/content split (#17) deferred to a dedicated follow-up right after, per docs/architecture.md.
DoD delta for this slice
Done and merged to main (
e55c90d). Server-authoritative wandering creatures with real UO art. MobileRegistry + BaseAi/WanderAi under World single lock; tile occupancy (player<->mobile) atomic; AoI via generic InterestDiff + Mobile* messages. AnimMulReader generalized to any body range + creature extractor mode; client animates per-kind art (rat critter, body 0xEE) with placeholder fallback. 159 tests green, zero warnings. Deferred to later milestones: stats (M6), combat/aggro/HP/loot (M8), spawners-with-respawn (currently a fixed startup count), engine/content split (#17).