mcpField
G
game-development

game-development

github.com/davila7開発33.0k687 回インストール今日更新
リポジトリ

game-development について

ゲーム開発プロジェクト向けのオーケストレーションスキルです。プラットフォーム、次元、専門分野に応じてサブスキルへ案内し、ゲームループ、設計パターン、入力抽象化、性能、AI選択の原則を扱います。

主な機能

  1. 01プラットフォームや種類別のサブスキル案内
  2. 02ゲームループと固定タイムステップ
  3. 03一般的な設計パターンの選択
  4. 04入力抽象化の原則
  5. 05性能予算と最適化の順序
  6. 06複雑さに応じたゲームAI選択

活用シーン

  1. 01ブラウザー、モバイル、PC向けの方針決定
  2. 022Dまたは3Dプロジェクトのパターン選択
  3. 03マルチプレイヤー、音声、美術の作業計画
  4. 04性能ボトルネックと最適化策の検討

インストール

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

$npx skills add https://github.com/davila7/claude-code-templates --skill game-development

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

詳細

ゲーム開発

中核となる原則を提供し、専門のサブスキルへ振り分けるオーケストレーター スキルです。


このスキルを使用するタイミング

ゲーム開発プロジェクトに取り組んでいるときに使用します。このスキルではゲーム開発の原則を解説し、状況に応じて適切なサブスキルへ案内します。


サブスキルのルーティング

プラットフォームの選択
ゲームの対象は…使用するサブスキル
Web ブラウザ (HTML5, WebGL)game-development/web-games
モバイル (iOS, Android)game-development/mobile-games
PC (Steam, デスクトップ)game-development/pc-games
VR/AR ヘッドセットgame-development/vr-ar
次元の選択
ゲームの種類は…使用するサブスキル
2D (スプライト, タイルマップ)game-development/2d-games
3D (メッシュ, シェーダー)game-development/3d-games
専門分野
必要なものは…使用するサブスキル
GDD, バランス調整, プレイヤー心理game-development/game-design
マルチプレイヤー, ネットワーキングgame-development/multiplayer
ビジュアルスタイル, アセットパイプライン, アニメーションgame-development/game-art
サウンドデザイン, 音楽, アダプティブオーディオgame-development/game-audio

中核となる原則 (全プラットフォーム共通)

1. ゲームループ

プラットフォームに関係なく、すべてのゲームは次のパターンに従います:

INPUT  → Read player actions
UPDATE → Process game logic (fixed timestep)
RENDER → Draw the frame (interpolated)

固定タイムステップのルール:

  • 物理/ロジック: 固定レート (例: 50Hz)
  • レンダリング: できるだけ高速に
  • 滑らかな映像のために、状態間を補間します

2. パターン選択マトリクス
パターン使用する場合例
ステートマシン3〜5 個の離散的な状態プレイヤー: Idle→Walk→Jump
オブジェクトプーリング頻繁な生成/破棄弾丸, パーティクル
Observer/イベントシステム間通信Health→UI 更新
ECS数千の類似エンティティRTS ユニット, パーティクル
CommandUndo, リプレイ, ネットワーキング入力の記録
ビヘイビアツリー複雑な AI の判断敵 AI

判断ルール: まずはステートマシンから始めます。パフォーマンスが求められる場合にのみ ECS を追加します。


3. 入力の抽象化

入力は生のキーではなく、アクションとして抽象化します:

"jump"  → Space, Gamepad A, Touch tap
"move"  → WASD, Left stick, Virtual joystick

理由: マルチプラットフォーム対応と、キー割り当ての変更が可能になります。


4. パフォーマンス予算 (60 FPS = 16.67ms)
システム予算
入力1ms
物理3ms
AI2ms
ゲームロジック4ms
レンダリング5ms
バッファ1.67ms

最適化の優先順位:

  1. アルゴリズム (O(n²) → O(n log n))
  2. バッチ処理 (描画呼び出しの削減)
  3. プーリング (GC スパイクの回避)
  4. LOD (距離に応じた詳細度)
  5. カリング (見えないものをスキップ)

5. 複雑さによる AI の選択
AI の種類複雑さ使用する場合
FSM単純3〜5 個の状態, 予測可能な動作
ビヘイビアツリー中程度モジュール化されており, デザイナーにとって扱いやすい
GOAP高創発的, プランニングベース
ユーティリティ AI高スコアリングに基づく判断

6. 衝突判定の戦略
種類最適な用途
AABB矩形, 高速なチェック
円丸い物体, 低コスト
空間ハッシュ同程度のサイズの多数のオブジェクト
四分木大きなワールド, サイズがばらつく場合

アンチパターン (汎用)

してはいけないこと代わりに行うこと
毎フレーム、すべてを更新するイベントやダーティフラグを使用する
ホットループ内でオブジェクトを生成するオブジェクトプーリング
何もキャッシュしない参照をキャッシュする
プロファイリングなしで最適化する先にプロファイリングする
入力とロジックを混在させる入力レイヤーを抽象化する

ルーティングの例

例 1: 「ブラウザで動く 2D プラットフォーマーを作りたい」

→ フレームワークの選定については game-development/web-games から始めます → スプライトやタイルマップのパターンについては game-development/2d-games を参照します → レベルデザインについては game-development/game-design を参照します

例 2: 「iOS と Android 向けのモバイルパズルゲーム」

→ タッチ入力とストアについては game-development/mobile-games から始めます → パズルのバランス調整には game-development/game-design を使用します

例 3: 「マルチプレイヤー VR シューティング」

→ game-development/vr-ar:快適性と没入感のため → game-development/3d-games:レンダリングのため → game-development/multiplayer:ネットワーキングのため


覚えておいてください: 優れたゲームは完璧さではなく反復から生まれます。素早くプロトタイプを作り、そのあと磨き上げましょう。

コメント