2026-11-07 JST ・ mac2 ・ Claude Code(Opus 5.5)+ Godot 4.7.2
ゲーム開発スキル試験
ネットで見つけたゲーム開発向けスキル6本を、同じお題で「スキルなし」と並べて作らせ、出来・手間・中身の正しさを比べました。
丸ごと入れる価値のあるスキルはありませんでした。出来はスキルなしと同じで、手間だけ 1.3〜1.6 倍に増え、中には Godot 4.7.2 で動かない記述も混じっていました。
- 6本とも合格条件をすべて満たし、わざと入れたバグ3種類もすべてのテストが見抜きました。出来に差はありません。
- スキルありは読む量が増え、使ったトークンが基準の 1.27〜1.64 倍になりました。
- 役に立ったのは一部の断片だけです(プラットフォーマーの部品、確認の手順、入力のタイミングの注意)。拾った知見は下の「拾えた知見」にまとめ、ハンドブックに書き足しました。
- 結論:新しく常設はしない。今の
gamedev-handbook(必要な資料だけ読む方式)を続け、GD-Agentic-Skills のプラットフォーマー部品だけ「試用」として控えておく。
Godot スキル集の比較
お題:2D プラットフォーマーの操作感(加減速・コヨーテタイム 0.10 秒・先行入力 0.12 秒・可変ジャンプ・一方通行の足場から降りる)と、それを確かめる自動テスト4項目。各1回ずつの試行です。
| スキル | 判定 | トークン(基準比) | 道具の呼出 | 所要 | やり直し | 合格条件 | わざと入れたバグ | スキル内の誤り |
| スキルなし(基準) | — | 82k ×1.00 | 7 | 4分24秒 | 1 | 3/3 | 3/3 検出 | — |
| vl4dt/godot-skills | 外す | 135k ×1.64 | 19 | 4分52秒 | 0 | 3/3 | 3/3 検出 | 多い(実行で8件) |
| jame581/GodotPrompter | 保留 | 132k ×1.60 | 24 | 6分36秒 | 1 | 3/3 | 3/3 検出 | 設計の弱さ2件 |
| thedivergentai/GD-Agentic-Skills | 試用 | 128k ×1.55 | 21 | 5分49秒 | 0 | 3/3 | 3/3 検出 | ひな形の破損・数値の食い違い |
| Randroids-Dojo/Godot-Claude-Skills | 保留 | 107k ×1.30 | 21 | 5分13秒 | 1 | 3/3 | 3/3 検出 | 4.3 のまま・終了コードの落とし穴 |
| HermeticOrmus/claude-code-game-development | 外す | 105k ×1.27 | 13 | 3分51秒 | 2 | 3/3 | 3/3 検出 | シグナルの説明が誤り・作例が看板と違う |
「わざと入れたバグ」は、出来上がったプレイヤーの値を書き換えて(コヨーテ 0.5 秒/先行入力 0.5 秒/コヨーテ 0 秒)テストが失敗するかを、こちらで独立に確かめたものです。合格条件(読み込み・テスト・120フレーム起動でエラーなし)もこちらで再実行して確認しました。
スキルごとの所見
vl4dt/godot-skills
外す
23スキル ・ MIT ・ 最終更新 2026-08-25
使えた
- ヘッドレスでの確認の順番(import → check-only → テスト → 起動)と、SceneTree でテストを書く形。
問題
move_and_snap()・move_teleport() など 4.7.2 に無い関数、direct_space という存在しないプロパティが載っている。
- CharacterBody3D の中で
velocity を再宣言してパースエラー。作例のシーンも読み込めない書式。
- コード例のクラス名をエンジンと照合すると
HTTPServer・ParticleMaterial・DynamicFont など Godot 3 の名残が残る。案内先の参考資料も実在しない。
GodotPrompter
保留
60スキル ・ MIT ・ 最終更新 2026-10-24
使えた
- 入口スキルの振り分け表で、読む場所がすぐ決まる。
- コヨーテ・先行入力・可変ジャンプの基本形。「just_pressed は次の物理フレームで拾われる」という注意は正しく、テストの失敗原因を当てた。
問題
- ジャンプ条件が「先行入力 かつ コヨーテ」なので、どちらかを 0 にするとジャンプ自体ができなくなる。
- 止まっていると足場の種類が判定できない作り。一方通行の足場から降りる手順も無い。テストは GUT / gdUnit4 前提のみ。
GD-Agentic-Skills
試用
184スキル(Bevy含む)・ LGPL-3.0 ・ 39MB ・ 最終更新 2026-10-16
使えた
- ジャンプの高さと時間から初速・重力を逆算するプラットフォーマー部品、衝突マスクを一時的に外して降りる処理。そのまま骨組みになった。
- 「接地中は重力をかけない」「タイマーを == 0 で比べない」などの禁止事項。
問題
- 入力マップのひな形が独自の疑似書式で、
project.godot に入れると読み込み失敗(error code 43)。
- コヨーテ・先行入力の値やアクション名がスキル同士で食い違う。テスト用スクリプトは中身が空で常に合格を返す。
- 量が多く、全部入れると読む負担が大きい。残すなら characterbody-2d と genre-platformer の2本だけ。
Randroids Godot skill
保留
1スキル ・ MIT ・ 最終更新 2026-01-19
使えた
- テストの前後処理・入力の真似・終了コードで合否を返す形。アドオン無しでも考え方は流用できた。
問題
- GdUnit4 と、独自ビルドの Godot が要る PlayGodot が前提。例は Godot 4.3 のまま。
- 「終了コードが 0 以外なら失敗」とだけ書いてあり、スクリプトの読み込み失敗でも exit 0 になる落とし穴に触れていない。CI 例の
|| true は失敗を握りつぶす。
- GdUnit4 を入れる案件が出たら、そのとき読み直す。
HermeticOrmus game plugins
外す
ゲーム系22+一般65プラグイン ・ MIT ・ 最終更新 2026-10-04
使えた
- 衝突レイヤーを定数クラスにまとめる、入力をイベントで受ける、程度。
問題
- 「シグナルは既定で遅れて届く」と書いてあるが、4.7.2 で確かめると emit の直後に受け取り側は終わっている(誤り)。
- 「加減速・可変ジャンプ」をうたう作例が、実際は速度を直接代入しているだけ。先行入力は1フレーム短くなる書き方。
- Kubernetes や Python など、ゲームと関係の無いプラグインが大半。
今回は対象外
導入済み
awesome-gamedev-agent-skills ・ htdt/godogen
- awesome-gamedev-agent-skills:すでに
gamedev-handbook として全PCに入っていて、使うたびに評価を記録している(save-systems・input-systems は残す判定)。
- godogen:11/5 に Coin Dash(kh-godogen-20261105)で試した跡があるため今回は再検証していない。素材生成スキルは手元の GPU 前提。
ブラウザゲームのテストプレイ(OpenAI game-playtest)
OpenAI 公式の game-studio プラグインに入っている点検手順のスキルを、公開中の「峠の刷り版」(touge03.realnuun.com)で試しました。iPhone 13 相当の WebKit をヘッドレスで動かし、音を消し、タッチで遊ばせています。
スキルあり
保留
145k トークン ・ 27回 ・ 6分25秒 ・ 指摘 4件
- 問題を重い順に「見え方/再現/理由/担当部分」で並べる報告の形は読みやすい。
- 「タッチとPCで入力の仕方が違う」項目から、A案の電池切れの原因(タッチだと常に自動加速で約8倍減る)まで掘れた。
- 中身は 3D とデスクトップ寄りで、押しやすいボタンの大きさなどスマホの項目は自分で補う必要があった。
スキルなし
基準
130k トークン ・ 25回 ・ 9分02秒 ・ 指摘 6件
- 重い問題2つ(A案の電池切れ、小さく隣り合った「↺」「題」)はスキルありと同じものを見つけた。
- 加えて、選択中のカードを押すとすぐ出発してしまう、日没後の文言が食い違う、説明の札が景色を隠す、を見つけた。
- 原因の深さはスキルありに一歩譲る。
判定:報告の形だけ借りれば足りるので、常設はしない。両方で見つかった峠の刷り版の問題(A案は序盤で電池が切れて止まりそうになる、走行中のボタンが約26pxと小さく確認なしでやり直しになる)は、本人の「陽を走る △ すぐ止まって面白くない」という感想と一致しています。
拾えた知見
Godot はテストのスクリプトが壊れていても exit 0 で終わる
godot --headless --script test.gd は、パースエラーで読み込めなくても終了コード 0。4.7.2 でこちらでも再現しました。テストの合否は終了コードだけでなく、最後の「PASS」行が出たかと、出力に SCRIPT ERROR が無いかで判定します。
ジャンプ条件は「(押した瞬間 か 先行入力が残る)かつ(接地 か コヨーテが残る)」
よくある「先行入力 > 0 かつ コヨーテ > 0」の書き方だと、片方の時間を 0 にした途端にジャンプできなくなります。調整で 0 を試すと壊れます。
テストで押した入力は次の物理フレームで届く
Input.action_press の直後のフレームで判定すると失敗します。物理フレームを1〜2回進めてから確かめます。
テストの強さは「わざと壊して落ちるか」で測る
今回の6本はすべて、値を壊すと該当テストが失敗しました。スキルの有無よりも、この確かめ方を毎回入れるほうが効きます。
やり方
- 6人のエージェントに同じお題を渡し、1人はスキルなし、5人はそれぞれのスキル集を読んでから作らせました。Web 検索とダウンロードは禁止、画面付きの起動も禁止です。
- 落としたスキルは読むだけにして、中のスクリプトは実行していません。
- 出来上がったものは、こちらで読み込み・テスト・起動をやり直し、値を書き換えたコピーでテストが落ちるかを確かめました。
- スキル内のコード例に出てくるクラス名を Godot 4.7.2 の ClassDB と機械的に照合しました(アドオンや自作のクラスは除外)。
- 各スキル1回ずつの試行なので、トークンや時間の差は目安です。