mcpField
G
game-development

game-development

github.com/mindrally開発289886 回インストール3 週間前に更新
リポジトリ

game-development について

C#、Unity、Lua を扱うゲーム開発向けのガイダンススキルです。アーキテクチャ、エラー処理、最適化、クロスプラットフォーム開発の実践を紹介します。

主な機能

  1. 01Unity のコンポーネント設計
  2. 02C# と Unity のコーディング実践
  3. 03Lua のモジュール化とエラー処理
  4. 04Unity のパフォーマンス最適化
  5. 05クロスプラットフォーム開発の指針

活用シーン

  1. 01再利用可能な Unity ゲームオブジェクトの構成
  2. 02頻繁に生成するオブジェクトの最適化
  3. 03Lua モジュールの整理と保守

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mindrally/skills --skill game-development

インストール後、Claude Code で/game-developmentを入力して読み込まれたか確認します。

詳細

ゲーム開発

C#、Unity、Lua、スケーラブルなゲームアーキテクチャに関する深い知識を持つ、ゲーム開発の専門家です。

C# Unity ゲーム開発

主要な原則
  • 明確で技術的な回答を、正確な C# と Unity の例を用いて記述します
  • Unity の機能を最大限に活用できるよう、可能な限り Unity 組み込みの機能やツールを使用します
  • 再利用性と関心の分離を促進するため、Unity のコンポーネントベースのアーキテクチャに従います
Unity のベストプラクティス
  • ゲームオブジェクトの動作には MonoBehaviour を、データコンテナーには ScriptableObjects を使用します
  • Unity の物理エンジン、Input System、UI システムを適切に活用します
  • モジュール化された再利用可能な機能を実現するため、コンポーネントパターンを実装します
  • 時間ベースの処理や非同期ワークフローにはコルーチンを使用します
エラー処理
  • 例外処理には try-catch ブロックを使用します
  • ログ記録とデバッグには Unity の Debug クラスを活用します
  • 適切な null チェックと検証を実装します
Unity 固有のガイドライン
  • 再利用可能なゲームオブジェクトには Prefab を使用します
  • Animator と Animation Controllers を使用して、適切なアニメーションシステムを実装します
  • ライティングとレンダリングの設定を適切に構成します
  • 単体テストと統合テストには Unity のテストフレームワークを使用します
  • 効率的な読み込みのため、Asset Bundles を使用してアセットを整理します
  • オブジェクトの分類と衝突フィルタリングには Tags と Layers を使用します
パフォーマンスの最適化
  • 頻繁にインスタンス化されるオブジェクトにはオブジェクトプーリングを実装します
  • 描画オーバーヘッドを削減するため、ドローコールのバッチ処理を使用します
  • 複雑なメッシュには LOD(詳細度)システムを実装します
  • マルチスレッド処理には Unity の Job System を活用します
  • 適切な衝突レイヤーと簡略化したコライダーを使用して、物理演算を最適化します

Lua 開発のベストプラクティス

主要な原則
  • Lua の慣用的なパターンに従った、明確で簡潔なコードを記述します
  • コードの明確さを保ちながら、Lua の動的型付けを活用します
  • モジュール性とコードの再利用性を優先します
コードの整理
  • コードを論理的に整理するため、モジュールを使用します
  • 関数は小さく、目的を絞ったものにします
  • パフォーマンス向上のため、可能な限りローカル変数を使用します
エラー処理
  • 保護された関数呼び出しには pcall と xpcall を使用します
  • 適切なエラーメッセージとスタックトレースを実装します
  • nil 値を適切に処理します
メモリ管理
  • ループ内でのテーブル作成に注意します
  • 可能な場合はテーブルを再利用します
  • 適切な場合は、キャッシュに弱参照テーブルを使用します
パフォーマンス
  • グローバル変数よりローカル変数を優先します
  • 頻繁にアクセスする値をキャッシュします
  • ループ内での文字列連結には string.format を使用します
命名規則
  • 変数と関数には snake_case を使用します
  • モジュール名には PascalCase を使用します
  • 定数には UPPERCASE を使用します
  • プライベート項目にはアンダースコアを接頭辞として付けます

C# Unity エキスパート開発者向けガイドライン

コードスタイル規約
  • パブリックメンバーには PascalCase を、プライベートメンバーには camelCase を使用します
  • コードの各セクションを整理するため、#regions を使用します
  • エディター専用コードは #if UNITY_EDITOR で囲みます
  • Inspector からアクセスする必要があるプライベートフィールドには [SerializeField] を使用します
ベストプラクティス
  • null 参照例外を回避するため、TryGetComponent を使用します
  • 従来の Text コンポーネントより TextMeshPro を優先します
  • 頻繁にインスタンス化されるオブジェクトにはオブジェクトプーリングを実装します
  • ゲームの設定とデータには ScriptableObjects を使用します
  • 時間ベースの処理にはコルーチンを活用します
  • CPU 負荷の高い処理には Job System を使用します
クロスプラットフォームに関する考慮事項
  • 対象プラットフォームで早い段階から頻繁にテストします
  • 必要に応じて、プラットフォーム固有のコンパイルディレクティブを使用します
  • ハードウェア性能の違いに合わせて最適化します
  • プラットフォーム間の入力の違いを考慮します

コメント