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分の1になること
存在感すべての着弾にエフェクト、音、痕跡があること。発射した弾ごとに薬きょうが排出されること
リズム歩行時のペース(1分あたり約100歩以上)で足音が鳴ること。頭部が上下に揺れること
滑らかさ銃撃や爆発の前後に、フレーム時間が中央値の2倍になるフレームがないこと

各ルールには根拠が記載されています。証拠ではなくゲーム開発の慣習に基づく範囲には、推定値であることが明記されています。

試してみる

pip install feellab-mcp
feellab demo demo
feellab judge demo

デモでは、架空の2つのゲームのタイムラインを書き出します。「Juicy」は測定可能なすべての項目に合格します。「Bare」(弾の着弾地点にデバッグ用の点が表示されるだけで、揺れはなく、足音も無音)は17項目で不合格になります。

ゲームで使う

  1. プローブに src/feellab/data/scenes.json のシーンをプレイさせ、それぞれのタイムラインを1つずつ作成します (docs/TIMELINE.md)。サウンドやエフェクトを開始する呼び出しをラップし、それぞれが発生した時刻を記録します。また、独自のサウンドやエフェクトがない瞬間(発砲、衝撃、ヒットマーカー、ダメージ、ひるみ)にも印を付けます。
  2. シーンの原因となる出来事(発砲、被弾、爆発)の前にカメラフレームを記録します。キックとひるみはこのフレームを基準に計測します。
  3. 可能なものにタグを付けます("tags": ["muzzle"])。アセット名からサウンドやエフェクトの用途が分からない場合は、タイムラインと同じ場所に feel_rules.json を置きます。{"dry": "slidelock"} と指定すると、Feel Lab はスライドロックにちなんだ名前のサウンドが、弾切れした銃のクリック音であると認識します。
  4. 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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。