mcpField
F
Feel Lab

Feel Lab

本地服务
github.com/hpdkhoa开发工具12 周前更新

关于 Feel Lab

Feel Lab 根据探针写入的时间线评估 FPS 游戏手感,帮助开发者发现反馈缺失或延迟,无需运行游戏。它结合量化指标与需人工检查的清单项目。

主要功能

  1. 0182 项 FPS 手感清单
  2. 02时间线校验与指标评判
  3. 03延迟、同步、后坐与震动测量
  4. 04Markdown 报告与门禁行
  5. 05标准探针场景

适用场景

  1. 01查找射击或命中后的特效、声音缺失
  2. 02检查镜头响应与帧平滑度
  3. 03复核量化及需人工检查的清单项

MCP 相关

MCP 服务提供清单、场景和指标查询、时间线校验、时间线目录评判及门禁行导出工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"hpdkhoa-feellab": {
"command": "uvx",
"args": [
"feellab-mcp"
],
"env": {
"FEELLAB_OUT": "<FEELLAB_OUT>"
}
}
}
}
启动命令uvx feellab-mcp
需要配置的环境变量
FEELLAB_OUTThe only folder Feel Lab writes to (its reports); defaults to ~/.feellab

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypifeellab-mcp0.1.0

工具

6

收录的工具列表 · 更新于 2 周前

参数类型必填说明
groupany否A 到 J;省略则表示全部

详细介绍

Feel Lab

一份经过测量的 FPS 手感检查清单:根据游戏的实际表现,检查玩家经历的每一次互动。

许可证:MIT Python 3.10+ PyPI:feellab-mcp MCP Registry:feellab-mcp 检查清单:82 项互动 工具:6 时间线规范:v1

游戏手感,就是玩家按下按键后、看到游戏世界做出响应前的感受。开火时,枪口闪光、声音和后坐力应在同一帧出现;子弹击中墙壁时,应扬起灰尘、发出声音并留下弹孔;受到攻击时,视角应猛然一震,并显示攻击来自何处;近处的爆炸应比远处的爆炸带来更强烈的屏幕震动。只要少了某种反馈,或反馈来得太迟,游戏就会显得轻飘飘或粗制滥造,却没人说得清原因。

Feel Lab 将这些感受变成检查项。你游戏中的探针会运行标准场景,并写入一份时间线:记录每一帧的摄像机状态,以及每个声音、特效、痕迹和伤害事件的发生时间。Feel Lab 据此测量延迟、后坐力、震动、反馈完整度、匹配度和平滑度,并评判一份包含 82 项的检查清单。它不会运行你的游戏:任何引擎都可以写入时间线(docs/TIMELINE.md)。

检查清单

分组项目数可通过时间线测量的项目数
A. 射击(自己的枪)199
B. 命中(子弹命中目标)156
C. 受击(受到伤害)94
D. 移动与角色身体112
E. 与世界互动70
F. 敌人(僵尸)50
G. 爆炸、火焰与世界51
H. 声音混音40
I. 屏幕与舒适度40
J. 平滑度(帧率波动会破坏手感)31

时间线无法显示的项目(例如色盲选项、取消装弹的时机),会留给人工检查,并说明检查要点。运行 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 项不合格。

在游戏中使用

  1. 让你的探针游玩 src/feellab/data/scenes.json 中的场景,并为每个场景编写一条时间线 (docs/TIMELINE.md)。包装启动声音和特效的调用,让每次调用都记录时间;标记那些自身没有声音或特效的时刻(射击、撞击、命中标记、受伤、踉跄)。
  2. 在场景中的起因(射击、命中、爆炸)发生前录制一帧摄像机画面:后坐力和踉跄都以此为基准进行测量。
  3. 尽可能添加标签("tags": ["muzzle"])。如果资源名称无法说明声音或特效的用途,就在时间线旁放置一个 feel_rules.json:{"dry": "slidelock"} 会告诉 Feel Lab,名称中带有滑套锁的声音,是空枪时发出的咔哒声。
  4. 使用 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。