关于 gds-playtest-plan
gds-playtest-plan 是用于制定结构化游戏试玩计划的 BMad 工作流技能。它引导游戏 QA 团队设定目标、设计场次、记录观察并分析结果,主要产出为试玩计划文档。
主要功能
- 01定义测试目标
- 02选择试玩形式
- 03设计参与者场次
- 04制作观察与记录指南
- 05准备测试后分析模板
适用场景
- 01规划内部游戏试玩
- 02验证特定玩法功能
- 03收集目标玩家反馈
- 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.mdcustomize.tomlplaytest-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 的顺序读取以下三个文件,并应用与解析器相同的结构合并规则:
{skill-root}/customize.toml— 默认值{project-root}/_bmad/custom/{skill-name}.toml— 团队覆盖项{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_namecommunication_languageoutput_folderdate(系统生成的当前日期时间)
步骤 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/游戏简介推断):
-
我们要测试什么?
- 核心游戏循环
- 特定功能
- 难度曲线
- 教程效果
- 整体体验
-
这些测试结果将用于辅助哪些决策?
- 设计调整
- 难度调优
- 功能优先级排序
- 是否发布的决策
-
我们将收集哪些指标?
- 完成率
- 任务耗时
- 失败节点
- 玩家感受
步骤 2:选择试玩类型
向用户展示选项并确认:
内部试玩
适用于:早期验证、查找错误、快速迭代
| 方面 | 详情 |
|---|---|
| 参与者 | 团队成员、其他团队 |
| 时长 | 30-60 分钟 |
| 频率 | 每周或每个里程碑 |
| 设置 | 简单、非正式 |
外部试玩
适用于:获取无偏见的反馈、验证市场
| 方面 | 详情 |
|---|---|
| 参与者 | 目标受众、外部测试者 |
| 时长 | 1-2 小时 |
| 频率 | 每月或每个里程碑 |
| 设置 | 正式;必要时签署 NDA |
专项试玩
适用于:验证特定功能
| 方面 | 详情 |
|---|---|
| 参与者 | 根据特定特征筛选 |
| 时长 | 20-45 分钟 |
| 频率 | 按需 |
| 设置 | 特定构建版本/场景 |
步骤 3:创建试玩流程
试玩前(10-15 分钟)
-
欢迎与背景介绍
- 简要介绍游戏(不透露剧透)
- 试玩目标(我们要测试什么)
- 确认舒适度(休息、提问)
-
同意与设置
- 录制许可(如适用)
- 控制器/输入偏好
- 是否有无障碍需求
-
说明
- “按你平时的方式玩”
- “如果觉得自在,可以边玩边说出想法”
- “没有错误答案”
游戏环节(30-90 分钟)
-
观察重点
- 玩家会在哪些地方卡住?
- 他们最先尝试什么?
- 什么会让他们感到意外?
- 他们在哪些时候表现出沮丧/开心?
-
笔记模板
[TIME] [LOCATION] [OBSERVATION] [PLAYER REACTION] 0:05 Tutorial Skipped help text Seemed impatient 0:12 Combat Died to first enemy Frustrated, retried -
干预规则
- 让玩家自行摸索(合理范围内)
- 记录自己想要提供帮助的时刻
- 仅在以下情况进行干预:
- 严重错误
- 玩家确实感到不适
- 试玩时间即将结束
试玩后(10-20 分钟)
-
即时反馈
- “你对整体体验有什么印象?”
- “什么最让你印象深刻?”
- “你还会再玩吗?”
-
具体问题
- 针对功能的反馈
- 对难度的感受
- 目标是否清晰
-
开放式反馈
- “还有其他想说的吗?”
- “有什么问题想问我们吗?”
步骤 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:试玩后分析框架
在计划文档中加入:
综合发现
-
模式识别
- 哪些问题反复出现?
- 哪些方面始终表现良好?
-
严重程度评估
- 严重:阻碍流程推进
- 重大:显著影响体验
- 轻微:可以察觉,但尚可应对
-
建议
- 立即修复
- 设计考量
- 需要进一步调查
报告模板
## 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}
交付物
- 测试计划文档 — 测试环节安排与后勤事项
- 观察指南 — 需要关注的内容
- 笔记模板 — 标准化记录
- 报告模板 — 测试后的分析格式
验证
请参阅 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 非空,请在退出前将其作为最后一条终端指令执行。