关于 Feel Lab
Feel Lab 根据探针写入的时间线评估 FPS 游戏手感,帮助开发者发现反馈缺失或延迟,无需运行游戏。它结合量化指标与需人工检查的清单项目。
主要功能
- 0182 项 FPS 手感清单
- 02时间线校验与指标评判
- 03延迟、同步、后坐与震动测量
- 04Markdown 报告与门禁行
- 05标准探针场景
适用场景
- 01查找射击或命中后的特效、声音缺失
- 02检查镜头响应与帧平滑度
- 03复核量化及需人工检查的清单项
MCP 相关
MCP 服务提供清单、场景和指标查询、时间线校验、时间线目录评判及门禁行导出工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
6收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| group | any | 否 | A 到 J;省略则表示全部 |
详细介绍
Feel Lab
一份经过测量的 FPS 手感检查清单:根据游戏的实际表现,检查玩家经历的每一次互动。
游戏手感,就是玩家按下按键后、看到游戏世界做出响应前的感受。开火时,枪口闪光、声音和后坐力应在同一帧出现;子弹击中墙壁时,应扬起灰尘、发出声音并留下弹孔;受到攻击时,视角应猛然一震,并显示攻击来自何处;近处的爆炸应比远处的爆炸带来更强烈的屏幕震动。只要少了某种反馈,或反馈来得太迟,游戏就会显得轻飘飘或粗制滥造,却没人说得清原因。
Feel Lab 将这些感受变成检查项。你游戏中的探针会运行标准场景,并写入一份时间线:记录每一帧的摄像机状态,以及每个声音、特效、痕迹和伤害事件的发生时间。Feel Lab 据此测量延迟、后坐力、震动、反馈完整度、匹配度和平滑度,并评判一份包含 82 项的检查清单。它不会运行你的游戏:任何引擎都可以写入时间线(docs/TIMELINE.md)。
检查清单
| 分组 | 项目数 | 可通过时间线测量的项目数 |
|---|---|---|
| A. 射击(自己的枪) | 19 | 9 |
| B. 命中(子弹命中目标) | 15 | 6 |
| C. 受击(受到伤害) | 9 | 4 |
| D. 移动与角色身体 | 11 | 2 |
| E. 与世界互动 | 7 | 0 |
| F. 敌人(僵尸) | 5 | 0 |
| G. 爆炸、火焰与世界 | 5 | 1 |
| H. 声音混音 | 4 | 0 |
| I. 屏幕与舒适度 | 4 | 0 |
| J. 平滑度(帧率波动会破坏手感) | 3 | 1 |
时间线无法显示的项目(例如色盲选项、取消装弹的时机),会留给人工检查,并说明检查要点。运行 feellab checklist 可打印全部项目。
测量内容
| 测量项 | 示例 |
|---|---|
| 延迟 | 枪口闪光和声音在开火的那一帧出现;命中标记在命中后 50 ms 内出现 |
| 同步 | 枪声与枪口闪光相差不超过 45 ms(ITU-R BT.1359) |
| 后坐力 | 连射时摄像机至少转动 0.3 度,并在 0.6 s 内稳定下来 |
| 震动 | 5 m 外的爆炸会震动视角;50 m 外的爆炸带来的震动至少弱 3 倍 |
| 反馈完整度 | 每次撞击都有特效、声音和痕迹;每次射击都会抛出弹壳 |
| 节奏 | 脚步声符合行走步频(每分钟约 100 步或更快);头部会上下晃动 |
| 平滑度 | 枪击或爆炸前后,不会出现时长达到中位帧时长两倍的帧 |
每条规则都会注明依据。依据游戏实践而非证据制定的范围,会标记为估算值。
试用
pip install feellab-mcp
feellab demo demo
feellab judge demo
演示会为两个虚构游戏生成时间线:“Juicy”通过所有可测量项目;“Bare”(子弹命中位置只有一个调试点、没有屏幕震动、脚步声无声)有 17 项不合格。
在游戏中使用
- 让你的探针游玩
src/feellab/data/scenes.json中的场景,并为每个场景编写一条时间线 (docs/TIMELINE.md)。包装启动声音和特效的调用,让每次调用都记录时间;标记那些自身没有声音或特效的时刻(射击、撞击、命中标记、受伤、踉跄)。 - 在场景中的起因(射击、命中、爆炸)发生前录制一帧摄像机画面:后坐力和踉跄都以此为基准进行测量。
- 尽可能添加标签(
"tags": ["muzzle"])。如果资源名称无法说明声音或特效的用途,就在时间线旁放置一个feel_rules.json:{"dry": "slidelock"}会告诉 Feel Lab,名称中带有滑套锁的声音,是空枪时发出的咔哒声。 - 使用
feellab judge <folder>,或使用gate_rows生成关卡所需内容。
首个使用它的游戏 ToangTown 在四把枪上发现了 52 个未通过的案例:子弹落点处出现调试点、没有任何镜头晃动、没有血迹、没有脚步声、攀爬后无法下来、第一枪卡顿。
工具
| 工具 | 功能 |
|---|---|
list_checklist | 按组列出的检查清单:玩家应获得、测量或由真人提供的内容。 |
list_scenes | 探针会游玩的标准场景。 |
list_metrics | 每项指标的场景、单位、规则和来源。 |
check_timeline | 根据约定检查时间线文件。 |
judge_folder | 对文件夹中的时间线进行评判:列出每项的数值和结论,并生成 Markdown 报告。 |
gate_rows | 将指标生成为关卡所需的行(Weapon Lab 的行格式)。 |
{"mcpServers": {"feellab": {"command": "feellab-mcp"}}}
FEELLAB_OUT 是 Feel Lab 唯一写入的文件夹(存放报告);默认值为 ~/.feellab。
起源
Feel Lab 是为 ToangTown 开发的。ToangTown 是一款使用 Unreal 5.8 制作的合作僵尸 FPS 游戏;Feel Lab 与 Weapon Lab (weaponlab-mcp)一同开发,后者的 Gate 可以将 Feel Lab 的行作为案例进行评判。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。