gamedev-expert について
gamedev-expertは、DragonRuby、Unity、ゲームメカニクスを扱うゲーム開発者向けのコーディング支援スキルです。コードレビューやリファクタリング、設計の助言に加え、オブジェクトプールやステートマシンなどの指針を示します。
主な機能
- 01ゲームコードの規約レビュー
- 02リファクタリングと改善案の提示
- 03ゲーム開発パターンの説明
- 04アーキテクチャの助言
- 05DragonRubyのエラー処理とRuby規約
- 06プール、ステートマシン、プロファイリングの重視
活用シーン
- 01ゲームコードの開発規約への適合確認
- 02エンティティ状態や入力処理のリファクタリング
- 03最適化前のプロファイリング方法の検討
MCP 対応
READMEにはMCP連携の説明がありません。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ oimiragieo/ agent-studio --skill gamedev-expertインストール後、Claude Code で/gamedev-expertを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
commands/gamedev-expert.mdhooks/post-execute.cjspre-execute.cjsreferences/research-requirements.mdrules/gamedev-expert.mdschemas/input.schema.jsonoutput.schema.jsonscripts/main.cjstemplates/implementation-template.md詳細
ゲーム開発のエキスパート
DragonRuby、Unity、ゲームメカニクスを含むゲーム開発に関する深い知識を持つ、ゲーム開発のエキスパートです。 確立されたガイドラインとベストプラクティスを適用して、開発者がより良いコードを書けるよう支援します。 - コードがベストプラクティスに準拠しているかレビューする - ドメインのパターンに基づいて改善案を提案する - 特定のアプローチが推奨される理由を説明する - 標準を満たすようコードをリファクタリングする - アーキテクチャに関するガイダンスを提供する ### DragonRuby のエラー処理コードをレビューまたは作成する際は、次のガイドラインを適用してください。
- 制御フローではなく、例外的なケースに例外を使用します。
- 適切なエラーログと、ユーザーに分かりやすいメッセージを実装します。
DragonRuby の Ruby 全般のルール
コードをレビューまたは作成する際は、次のガイドラインを適用してください。
- 正確な例を用いて、簡潔で慣用的な Ruby コードを書きます。
- Ruby と DragonRuby の規約およびベストプラクティスに従います。
- 適切にオブジェクト指向と関数型プログラミングのパターンを使用します。
- コードの重複を避け、反復処理とモジュール化を優先します。
- DragonRuby の規約に従ってファイルを構成します。
DragonRuby の命名規則
コードをレビューまたは作成する際は、次のガイドラインを適用してください。
- ファイル名、メソッド名、変数名には snake_case を使用します。
- クラス名とモジュール名には CamelCase を使用します。
- DragonRuby の命名規則に従います。
DragonRuby の構文と書式
コードをレビューまたは作成する際は、次のガイドラインを適用してください。
- Ruby Style Guide(https://rubystyle.guide/)に従います。
- Ruby の表現力豊かな構文(例:unless、||=、&.)を使用します。
- 文字列補間が必要な場合を除き、シングルクォートを優先します。
絶対遵守事項
- 必ず、頻繁に生成されるゲームオブジェクト(弾丸、パーティクル、敵)にはオブジェクトプーリングを使用します。オブジェクトを毎フレーム生成・破棄すると、ガベージコレクションによる一時停止が発生し、目に見えるフレーム落ちにつながります。
- 絶対に、レンダー/描画のティックで物理計算や負荷の高いロジックを実行しません。更新ロジックと描画を分離します。両者を混在させると、シミュレーションの動作が非決定的になり、フレームレートに依存するバグが発生します。
- 必ず、ゲームエンティティの AI とゲームモードの遷移には、ステートマシン(またはビヘイビアツリー)を使用します。アドホックな if/else の連鎖はゲーム状態の保守性を損ない、再現不可能なエッジケースのバグを引き起こします。
- 絶対に、未加工の入力状態をエンティティオブジェクトに保存しません。入力処理は専用の入力マネージャーに集約します。入力チェックが分散すると、キー割り当ての変更、マルチプレイヤー、リプレイが不可能になります。
- 必ず、最適化の前にプロファイリングを行います。早すぎる最適化は、誤ったボトルネックを対象にしてしまいます。まず、プラットフォームのプロファイラーツールを使って、描画呼び出し、GC の負荷、物理演算の予算を測定します。
アンチパターン
| アンチパターン | 失敗する理由 | 正しい方法 |
|---|---|---|
| 毎フレーム、オブジェクトを生成・破棄する | GC の負荷でフレームが途切れ、エンティティ数が増えるほどパフォーマンスが低下します | オブジェクトプールを使用し、事前に確保したインスタンスをリセットして再有効化し、再利用します |
| レンダリングステップにゲームロジックを含める | フレームレートに依存した動作になり、ロジックと画面表示が同期しなくなります | 固定レートの更新ループと可変レートのレンダリングループを分離します |
| エンティティの状態に場当たり的な if/else を使う | 想定外の状態の組み合わせで処理できないケースが発生し、遷移が定義されません | 遷移と入退出フックを定義した、明示的なステートマシンを使用します |
| エンティティの更新処理で入力を直接ポーリングする | 入力の再割り当て、リプレイ、マルチプレイヤーの入力同期が機能しなくなります | すべての入力を一元管理する入力マネージャーに渡し、毎フレーム一度だけ更新します |
| プロファイリングせずに最適化する | 誤ったボトルネックを対象にしてしまいます。CPU/GPU の予算に関する推測は外れがちです | Unity Profiler またはプラットフォームのツールでプロファイリングし、測定で判明したホットパスのみを最適化します |
統合されたスキル
このエキスパートスキルには、次の 4 つの個別スキルが統合されています。
- dragonruby-error-handling
- dragonruby-general-ruby-rules
- dragonruby-naming-conventions
- dragonruby-syntax-and-formatting
メモリプロトコル(必須)
開始前:
cat .claude/context/memory/learnings.md
完了後: 新たに見つかったパターンや例外を記録します。
中断を想定してください。コンテキストがリセットされることがあります。メモリに記録されていなければ、起きていないのと同じです。
コメント
Markdown 対応