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分の1になること |
| 存在感 | すべての着弾にエフェクト、音、痕跡があること。発射した弾ごとに薬きょうが排出されること |
| リズム | 歩行時のペース(1分あたり約100歩以上)で足音が鳴ること。頭部が上下に揺れること |
| 滑らかさ | 銃撃や爆発の前後に、フレーム時間が中央値の2倍になるフレームがないこと |
各ルールには根拠が記載されています。証拠ではなくゲーム開発の慣習に基づく範囲には、推定値であることが明記されています。
試してみる
pip install feellab-mcp
feellab demo demo
feellab judge demo
デモでは、架空の2つのゲームのタイムラインを書き出します。「Juicy」は測定可能なすべての項目に合格します。「Bare」(弾の着弾地点にデバッグ用の点が表示されるだけで、揺れはなく、足音も無音)は17項目で不合格になります。
ゲームで使う
- プローブに
src/feellab/data/scenes.jsonのシーンをプレイさせ、それぞれのタイムラインを1つずつ作成します (docs/TIMELINE.md)。サウンドやエフェクトを開始する呼び出しをラップし、それぞれが発生した時刻を記録します。また、独自のサウンドやエフェクトがない瞬間(発砲、衝撃、ヒットマーカー、ダメージ、ひるみ)にも印を付けます。 - シーンの原因となる出来事(発砲、被弾、爆発)の前にカメラフレームを記録します。キックとひるみはこのフレームを基準に計測します。
- 可能なものにタグを付けます(
"tags": ["muzzle"])。アセット名からサウンドやエフェクトの用途が分からない場合は、タイムラインと同じ場所にfeel_rules.jsonを置きます。{"dry": "slidelock"}と指定すると、Feel Lab はスライドロックにちなんだ名前のサウンドが、弾切れした銃のクリック音であると認識します。 feellab judge <folder>を実行します。ゲートにはgate_rowsを使います。
これを最初に導入したゲーム(ToangTown)では、4種類の銃で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 は、Unreal 5.8製の協力型ゾンビFPSであるToangTown向けに、Weapon Lab (weaponlab-mcp)と並行して開発されました。Weapon LabのGateは、Feel Labの行をケースとして評価できます。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。