mcpField
G
gamedev-expert

gamedev-expert

github.com/oimiragieo開発4469 回インストール17 週間前に更新
リポジトリ

gamedev-expert について

gamedev-expertは、DragonRuby、Unity、ゲームメカニクスを扱うゲーム開発者向けのコーディング支援スキルです。コードレビューやリファクタリング、設計の助言に加え、オブジェクトプールやステートマシンなどの指針を示します。

主な機能

  1. 01ゲームコードの規約レビュー
  2. 02リファクタリングと改善案の提示
  3. 03ゲーム開発パターンの説明
  4. 04アーキテクチャの助言
  5. 05DragonRubyのエラー処理とRuby規約
  6. 06プール、ステートマシン、プロファイリングの重視

活用シーン

  1. 01ゲームコードの開発規約への適合確認
  2. 02エンティティ状態や入力処理のリファクタリング
  3. 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.md
hooks/
post-execute.cjs
pre-execute.cjs
references/
research-requirements.md
rules/
gamedev-expert.md
schemas/
input.schema.json
output.schema.json
scripts/
main.cjs
templates/
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、||=、&.)を使用します。
  • 文字列補間が必要な場合を除き、シングルクォートを優先します。
使用例: ``` User: "Review this code for gamedev best practices" Agent: [Analyzes code against consolidated guidelines and provides specific feedback] ```

絶対遵守事項

  1. 必ず、頻繁に生成されるゲームオブジェクト(弾丸、パーティクル、敵)にはオブジェクトプーリングを使用します。オブジェクトを毎フレーム生成・破棄すると、ガベージコレクションによる一時停止が発生し、目に見えるフレーム落ちにつながります。
  2. 絶対に、レンダー/描画のティックで物理計算や負荷の高いロジックを実行しません。更新ロジックと描画を分離します。両者を混在させると、シミュレーションの動作が非決定的になり、フレームレートに依存するバグが発生します。
  3. 必ず、ゲームエンティティの AI とゲームモードの遷移には、ステートマシン(またはビヘイビアツリー)を使用します。アドホックな if/else の連鎖はゲーム状態の保守性を損ない、再現不可能なエッジケースのバグを引き起こします。
  4. 絶対に、未加工の入力状態をエンティティオブジェクトに保存しません。入力処理は専用の入力マネージャーに集約します。入力チェックが分散すると、キー割り当ての変更、マルチプレイヤー、リプレイが不可能になります。
  5. 必ず、最適化の前にプロファイリングを行います。早すぎる最適化は、誤ったボトルネックを対象にしてしまいます。まず、プラットフォームのプロファイラーツールを使って、描画呼び出し、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

完了後: 新たに見つかったパターンや例外を記録します。

中断を想定してください。コンテキストがリセットされることがあります。メモリに記録されていなければ、起きていないのと同じです。

コメント