game-development について
game-development は、ゲーム開発の一般原則を示し、専門サブスキルへ案内するオーケストレーションスキルです。プラットフォーム、次元、設計、技術要件に応じた指針を探せます。
主な機能
- 01対象プラットフォームと次元による振り分け
- 02ゲームループ構成の指針
- 03一般的なシステム向けパターン選択
- 04入力抽象化の原則
- 05AI と衝突判定の方針
活用シーン
- 01ブラウザー、モバイル、PC ゲーム向けのサブスキル選択
- 022D または 3D プロジェクトのアーキテクチャ計画
- 03エンティティやゲームシステムのパターン選択
- 04マルチプレイヤー、音響、アートの指針を参照
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill game-developmentインストール後、Claude Code で/game-developmentを入力して読み込まれたか確認します。
詳細
翻訳後に原文が更新されています。最新の内容は原文をご確認ください。
ゲーム開発
オーケストレータースキル — 原則に加え、専門サブスキルへのルーティングを行います。
このスキルを使用する場面
ゲーム開発プロジェクトに取り組んでいます。このスキルは原則を教え、コンテキストに応じて適切なサブスキルへ誘導します。
サブスキルのルーティング
プラットフォームの選択
| ゲームの対象が... | 使用するサブスキル |
|---|---|
| Web ブラウザ(HTML5、WebGL、WebGPU) | 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 |
アーキテクチャ / ツール
| 必要なもの... | 使用するサブスキル |
|---|---|
| エンジン / フレームワークの選択、シェルかゲストか、適合ティア | game-development/engine-selection |
| 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)
- レンダリング: 可能な限り高速に
- 滑らかな表示のために状態間を補間する
ハイブリッド / UI 重視のゲーム: 外側のアプリは DOM/イベント駆動であってもかまいません。従来型のゲームループは canvas/WebGL ビューポート内(またはシミュレーションのティックが走る場所)でのみ使用してください。
2. パターン選択マトリクス
| パターン | 使用する場面 | 例 |
|---|---|---|
| ステートマシン | 3〜5 個の離散的な状態 | プレイヤー: Idle→Walk→Jump |
| オブジェクトプーリング | 頻繁な生成/破棄 | 弾、パーティクル |
| オブザーバー/イベント | システム間の通信 | ヘルス→UI 更新 |
| ECS | 数千の類似エンティティ | RTS ユニット、パーティクル |
| コマンド | アンドゥ、リプレイ、ネットワーキング | 入力記録 |
| ビヘイビアツリー | 複雑な AI の意思決定 | 敵 AI |
| コンテンツ・アズ・データ | デザイナーがコードなしでレベル/イベントを出荷 | JSON/YAML パック |
判断ルール: まずステートマシンから始めます。ECS はパフォーマンスが要求する場合にのみ追加します。
3. 入力の抽象化
入力を生のキーではなくアクションに抽象化します:
"jump" → Space, Gamepad A, Touch tap
"move" → WASD, Left stick, Virtual joystick
4. パフォーマンスバジェット(60 FPS = 16.67ms)
| システム | バジェット |
|---|---|
| 入力 | 1ms |
| 物理 | 3ms |
| AI | 2ms |
| ゲームロジック | 4ms |
| レンダリング | 5ms |
| バッファ | 1.67ms |
最適化の優先順位: アルゴリズム → バッチング → プーリング → LOD → カリング。
5. 複雑さに応じた AI の選択
| AI の種類 | 複雑さ | 使用する場面 |
|---|---|---|
| FSM | シンプル | 3〜5 状態、予測可能な挙動 |
| ビヘイビアツリー | 中程度 | モジュール式、デザイナーフレンドリー |
| GOAP | 高い | 創発的、プランニングベース |
| ユーティリティ AI | 高い | スコアリングベースの意思決定 |
6. 衝突判定の戦略
| 種類 | 最適な用途 |
|---|---|
| AABB | 矩形、高速なチェック |
| 円 | 丸いオブジェクト、低コスト |
| 空間ハッシュ | 多数の類似サイズのオブジェクト |
| 四分木 | 広大なワールド、多様なサイズ |
アンチパターン(すべてに共通)
| しないこと | すること |
|---|---|
| 毎フレームすべてを更新する | イベント、ダーティフラグを使う |
| ホットループ内でオブジェクトを生成する | オブジェクトプーリング |
| 何もキャッシュしない | 参照をキャッシュする |
| プロファイリングせずに最適化する | まずプロファイリングする |
| 入力とロジックを混在させる | 入力レイヤーを抽象化する |
| 話題性でエンジンを選ぶ | エンジンをジャンル + チーム + 配信ターゲットに合わせる |
ルーティングの例
「ブラウザ 2D プラットフォーマー」
→ game-development/engine-selection → game-development/web-games → game-development/2d-games → game-development/game-design
「小さなアーケードチャレンジを備えた UI 重視の Web ゲーム」
→ game-development/engine-selection(シェル対ゲスト)→ game-development/web-games → ゲストのみ game-development/2d-games
「モバイルパズル」
→ game-development/mobile-games → game-development/game-design
「マルチプレイヤー VR シューティング」
→ game-development/vr-ar → game-development/3d-games → game-development/multiplayer
「軽いステータス要素を持つ分岐型ナラティブ」
→ game-development/engine-selection(Ink/Twine)→ お好みのホスト UI
覚えておいてください: 優れたゲームは完璧さではなく、反復から生まれます。素早くプロトタイプを作り、それから磨き上げましょう。
制限事項
- このスキルは、タスクが上記の範囲に明確に一致する場合にのみ使用してください。
- 出力を、環境固有の検証、テスト、または専門家によるレビューの代替として扱わないでください。
- 必要な入力、権限、安全境界、または成功基準が欠けている場合は、作業を止めて確認を求めてください。