Vampire-Act-Base/design/gdd/reviews/enemy-ai-logic-review-log.md

19 lines
2.4 KiB
Markdown

# Enemy AI Logic — Review Log
## Review — 2026-04-27 — Verdict: NEEDS REVISION (revised same session)
Scope signal: M
Specialists: critic (game design), analyst (systems/math), qa-tester (AC review), general-purpose (AI behavior + performance), general-purpose (feel/UX/audio)
Blocking items: 6 (all resolved) | Recommended: 12 (all resolved)
Summary: Six blocking issues identified across five specialist reviews: (1) parry stagger duration mismatch with Combat Logic (0.3s vs 0.45s) — synced to 0.45s; (2) no Chase→Idle FSM transition for player death — added force-to-Idle and Chase timeout; (3) Vector3.Normalize(0) NaN risk — added zero-distance guard; (4) no deltaTime spike protection — added MAX_DELTA=0.05s clamp; (5) windup flash becomes strobe at density — added 0.5s cooldown, 10-unit range gate, per-type color coding; (6) no audio prioritization system — added 16-SFX cap, priority order, distance falloff, instance merging. Additional major fixes: AICommand AttackData field defined, EnemyState population pipeline clarified, Swarm per-frame damage cap (50), kiting mitigation documented, IPlayerStateProvider unified to parameter-passing, enemy AttackData defaults table added, FSM diagram corrected, windup VFX differentiated per-type (amber/red/violet), Wolf-Stalker clash defined as special outcome (Stalker nullified + staggered), Stalker Mist counter claim adjusted to "optimal vs viable", AC 13 split into functional + benchmark, 9 new ACs added (19-27). GDD now aligned with revised Combat Logic GDD.
Prior verdict resolved: N/A (first review)
## Review — 2026-04-27 — Verdict: APPROVED (re-review after same-session revision)
Scope signal: M
Re-review: Yes — all 6 prior blockers verified resolved
Blocking items: 0 | Recommended: 2 (minor — stale Interactions/Dependencies table references)
Summary: Re-review confirmed all six blocking issues and twelve major items from the first review were correctly resolved. Cross-system consistency verified via /consistency-check with upstream Combat Logic, Form Switch SM, and Death/Respawn GDDs — all contracts aligned (PlayerState merged, SpawnEnemy defined, AttackStyle extended, ResolveFrame referenced). Two minor documentation cleanup items remain (Interactions table still says "ResolveAttacks" vs "ResolveFrame"; Dependencies table still says "IPlayerStateProvider" vs parameter-passing). GDD is implementation-ready.