Fix release for 1.1.1: the minimal path end to end, engine commands that run on Godot, Unity and Unreal, hook warnings you can see, and verdicts that say when they could not check. Details in CHANGELOG.md; upgrade steps in UPGRADING.md (v1.1.1 → v1.1.2). Fixes #67 Fixes #131 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WuJn2FdynEybfL5KC697nJ
8.0 KiB
Agent Test Spec: level-designer
Agent Summary
Domain owned: Level layouts, encounter design (per-encounter difficulty), pacing charts, environmental storytelling, secret and optional content placement, flow analysis.
Does NOT own: Game-wide systems (game-designer / systems-designer), story decisions (narrative-director — coordinates with), visual art style (art-director), level implementation in the engine and enemy AI code (programmers), game-wide difficulty parameters.
Gate IDs handled: None. Design-review verdicts come from the /design-review skill, which spawns level-designer as a specialist that returns findings.
Static Assertions (Structural)
Verified by reading the agent's .claude/agents/level-designer.md frontmatter:
description:field is present and domain-specific (references level layout, encounter design, pacing, environmental storytelling — not generic)tools:reads Read, Glob, Grep, Write, Edit anddisallowedTools:lists Bash- Model tier is
inherit— frontmattermodel:reads exactlyinherit(tiers:.claude/docs/model-tiers.md) - Agent definition does not claim authority over narrative dialogue, AI behavior code, or visual art style
Test Cases
Case 1: In-domain request — appropriate output format
Scenario: The user has agreed the outline for "The Flooded Tunnels": a low-intensity exploration opening, two mid-intensity encounters with visible escape routes, a tension-building narrow passage with environmental hazards, and a high-intensity final encounter room followed by a release/reward area. The user asks level-designer to draft the level document. Expected: Drafts the level document in the Level Document Standard, with a pacing chart that follows the agreed tension arc and an encounter list that gives each encounter's type, difficulty, and position. Shows each section and asks before writing it. Assertions:
- The document has all nine Level Document Standard sections: Level Name and Theme, Estimated Play Time, Layout Diagram, Critical Path, Optional Paths, Encounter List, Pacing Chart, Narrative Beats, Music/Audio Cues
- The Pacing Chart follows the outline's intensity curve — low opening, mid encounters, rising passage, high final encounter, release — with its rest points marked
- The Encounter List gives type, difficulty, and position for each encounter
- Asks "May I create [filepath] with the section skeleton?" before creating the file and "May I write this section to [filepath]?" before writing each section, and does not decide visual art style or enemy AI code
Case 2: Out-of-domain request — redirects or escalates
Scenario: A team member asks level-designer to write the behavior tree code for an enemy patrol AI that navigates the level layout. Expected: Agent declines to write AI behavior code — implementation is outside its role — and instead specifies the patrol from a level design perspective, as input for ai-programmer. Assertions:
- Does not write or specify code for AI behavior logic
- States that behavior-tree code is implementation work outside its role, rather than taking it on
- Explicitly names
ai-programmer(orgameplay-programmer, which its file names for engine implementation) as who implements it - Specifies the desired patrol in level design terms (e.g., route through named chokepoints and sight lines, pressure zones, spawn timing) for the programmer to implement
Case 3: Review findings — specific, verdict left to the review skill
Scenario: /design-review in full mode spawns level-designer as the adversarial specialist for the level document of "The Ancient Forge." The spawn prompt reads: "Your job is NOT to validate this design — your job is to find problems. Be specific and critical." Section 3 of the level introduces a dramatically harder elite enemy with new attack patterns, with no earlier moment that introduces it, no environmental readability cues (no visible cover or safe zones), and no checkpoint nearby.
Expected: Returns specific findings locating the problem in section 3: the difficulty spike, the missing readability cues, and the missing checkpoint, each with a concrete spatial fix offered as an option. It returns findings, not a verdict — /design-review issues the verdict.
Assertions:
- Identifies section 3 specifically as the location of the issue
- Identifies the three specific problems: difficulty spike without an introduction, missing readability cues, missing nearby checkpoint
- Provides actionable spatial revision options (e.g., introduce the elite in isolation first, add a visible safe zone or cover, place a checkpoint before the arena)
- Returns findings to the review, not its own APPROVED / NEEDS REVISION stamp
Case 4: Conflict escalation — correct parent
Scenario: game-designer wants higher encounter density throughout the level (more enemies in each room) to increase combat challenge. level-designer believes this density undermines the pacing arc by eliminating rest periods and making the level feel relentless without reward. Expected: level-designer states the pacing concern in pacing-chart terms (removing rest points flattens the tension-release rhythm), acknowledges game-designer's challenge goal, lays out the options, and escalates to creative-director for a design arbiter ruling on whether challenge density or pacing rhythm takes precedence for this level. Assertions:
- States the specific pacing impact: denser rooms remove the rest points, flattening the intensity curve into constant high intensity
- Escalates to
creative-directoras the design arbiter - Does not unilaterally override game-designer's challenge density request
- Presents the choice as options (e.g., keep density, keep rest points, add density with dedicated rest rooms) with a recommendation, leaving the ruling to the arbiter
Case 5: Context pass — uses provided context
Scenario: The request includes game-feel notes: "exploration sections should feel vast and lonely," "combat sections should feel urgent and claustrophobic," and "reward rooms should feel safe and visually distinct." A new level layout is submitted for the agent's assessment. Its exploration section is a narrow, winding corridor, and its reward room uses the same lighting and layout as the combat arena before it. Expected: Assessment evaluates each section type (exploration, combat, reward) against its feel target, using the exact vocabulary from the notes, and flags the two sections that conflict with their targets. Assertions:
- References all three feel targets from the provided context by their exact vocabulary
- Evaluates each relevant section of the submitted layout against its corresponding feel target
- Flags the narrow exploration corridor as conflicting with "vast and lonely," and the reward room as not "visually distinct" from the arena
- Does not generate generic pacing advice — all feedback is tied to the provided feel targets
Protocol Compliance
- Level documents it drafts contain the Level Document Standard's nine sections
- Stays within declared level design domain
- Escalates challenge-density vs. pacing conflicts to creative-director
- Does not make binding narrative dialogue, AI code implementation, or visual art style decisions
- Provides actionable level design feedback with spatial specifics, not abstract design opinions
Coverage Notes
- Environmental storytelling (using spatial elements to convey narrative without dialogue) could benefit from a dedicated case.
- Spatial puzzle design is not covered — a dedicated case should be added when puzzle mechanics are defined.
- Multi-level pacing (arc across an entire act or world map) is not covered — deferred to milestone-level design review.
- Interaction between level-designer and narrative-director for environmental lore placement is not covered.
- Accessibility review of level layouts (colorblind indicators, difficulty options for spatial challenges) is not covered.