
Feel Lab
io.github.hpdkhoa由 GitHub 帳號 hpdkhoa 發布v0.1.0更新於 Oct 24, 2026
An FPS feel checklist, measured from a timeline any game's probe can write
概覽
依據探針寫出的時間軸評判 FPS 手感,以 82 項清單檢查延遲、後座、震動與影音同步。
- 可以做什麼
- 依分組列出 82 項手感清單,標明哪些可量測、哪些需人工判斷
- 列出探針應遊玩的標準場景,以及各項指標的單位、規則與來源
- 依約定驗證時間軸檔案
- 評判整個時間軸資料夾,給出每項數值與結論並產生 Markdown 報告
- 把指標匯出為 Weapon Lab 列格式,供閘門使用
- 適用情境
- 適合開發第一人稱射擊遊戲的團隊,想以客觀、可重複的檢查取代主觀試玩印象,評估射擊、命中、受傷、爆炸與移動的手感。前提是遊戲已有能記錄相機影格及聲音、特效、傷害事件的探針。
- 執行需求
- 以 Python 套件形式在本機執行(pip install feellab-mcp),透過 stdio 通訊。它本身不執行遊戲,需要探針遊玩標準場景並寫出時間軸檔案,可選附上標籤與 feel_rules.json。報告只寫入 FEELLAB_OUT 指定的資料夾,預設為 ~/.feellab。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Feel Lab,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Feel Lab
An FPS feel checklist, measured: every interaction a player has, checked from what the game really did.
[license: MIT] [Python 3.10+] [PyPI: feellab-mcp] [MCP Registry: feellab-mcp] [checklist: 82 interactions] [tools: 6] [timeline contract: v1]
Game feel is what a player feels between pressing a key and seeing the world answer. A shot should flash, sound and kick on the same frame; a round striking a wall should throw dust, make a sound and leave a hole; a hit taken should jerk the view and show where it came from; a blast nearby should shake the screen more than one far away. When one answer is missing or late, the game feels floaty or cheap, and nobody can say why.
Feel Lab turns that into checks. Your game's probe plays standard scenes and writes a timeline: the camera every frame, and every sound, effect, mark and damage event with its time. Feel Lab measures latency, kick, shake, presence, match and smoothness from it, and judges each item of an 82-item checklist. It never runs your game: any engine can write the timeline (docs/TIMELINE.md).
The checklist
Items no timeline can show (a colour-blind option, a reload cancel's timing) are left for a person, with what to
look for. feellab checklist prints them all.
What it measures
Every rule names its source. A range from game practice rather than evidence is marked as an estimate.
Try it
The demo writes timelines for two made-up games: "Juicy" passes every measured item; "Bare" (a debug dot where a round lands, no shake, silent steps) fails 17.
Use it in your game
- Have your probe play the scenes in
src/feellab/data/scenes.jsonand write one timeline each (docs/TIMELINE.md). Wrap the calls that start sounds and effects so each is recorded with its time; note the moments with no sound or effect of their own (a shot, an impact, a hit marker, damage, a flinch). - Record a camera frame before the scene's cause (a shot, a hit, a blast): kick and flinch are measured from it.
- Tag what you can (
"tags": ["muzzle"]). Where your asset names do not say what a sound or effect is for, put afeel_rules.jsonbeside the timelines:{"dry": "slidelock"}tells Feel Lab that a sound named after a slide lock is the click of an empty gun. feellab judge <folder>, orgate_rowsfor a gate.
The first game to use it (ToangTown) found 52 failing cases on four guns: a debug dot where a round lands, no shake anywhere, no blood, no footsteps, a climb that never comes back, a stall on the first shot.
Tools
FEELLAB_OUT is the only folder Feel Lab writes to (its reports); ~/.feellab by default.
Where it came from
Feel Lab was built for ToangTown, an Unreal 5.8 co-op zombie FPS, next to Weapon Lab (weaponlab-mcp), whose Gate can judge Feel Lab's rows as cases.
License
MIT
來源:README.md,提交 437580a
工具
0版本歷史
1- v0.1.0最新Oct 15, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分