mcpField
G
gds-test-design

gds-test-design

github.com/bmad-code-orgTesting & quality26245 installsUpdated 5w ago
Repository

About gds-test-design

gds-test-design is a BMad skill for game QA engineers that turns game design documentation into a risk-prioritized test design, covering core gameplay, progression, multiplayer, and platform requirements.

Key features

  1. 01Risk-based scenario prioritization
  2. 02Gameplay and progression test coverage
  3. 03Multiplayer and platform test categories
  4. 04E2E player journey scenarios
  5. 05Coverage matrix and automation recommendations

Use cases

  1. 01Designing tests from a GDD or feature specs
  2. 02Prioritizing save/load and core gameplay risks
  3. 03Planning multiplayer and platform certification checks

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/bmad-code-org/bmad-module-game-dev-studio --skill gds-test-design

After installing, type/gds-test-designin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

checklist.md
customize.toml
test-design-template.md

Details

From the project README

Game Test Design

Workflow ID: gds-test-design Version: 1.0 (BMad v6)

Conventions

  • Bare paths (e.g. template.md) resolve from the skill root.
  • {skill-root} resolves to this skill's installed directory (where customize.toml lives).
  • {project-root} is the nearest folder containing _bmad/, starting at the project working directory and moving up through its parents.
  • {skill-name} resolves to the skill directory's basename.

On Activation

Step 1: Resolve the Workflow Block

Run: uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow

If the script fails, resolve the workflow block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:

  1. {skill-root}/customize.toml — defaults
  2. {project-root}/_bmad/custom/{skill-name}.toml — team overrides
  3. {project-root}/_bmad/custom/{skill-name}.user.toml — personal overrides

Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by code or id replace matching entries and append new entries, and all other arrays append.

Step 2: Execute Prepend Steps

Execute each entry in {workflow.activation_steps_prepend} in order before proceeding.

Step 3: Load Persistent Facts

Treat every entry in {workflow.persistent_facts} as foundational context you carry for the rest of the workflow run. Entries prefixed file: are paths or globs under {project-root} — load the referenced contents as facts. All other entries are facts verbatim.

Step 4: Load Config

Load config from {project-root}/_bmad/gds/config.yaml and resolve:

  • project_name
  • user_name
  • communication_language
  • output_folder
Step 5: Greet the User

Greet {user_name}, speaking in {communication_language}.

Step 6: Execute Append Steps

Execute each entry in {workflow.activation_steps_append} in order.

Activation is complete. If activation_steps_prepend or activation_steps_append were non-empty, confirm every entry was executed in order before proceeding. Do not begin the main workflow until all activation steps have been completed.

Goal

Create comprehensive test scenarios for game projects, covering gameplay mechanics, progression systems, multiplayer functionality, and platform requirements. This workflow produces a prioritized test plan based on risk assessment and player impact.

Role

You are a Game QA Engineer specializing in test design. You analyze game design documentation to identify critical systems, assess risk, and create structured test scenarios that ensure gameplay quality across all platforms and player paths.


WORKFLOW ARCHITECTURE

This workflow analyzes the game project and produces a complete test design document with prioritized scenarios, a coverage matrix, and automation recommendations.

Primary Output: {output_folder}/game-test-design.md

Supporting Components:

  • Validation: {installed_path}/checklist.md
  • Template: {installed_path}/test-design-template.md

Knowledge Base References:

  • knowledge/playtesting.md
  • knowledge/save-testing.md
  • knowledge/multiplayer-testing.md
  • knowledge/certification-testing.md
  • knowledge/e2e-testing.md
  • knowledge/test-priorities.md

Load and resolve configuration from {module_config}:

output_folder: {from config}
user_name: {from config}
communication_language: {from config}
document_output_language: {from config}
game_dev_experience: {from config}
date: {system-generated}

Resolve workflow variables:

design_level: "full"    # full | targeted | minimal
focus_area: "auto"      # auto | gameplay | progression | multiplayer | performance

Search the project for game design documentation before proceeding.


EXECUTION

Preflight Requirements

Verify before proceeding:

  • Game design documentation available (GDD, feature specs)
  • Understanding of target platforms
  • Knowledge of core gameplay loop

Step 1: Gather Context
Actions
  1. Read Game Design Documentation

    • Locate GDD or game-design.md
    • Identify core mechanics and features
    • Note target platforms and certification requirements
  2. Identify Critical Systems

    • Core gameplay loop
    • Progression/save systems
    • Multiplayer (if applicable)
    • Monetization (if applicable)
  3. Assess Risk Areas

    • Player-facing features (highest priority)
    • Data persistence (save/load)
    • Platform certification requirements
    • Performance-critical paths

Step 2: Define Test Categories
Core Gameplay Testing

Knowledge Base Reference: knowledge/playtesting.md

CategoryFocusPriority
Core LoopPrimary mechanic executionP0
Combat/InteractionHit detection, feedbackP0
MovementPhysics, collision, feelP0
UI/UXMenu navigation, HUDP1
AudioSound triggers, musicP2
Progression Testing

Knowledge Base Reference: knowledge/save-testing.md

CategoryFocusPriority
Save/LoadData persistenceP0
UnlocksContent gatingP1
EconomyCurrency, rewardsP1
AchievementsTrigger conditionsP2
Multiplayer Testing (if applicable)

Knowledge Base Reference: knowledge/multiplayer-testing.md

CategoryFocusPriority
ConnectivityJoin/leave handlingP0
SynchronizationState consistencyP0
LatencyDegraded networkP1
MatchmakingPlayer groupingP1
Platform Testing

Knowledge Base Reference: knowledge/certification-testing.md

CategoryFocusPriority
CertificationTRC/XR requirementsP0
InputController supportP0
PerformanceFPS, loading timesP1
AccessibilityAssist featuresP1
E2E Journey Testing

Knowledge Base Reference: knowledge/e2e-testing.md

CategoryFocusPriority
Core LoopComplete gameplay cycleP0
Turn LifecycleFull turn from start to endP0
Save/Load RoundtripSave → quit → load → resumeP0
Scene TransitionsMenu → Game → BackP1
Win/Lose PathsVictory and defeat conditionsP1

Step 3: Create Test Scenarios
Scenario Format

For each critical feature, create scenarios using this format:

SCENARIO: [Descriptive Name]
  GIVEN [Initial state/preconditions]
  WHEN [Action taken]
  THEN [Expected outcome]
  PRIORITY: P0/P1/P2/P3
  CATEGORY: [gameplay/progression/multiplayer/platform]
Example Scenarios

Gameplay - Combat

SCENARIO: Basic Attack Hits Enemy
  GIVEN player is within attack range of enemy
  AND enemy has 100 health
  WHEN player performs basic attack
  THEN enemy receives damage
  AND damage feedback plays (visual + audio)
  AND enemy health decreases
  PRIORITY: P0
  CATEGORY: gameplay

Progression - Save System

SCENARIO: Save Preserves Player Progress
  GIVEN player has 500 gold and 3 items
  AND player is at checkpoint
  WHEN game saves
  AND game is reloaded
  THEN player has 500 gold
  AND player has same 3 items
  AND player is at same checkpoint
  PRIORITY: P0
  CATEGORY: progression

Multiplayer - Network Degradation

SCENARIO: Gameplay Under High Latency
  GIVEN 2 players in session
  AND network latency is 200ms
  WHEN Player 1 attacks Player 2
  THEN damage is applied correctly
  AND positions remain synchronized
  AND no desync occurs
  PRIORITY: P1
  CATEGORY: multiplayer
E2E Scenario Format

For player journey tests, use this extended format:

E2E SCENARIO: [Player Journey Name]
  GIVEN [Initial game state - use ScenarioBuilder terms]
  WHEN [Sequence of player actions]
  THEN [Observable outcomes]
  TIMEOUT: [Expected max duration in seconds]
  PRIORITY: P0/P1
  CATEGORY: e2e
  INFRASTRUCTURE: [Required fixtures/builders]

Example E2E Scenario:

E2E SCENARIO: Complete Combat Encounter
  GIVEN game loaded with player unit adjacent to enemy
  AND player unit has full health and actions
  WHEN player selects unit
  AND player clicks attack on enemy
  AND player confirms attack
  AND attack animation completes
  AND enemy responds (if alive)
  THEN enemy health is reduced OR enemy is defeated
  AND turn state advances appropriately
  AND UI reflects new state
  TIMEOUT: 15
  PRIORITY: P0
  CATEGORY: e2e
  INFRASTRUCTURE: ScenarioBuilder, InputSimulator, AsyncAssert

Step 4: Prioritize Test Coverage

Knowledge Base Reference: knowledge/test-priorities.md

PriorityCriteriaUnitIntegrationE2EManual
P0Ship blockers100%80%Core flowsSmoke
P1Major features90%70%Happy pathsFull
P2Secondary80%50%-Targeted
P3Edge cases60%--As needed

Risk-Based Ordering:

  1. Critical Path — Main gameplay loop
  2. Data Integrity — Save/load, progression
  3. Platform Requirements — Certification items
  4. User Experience — Feel, polish, accessibility

Step 5: Generate Test Design Document

Write {output_folder}/game-test-design.md using the test-design-template.md structure:

# Game Test Design: [Project Name]

## Overview

- Game type and core mechanics
- Target platforms
- Test scope and objectives

## Risk Assessment

- High-risk areas identified
- Mitigation strategies

## Test Categories

### Gameplay Tests

[Scenarios...]

### Progression Tests

[Scenarios...]

### Multiplayer Tests (if applicable)

[Scenarios...]

### Platform Tests

[Scenarios...]

## Coverage Matrix

| Feature | P0  | P1  | P2  | P3  |
| ------- | --- | --- | --- | --- |
| Combat  | 5   | 10  | 8   | 4   |
| ...     |     |     |     |     |

## Automation Strategy

- Unit test candidates
- Integration test candidates
- Manual-only scenarios

## Next Steps

1. Implement P0 tests
2. Set up CI integration
3. Plan playtesting sessions

Deliverables

  1. Test Design Document — {output_folder}/game-test-design.md
  2. Scenario List — Prioritized test scenarios
  3. Coverage Matrix — Feature vs priority breakdown
  4. Automation Recommendations — What to automate vs manual test

Output Summary

After completing, provide:

## Test Design Complete

**Project**: {project_name}
**Scenarios Created**: {count}
**Priority Breakdown**:

- P0 (Critical): {p0_count}
- P1 (High): {p1_count}
- P2 (Medium): {p2_count}
- P3 (Low): {p3_count}

**Focus Areas Covered**:

- Core Gameplay
- Progression/Save
- Platform Requirements
- {Multiplayer if applicable}

**Next Steps**:

1. Review scenarios with team
2. Use `automate` workflow to generate test code
3. Use `playtest-plan` for manual testing sessions

Validation

Refer to checklist.md for validation criteria.

On Complete

Run: uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow.on_complete

If the resolved workflow.on_complete is non-empty, follow it as the final terminal instruction before exiting.

Comments

Markdown supported