Approval GDD4
This commit is contained in:
@@ -6,4 +6,13 @@ Scope signal: M
|
||||
Specialists: game-designer (critic), systems-designer (analyst), qa-lead (test-engineer), unity-specialist (architect), performance-analyst (general-purpose)
|
||||
Blocking items: 13 | Recommended: 9
|
||||
|
||||
Summary: The hit-detection infrastructure (shapes, pipeline, edge cases, events) was solid, but three fundamental gaps blocked implementation: (1) the Player Fantasy described a parry mechanic that didn't exist in the design, (2) pure RNG crit contradicted the "Skill Over Stats" pillar, and (3) cross-system contracts (EnemyState, Vector3 boundary, AttackData construction, Blood Energy bridge) were undefined. All 13 blockers were resolved in the same session via targeted additions: full parry subsystem, positional crit system, defined structs, L0/L1 boundary contracts, spatial grid, and NonAlloc memory pattern. Form dimensions rebalanced (Mist 3.8, Wolf width 1.0, Human angle 100°). GDD now ready for implementation pending a lightweight re-review pass.
|
||||
Summary: The hit-detection infrastructure (shapes, pipeline, edge cases, events) was solid, but three fundamental gaps blocked implementation: (1) the Player Fantasy described a parry mechanic that didn't exist in the design, (2) pure RNG crit contradicted the "Skill Over Stats" pillar, and (3) cross-system contracts (EnemyState, Vector3 boundary, AttackData construction, Blood Energy bridge) were undefined. All 13 blockers were resolved in the same session via targeted additions: full parry subsystem, positional crit system, defined structs, L0/L1 boundary contracts, spatial grid, and NonAlloc memory pattern. Form dimensions rebalanced (Mist 3.8, Wolf width 1.0, Human angle 100°).
|
||||
|
||||
## Review — 2026-04-27 — Verdict: APPROVED (revised same session after re-review)
|
||||
|
||||
Scope signal: L (multi-system integration, 3+ formulas, requires CombatCoordinator ADR)
|
||||
Specialists: critic (game design), analyst (systems/math), qa-tester (AC review), general-purpose (feel/UX/audio), general-purpose (performance/data contracts)
|
||||
Blocking items: 6 (all resolved) | Recommended: 14 (all resolved)
|
||||
|
||||
Summary: Six blocking data contract issues and fourteen major design gaps were identified across five specialist reviews. Critical architectural findings: (1) AttackData didn't distinguish player from enemy attacks — resolved by adding AttackSource enum, AttackGroupId, PlayerState struct, and InnerCritRadius; (2) parry nullification was impossible in the single-pass batch pipeline — resolved by restructuring to a two-phase pipeline (parry phase → damage phase) with a new CombatCoordinator L0 component; (3) parry timing management violated ADR-001 L0/L1 boundary — resolved by moving parry state into Combat Logic with ActivateParry(); (4) EnemyState ownership and FacingAngle pipeline were undefined — resolved as shared data contract with Enemy AI as data source; (5) parry input model was ambiguous (hold vs press) — resolved to press-for-window model; (6) multihit parry behavior was unspecified — resolved to one-parry-counters-all with single riposte. Additional fixes: parry stagger extended from 0.3s to 0.45s (exceeds Human 0.4s attack windup), Mist inner-radius crit zone gets a visible inner ring, combined clamping clarified as clamp(flanking+stat, 0, 1.0), 13 new ACs added (total: 33), spatial grid cell size added as tuning knob, AttackStyle contract extended with CritChanceStat/CritMultiplier/KnockbackForce defaults, CombatCoordinator dependency documented. GDD is now implementation-ready with all data contracts, pipeline phases, and edge cases fully specified.
|
||||
Prior verdict resolved: Yes (6 blockers from re-review resolved in same session)
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user