mirror of
https://github.com/Donchitos/Claude-Code-Game-Studios.git
synced 2026-10-16 10:17:06 +00:00
Release 1.1.2 — the default path works end to end
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
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
7ed2c3e9c4
commit
b21fa0f7f2
@@ -1,10 +1,9 @@
|
||||
# Agent Test Spec: level-designer
|
||||
|
||||
## Agent Summary
|
||||
**Domain owned:** Level layouts, encounter design, pacing and tension arc, environmental storytelling, spatial puzzles.
|
||||
**Does NOT own:** Narrative dialogue (writer / narrative-director), visual art style (art-director), code implementation (lead-programmer / ai-programmer), enemy AI behavior logic (ai-programmer / gameplay-programmer).
|
||||
**Model tier:** Sonnet (individual system analysis — level design review and encounter assessment).
|
||||
**Gate IDs handled:** Level design review verdicts (uses APPROVED / REVISION NEEDED vocabulary).
|
||||
**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.
|
||||
|
||||
---
|
||||
|
||||
@@ -13,8 +12,8 @@
|
||||
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)
|
||||
- [ ] `allowed-tools:` list is read-focused; includes Read for level design documents and GDDs; no Bash unless level tooling requires it
|
||||
- [ ] Model tier is `claude-sonnet-5` per coordination-rules.md
|
||||
- [ ] `tools:` reads Read, Glob, Grep, Write, Edit and `disallowedTools:` lists Bash
|
||||
- [ ] Model tier is `inherit` — frontmatter `model:` reads exactly `inherit` (tiers: `.claude/docs/model-tiers.md`)
|
||||
- [ ] Agent definition does not claim authority over narrative dialogue, AI behavior code, or visual art style
|
||||
|
||||
---
|
||||
@@ -22,54 +21,55 @@ Verified by reading the agent's `.claude/agents/level-designer.md` frontmatter:
|
||||
## Test Cases
|
||||
|
||||
### Case 1: In-domain request — appropriate output format
|
||||
**Scenario:** A level layout document for "The Flooded Tunnels" is submitted for review. The layout includes: a low-intensity exploration opening section, 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 pacing follows a classic tension-arc structure.
|
||||
**Expected:** Returns `APPROVED` with rationale confirming the pacing follows the tension arc, encounters are varied in intensity, and spatial readability supports player navigation.
|
||||
**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:**
|
||||
- [ ] Verdict is exactly one of APPROVED / REVISION NEEDED
|
||||
- [ ] Rationale references specific pacing arc elements (opening, escalation, climax, release)
|
||||
- [ ] Output stays within level design scope — does not comment on visual art style or enemy AI code behavior
|
||||
- [ ] Verdict is clearly labeled with context (e.g., "Level Design Review: APPROVED")
|
||||
- [ ] 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 and redirects to ai-programmer or gameplay-programmer.
|
||||
**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
|
||||
- [ ] Explicitly names `ai-programmer` or `gameplay-programmer` as the correct handler
|
||||
- [ ] May specify the desired patrol behavior from a level design perspective (e.g., "patrol should cover both chokepoints and create pressure in this zone"), but defers all code implementation to the programmer
|
||||
- [ ] States that behavior-tree code is implementation work outside its role, rather than taking it on
|
||||
- [ ] Explicitly names `ai-programmer` (or `gameplay-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: Gate verdict — correct vocabulary
|
||||
**Scenario:** A level layout for "The Ancient Forge" is submitted. Section 3 of the level introduces a dramatically harder enemy encounter (elite enemy with new attack patterns) with no preceding tutorial moment, no environmental readability cues (no visible cover or safe zones), and no checkpoint nearby. Players are likely to die repeatedly with no clear signal of what to do differently.
|
||||
**Expected:** Returns `REVISION NEEDED` with specific identification of the difficulty spike in section 3, the missing readability cue, and the absence of a nearby checkpoint to reduce frustration from repeated deaths.
|
||||
### 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:**
|
||||
- [ ] Verdict is exactly one of APPROVED / REVISION NEEDED — not freeform text
|
||||
- [ ] Rationale identifies section 3 specifically as the location of the issue
|
||||
- [ ] Identifies the three specific problems: difficulty spike, missing readability cue, missing checkpoint
|
||||
- [ ] Provides actionable revision guidance (e.g., "add a visible safe zone, pre-encounter cue object, or reduce elite's health for first introduction")
|
||||
- [ ] 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 clearly articulates the pacing concern (eliminating rest periods removes the tension-release rhythm), acknowledges game-designer's challenge goal, and escalates to creative-director for a design arbiter ruling on whether challenge density or pacing rhythm takes precedence for this level.
|
||||
**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:**
|
||||
- [ ] Articulates the specific pacing impact of increased encounter density
|
||||
- [ ] States the specific pacing impact: denser rooms remove the rest points, flattening the intensity curve into constant high intensity
|
||||
- [ ] Escalates to `creative-director` as the design arbiter
|
||||
- [ ] Does not unilaterally override game-designer's challenge density request
|
||||
- [ ] Frames the conflict clearly: "challenge density vs. pacing rhythm — which takes precedence here?"
|
||||
- [ ] 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:** Agent receives a gate context block that includes game-feel notes specifying: "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 review.
|
||||
**Expected:** Assessment evaluates each section type (exploration, combat, reward) against the specific feel targets from the provided context. Uses the exact vocabulary from the feel notes ("vast and lonely," "urgent and claustrophobic," "safe and visually distinct") in the rationale.
|
||||
**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
|
||||
- [ ] Identifies any section where the layout conflicts with its assigned feel target
|
||||
|
||||
---
|
||||
|
||||
## Protocol Compliance
|
||||
|
||||
- [ ] Returns verdicts using APPROVED / REVISION NEEDED vocabulary only
|
||||
- [ ] 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
|
||||
@@ -78,8 +78,8 @@ Verified by reading the agent's `.claude/agents/level-designer.md` frontmatter:
|
||||
---
|
||||
|
||||
## Coverage Notes
|
||||
- Environmental storytelling review (using spatial elements to convey narrative without dialogue) could benefit from a dedicated case.
|
||||
- Spatial puzzle design review is not covered — a dedicated case should be added when puzzle mechanics are defined.
|
||||
- Multi-level pacing review (arc across an entire act or world map) is not covered — deferred to milestone-level design review.
|
||||
- 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.
|
||||
|
||||
Reference in New Issue
Block a user