Progress / Phase 6
Phase 6: Combat
Tab-target a creature, fight it with an auto-attack and one ability, die and respawn, and watch it respawn too.
Phase 60 / 31 · 0%
This phase is still ahead.
6.1 Entity model
0 of 5 done- Decision Entity architecture: components and systems, or plain structs with interfaces. Pick whatever keeps the tick loop clear and testable.
- One entity model for players and mobs: id, kind, position, health, faction and state.
- Stats (health, attack power, armor, movement speed) with derived values computed in one place.
- Combat events to clients: damage, heal, death, respawn, cast start and cast stop.
- Tick time broken down by system (input, movement, AI, combat, snapshots) in the metrics, with a budget for each.
6.2 Targeting and abilities
0 of 5 done- Tab-target cycling (nearest hostile in front first), click to target, Escape to clear; the server validates targets.
- Auto-attack with a swing timer, range check and facing.
- Data-defined abilities in
content/abilities/(cast time, cooldown, global cooldown, range, cost, effects), with one ability working end to end. - A resource (stamina or mana) with regeneration.
- Server validation on every ability use: cooldowns, range, line of sight, resource and a living target.
6.3 Mobs and AI
0 of 6 done- Mob definitions in
content/mobs/and spawn points in maps, with respawn timers. - AI state machine: idle, wander, aggro on proximity, chase, attack, and leash back with a full reset when pulled too far.
- Threat table: damage builds threat and mobs attack whoever is on top.
- Player death, a respawn point and a short respawn delay; mob death with a fading corpse.
- Deterministic combat: the same inputs and random seed produce the same combat log, tested tick by tick.
-
make loadtest SCENARIO=burst: every player in a zone uses an ability on the same tick, within the scaling.md burst target ondev-m5.
6.4 Combat in the client
0 of 5 done- Player frame and target frame with health and resource bars.
- Action bar on keys 1 to 6 with cooldown sweeps and an out-of-range tint.
- Floating combat text, hit flashes and death animations.
- Health bars over damaged entities and a target selection ring.
- Combat log window.
6.5 Art Batch 06: combat
0 of 2 done- Draw Batch 06 by hand: player attack and cast animations in four directions, hurt and death frames, the first forest mob (idle, walk, attack and death in four directions), hit and ability effects, ability icons and the target ring.
- Intake and integrate.
6.6 Walkthrough
0 of 2 done-
docs/walkthroughs/phase-06-combat.md: server-authoritative combat, cooldowns, threat and AI state machines. - Devlog draft, release notes, tag
v0.6.0and publish builds.
Acceptance criteria
0 of 6 done- A player can target, fight and kill a mob, which respawns on its timer.
- A player can die and respawn at the respawn point.
- Abilities can’t be used early, out of range or without resources, even by a modified client (tests).
- Mobs leash and reset when kited too far.
- 100 bots fighting mobs still meet Case 2 Tier 1 in scaling.md on
dev-m5. - Owner Playtest: two players fighting the same mob feels good and reads clearly.
