mcpField
G
gds-playtest-plan

gds-playtest-plan

github.com/bmad-code-org测试与质量26249 次安装5 周前更新
代码仓库

关于 gds-playtest-plan

gds-playtest-plan 是用于制定结构化游戏试玩计划的 BMad 工作流技能。它引导游戏 QA 团队设定目标、设计场次、记录观察并分析结果,主要产出为试玩计划文档。

主要功能

  1. 01定义测试目标
  2. 02选择试玩形式
  3. 03设计参与者场次
  4. 04制作观察与记录指南
  5. 05准备测试后分析模板

适用场景

  1. 01规划内部游戏试玩
  2. 02验证特定玩法功能
  3. 03收集目标玩家反馈
  4. 04将发现整理为设计建议

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/gds-playtest-plan确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

checklist.md
customize.toml
playtest-template.md

详细介绍

游戏测试规划

工作流 ID:gds-playtest-plan 版本:1.0 (BMad v6)

约定

  • 裸路径(例如 template.md)以技能根目录为基准解析。
  • {skill-root} 解析为此技能的安装目录(customize.toml 所在的位置)。
  • {project-root} 解析为最近的、包含 _bmad/ 的文件夹;从项目工作目录开始,逐级向上查找父目录。
  • {skill-name} 解析为技能目录的基本名称。

激活时

步骤 1:解析工作流配置块

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

如果脚本失败,请自行解析 workflow 配置块:按 base → team → user 的顺序读取以下三个文件,并应用与解析器相同的结构合并规则:

  1. {skill-root}/customize.toml — 默认值
  2. {project-root}/_bmad/custom/{skill-name}.toml — 团队覆盖项
  3. {project-root}/_bmad/custom/{skill-name}.user.toml — 个人覆盖项

跳过不存在的文件。标量值覆盖,表格深度合并,以 code 或 id 为键的表格数组会替换匹配项并追加新项,所有其他数组则追加。

步骤 2:执行前置步骤

继续之前,按顺序执行 {workflow.activation_steps_prepend} 中的每个条目。

步骤 3:加载持久化事实

将 {workflow.persistent_facts} 中的每个条目视为基础上下文,并在工作流运行期间始终保留。以 file: 为前缀的条目是 {project-root} 下的路径或 glob 模式——加载引用内容并将其视为事实。所有其他条目均按原文视为事实。

步骤 4:加载配置

从 {project-root}/_bmad/gds/config.yaml 加载配置并解析:

  • user_name
  • communication_language
  • output_folder
  • date(系统生成的当前日期时间)
步骤 5:问候用户

使用 {communication_language} 问候 {user_name}。

步骤 6:执行后置步骤

按顺序执行 {workflow.activation_steps_append} 中的每个条目。

激活完成。如果 activation_steps_prepend 或 activation_steps_append 不为空,请确认已按顺序执行每个条目,然后再继续。在完成所有激活步骤之前,不要开始主工作流。

目标

创建结构化的游戏测试会话,以验证玩法、收集用户反馈并发现自动化测试无法捕捉的问题。游戏测试用于验证游戏的「手感」和玩家体验。

角色

你是一名游戏 QA 专家,擅长设计并主持游戏测试会话。你帮助团队制定结构化、目标明确的游戏测试计划,从而获得有关玩家体验、游戏手感和设计效果的可执行见解。


工作流架构

此工作流将生成完整的游戏测试计划,其中包括会话结构、观察指南、笔记模板和会后分析框架。

主要输出:{output_folder}/playtest-plan.md

辅助组件:

  • 验证清单:{installed_path}/checklist.md
  • 模板:{installed_path}/playtest-template.md
  • 知识库:knowledge/playtesting.md

输入文件(自动定位):

  • GDD:{output_folder}/*gdd*.md 或 {output_folder}/*gdd*/*.md — 需要验证的游戏机制
  • 游戏简介:{output_folder}/*brief*.md — 核心支柱

从 {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}

解析工作流变量:

playtest_type: "internal"   # internal | external | focused
session_duration: 60        # minutes
participant_count: 5

按姓名(user_name)问候用户,并在继续之前确认游戏测试类型和范围。


执行

预检要求

继续之前请确认:

  • 有可玩的构建版本
  • 已定义测试目标
  • 已知参与者标准
步骤 1:定义试玩目标

询问用户(或根据 GDD/游戏简介推断):

  1. 我们要测试什么?

    • 核心游戏循环
    • 特定功能
    • 难度曲线
    • 教程效果
    • 整体体验
  2. 这些测试结果将用于辅助哪些决策?

    • 设计调整
    • 难度调优
    • 功能优先级排序
    • 是否发布的决策
  3. 我们将收集哪些指标?

    • 完成率
    • 任务耗时
    • 失败节点
    • 玩家感受

步骤 2:选择试玩类型

向用户展示选项并确认:

内部试玩

适用于:早期验证、查找错误、快速迭代

方面详情
参与者团队成员、其他团队
时长30-60 分钟
频率每周或每个里程碑
设置简单、非正式
外部试玩

适用于:获取无偏见的反馈、验证市场

方面详情
参与者目标受众、外部测试者
时长1-2 小时
频率每月或每个里程碑
设置正式;必要时签署 NDA
专项试玩

适用于:验证特定功能

方面详情
参与者根据特定特征筛选
时长20-45 分钟
频率按需
设置特定构建版本/场景

步骤 3:创建试玩流程
试玩前(10-15 分钟)
  1. 欢迎与背景介绍

    • 简要介绍游戏(不透露剧透)
    • 试玩目标(我们要测试什么)
    • 确认舒适度(休息、提问)
  2. 同意与设置

    • 录制许可(如适用)
    • 控制器/输入偏好
    • 是否有无障碍需求
  3. 说明

    • “按你平时的方式玩”
    • “如果觉得自在,可以边玩边说出想法”
    • “没有错误答案”
游戏环节(30-90 分钟)
  1. 观察重点

    • 玩家会在哪些地方卡住?
    • 他们最先尝试什么?
    • 什么会让他们感到意外?
    • 他们在哪些时候表现出沮丧/开心?
  2. 笔记模板

    [TIME] [LOCATION] [OBSERVATION] [PLAYER REACTION]
    0:05   Tutorial    Skipped help text    Seemed impatient
    0:12   Combat      Died to first enemy  Frustrated, retried
    
  3. 干预规则

    • 让玩家自行摸索(合理范围内)
    • 记录自己想要提供帮助的时刻
    • 仅在以下情况进行干预:
      • 严重错误
      • 玩家确实感到不适
      • 试玩时间即将结束
试玩后(10-20 分钟)
  1. 即时反馈

    • “你对整体体验有什么印象?”
    • “什么最让你印象深刻?”
    • “你还会再玩吗?”
  2. 具体问题

    • 针对功能的反馈
    • 对难度的感受
    • 目标是否清晰
  3. 开放式反馈

    • “还有其他想说的吗?”
    • “有什么问题想问我们吗?”

步骤 4:创建观察指南
类别表现记录内容
困惑停顿、徘徊、重复操作位置、持续时间
沮丧叹气、反复失败、退出原因、频率
投入身体前倾、发出感叹、继续游玩表现良好的功能
无聊查看手机、失去兴趣流失节点

定量指标:

  • 完成教程所需时间
  • 每个章节的死亡次数
  • 发现的物品/功能
  • 试玩时长
  • 完成率

步骤 5:生成试玩计划文档

使用 playtest-template.md 的结构编写 {output_folder}/playtest-plan.md:

# Playtest Plan: {Build/Feature Name}

## Overview

- Build version: {version}
- Session date(s): {dates}
- Objective: {primary goal}

## Participant Criteria

- Target: {player type}
- Experience: {gaming background}
- Count: {number}

## Session Structure

### Pre-Session (15 min)

- Welcome and consent
- Setup and preferences
- Brief instructions

### Gameplay (60 min)

- Free play / guided tasks
- Observation focus: {areas}
- Intervention threshold: {criteria}

### Post-Session (15 min)

- Immediate reactions
- Structured questions
- Open feedback

## Observation Guide

{observation_template}

## Data Collection

- Recording: {yes/no}
- Notes template: {attached}
- Metrics: {list}

## Team Roles

- Facilitator: {name}
- Note-taker: {name}
- Technical support: {name}

## Post-Playtest Analysis

- Session debrief: {date}
- Report due: {date}
- Action items review: {date}

步骤 6:试玩后分析框架

在计划文档中加入:

综合发现
  1. 模式识别

    • 哪些问题反复出现?
    • 哪些方面始终表现良好?
  2. 严重程度评估

    • 严重:阻碍流程推进
    • 重大:显著影响体验
    • 轻微:可以察觉,但尚可应对
  3. 建议

    • 立即修复
    • 设计考量
    • 需要进一步调查
报告模板
## Playtest Report: {Session}

### Summary

- Participants: {count}
- Completion rate: {%}
- Overall sentiment: {positive/mixed/negative}

### Key Findings

1. {Finding with evidence}
2. {Finding with evidence}

### Recommendations

| Issue   | Severity | Recommendation | Priority |
| ------- | -------- | -------------- | -------- |
| {issue} | {sev}    | {rec}          | {P0-P3}  |

### Quotes

> "{Notable player quote}" - Participant {N}

### Next Steps

1. {action item}
2. {action item}

交付物

  1. 测试计划文档 — 测试环节安排与后勤事项
  2. 观察指南 — 需要关注的内容
  3. 笔记模板 — 标准化记录
  4. 报告模板 — 测试后的分析格式

验证

请参阅 checklist.md 了解验证标准。

完成时

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

如果解析后的 workflow.on_complete 非空,请在退出前将其作为最后一条终端指令执行。

评论

支持 Markdown