mcpField
G
godot-project-templates

godot-project-templates

github.com/thedivergentai開発907356 回インストール2 週間前に更新
リポジトリ

godot-project-templates について

Godot プロジェクトの開始時に使うテンプレート案内スキルです。ジャンルごとのスクリプト選択と骨組みの適応方法に加え、起動順序、一時停止、クロスプラットフォーム設定、DLC 読み込みを説明します。

主な機能

  1. 01ジャンル別のテンプレートスクリプト案内
  2. 02ブートストラップ設定とシステム登録
  3. 03一時停止モードとメニューのライフサイクル規則
  4. 04クロスプラットフォーム入力と機能タグ
  5. 05スレッドによるレベル読み込み
  6. 06モジュール式 DLC リソースパック読み込み

活用シーン

  1. 012D プラットフォーマープロジェクトの骨組み作成
  2. 02アクション RPG や FPS のテンプレート部品選択
  3. 03一時停止メニューとゲームのプロセスモード設定
  4. 04レベルストリーミングや DLC 読み込み用スクリプトの選択

インストール

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

$npx skills add https://github.com/thedivergentai/game-dev-agentic-skills --skill godot-project-templates

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
genre-template-scaffolds.md
migration-notes.md
scripts/
accessibility_tts_manager.gd
base_actor.gd
base_game_manager.gd
base_level.gd
base_menu.gd
bootstrap_config.gd
level_steamer_manager.gd
modular_dlc_loader.gd
multi_platform_input.gd
platform_feature_config.gd
scene_state_machine.gd
state_machine_node.gd
subsystem_locator.gd

詳細

プロジェクトテンプレート(ナビゲーション)

アーキテクチャの骨組みを作成してから適応してください。ジャンル別のチュートリアルをそのままプロジェクトに貼り付けてはいけません。

絶対にしてはいけないこと(専門家が避けるべきアンチパターン)

ディレクトリと骨組み
  • シーンのパスを数十か所でハードコードしてはいけません。AutoLoad の定数またはシーンレジストリを使用してください。
  • インポートパイプライン外でデザイナーがアセットを配置する場合、.gdignore を省略してはいけません。
  • テンプレートをそのままコピー&ペーストしてはいけません。構造を理解してから適応してください(以下のチェックリストを参照)。
アーキテクチャとライフサイクル
  • プロセスモードのグループを設定せずに get_tree().paused を使用してはいけません。ポーズメニューには PROCESS_MODE_ALWAYS が必要です。**理由:**ツリーを一時停止すると、メニューノードの _process も停止するため、ボタンが入力を受け取れなくなります。ゲームプレイには INHERIT(一時停止)を、メニュー/HUD には base_menu.gd を使うか、ポーズ画面のルートに process_mode を明示的に設定して ALWAYS にしてください。
  • 基底クラスの仮想ライフサイクルフックを省略してはいけません。脆弱な _ready() のオーバーライドより、_initialize_*() を優先してください。
  • モノリシックな God シングルトンに依存してはいけません。Signal Bus または Subsystem Locator を使用してください。
プラットフォームと UI
  • FPS の骨組みで Input.MOUSE_MODE_CAPTURED の設定を省略してはいけません。FPS のジャンルパスを選択したときに設定してください。
  • UI レイアウトに浮動小数点定数を使用してはいけません。アンカー/コンテナを使用してください。
  • i18n の翻訳コンテキストを無視してはいけません。tr()/コンテキストで文字列を明確に区別してください。
パフォーマンス
  • 巨大なレベルを同期的に読み込んではいけません。ResourceLoader.load_threaded_request() を使用してください。

推奨手順

  1. ブートストラップ — 必須の bootstrap_config.gd:オーディオ/UI より前に設定/ネットワークを構成します(偶然の Autoload 順に依存しないでください)。
  2. 以下のジャンルの行から選び、記載されたスクリプトのみを読み込みます。
  3. プロジェクト名を変更し、ロケーター/ブートストラップを登録して、Input Map を設定します。
  4. ゲームプレイシステムについては、利用側の godot-genre-* スキルを開きます。

プラットフォーマーのエンドツーエンド手順: 1 行目のスクリプト → godot-genre-platformer(移動には advanced_platformer_controller.gd、シーン遷移にはテンプレートの base_level +ステートマシンを使用)。このスキルの FPS/インベントリの手順を貼り付けないでください。

ジャンルルーター → スクリプト

必須:ジャンルの行を選び、記載されているスクリプトを読み込んでから、ゲームプレイシステムについては利用側の godot-genre-* スキルを開いてください。インラインの FPS コントローラーやインベントリマネージャーを記憶だけを頼りに貼り付けないでください。

ジャンルの意図読み込むテンプレートスクリプト(必須)ゲームプレイを補うには
2D プラットフォーマーbase_game_manager.gd, base_level.gd, base_actor.gd, scene_state_machine.gd, state_machine_node.gdgodot-genre-platformer
見下ろし型/アクション RPG同じベーススクリプト + subsystem_locator.gd, base_menu.gdgodot-genre-action-rpg
3D FPS/シューターベーススクリプト + multi_platform_input.gd, platform_feature_config.gdgodot-genre-shooter-fps
あらゆるジャンル + DLC パックmodular_dlc_loader.gdジャンルスキル + godot-export-builds
クロスプラットフォームの入力/機能multi_platform_input.gd, platform_feature_config.gdgodot-input-handling
スレッドによるレベルストリーミングlevel_steamer_manager.gdgodot-scene-management
アクセシビリティ向け TTSaccessibility_tts_manager.gdプロジェクトの基盤/UI スキル

フォルダー構成の機能別ひな形(全ジャンル):entities/<name>/、levels/ または maps/、ui/、autoloads/ またはロケーター登録システム、resources/。詳細はジャンルごとの利用側スキルに記載します。ここでは重複して記載しません。


アーキテクチャの差分(このスキルに記載)

サブシステムロケーターと God Autoload

モジュール式の登録には subsystem_locator.gd を優先し、ブートストラップ用の Autoload のみを薄く保ってください。

ブートストラップの順序

必須: bootstrap_config.gd(または同等のもの)を使用し、重要なシステム(設定/ネットワーク)をオーディオ/UI より先に初期化してください。Project Settings の Autoload の順序が偶然適切になることだけに頼らないでください。

一時停止モード

ゲームプレイツリーは一時停止し、UI/一時停止メニューのノードには PROCESS_MODE_ALWAYS を使用します。base_menu.gd を介して接続してください。

PCK/DLC

ProjectSettings.load_resource_pack() のマウントには、必ず modular_dlc_loader.gd を使用してください。ゲームプレイコードでパスのハックを自作しないでください。

機能タグ

OS.has_feature()/エクスポートタグによる分岐(mobile、low_end、dedicated_server)には、必ず platform_feature_config.gd を使用してください。


適応チェックリスト

ゲームプレイのコードを書く前に、各テンプレート要素を利用者向けスキルに対応付けます。

テンプレート要素適応先
base_actor / ステートマシンのノードジャンル別の移動/戦闘スキル(godot-genre-*)+ godot-state-machine-advanced
base_game_manager のシグナルgodot-autoload-architecture / godot-signal-architecture
レベルストリーマーgodot-scene-management
入力/機能の設定godot-input-handling + プラットフォーム別スキル
メニュー/HUD のシェルgodot-ui-containers
エクスポート/CI/PCKgodot-export-builds

使い方: ジャンルの行を選ぶ → スクリプトを読み込む → プロジェクト名を変更する → ロケーター/ブートストラップを登録する → Input Map を設定する → システムについてはジャンル別スキルを開く — このスキルにある標準の FPS/インベントリーの手順を貼り付けないでください。

詳細(必要に応じて読み込み)

プラットフォーマー/RPG/FPS のディレクトリツリー、Input Map のテンプレート、CI エクスポート用 YAML、PCK のマウント、ブートストラップの優先順位 — references/genre-template-scaffolds.md。

リファレンス

段階的開示:特定の API を調査するときにのみ公式ドキュメントへのリンクを開き、関連領域に移るときに関連スキルを読み込みます。スキル群全体を事前に読み込まないでください。

公式ドキュメント
  • プロジェクトの構成 — ジャンル別のボイラープレートで最初から取り入れておきたい、機能ごとのフォルダー構成、.gdignore、VCS の管理方法について説明しています。
  • シーンの構成 — テンプレートを安全にリファクタリングできるようにするための、entities/、levels/、UI シーンの所有権の境界について説明しています。
  • シングルトン(Autoload) — シーンの切り替え後も維持される、GameManager/Audio/SceneTransitioner の軽量なサービスを登録する方法について説明しています。
  • Autoload と通常のノードの比較 — 巨大な God シングルトンより、Subsystem Locator やシーンローカルノードが適している場合について説明しています。
  • バックグラウンド読み込み — レベルストリーミング用テンプレートで使用される ResourceLoader.load_threaded_* のパターンについて説明しています。
  • ゲームの一時停止 — ゲームプレイを一時停止している間もポーズメニューを動作させるための、プロセスモードについて説明しています。
  • 複数の解像度 — 新しいプロジェクトテンプレートで必ず説明しておきたい、ストレッチモードとアスペクト比のデフォルト設定(canvas_items/expand)について説明しています。
  • 機能タグ — プラットフォーム設定用テンプレートで、モバイル/PC/サーバー向けのオーバーライドに使用する OS.has_feature() プロファイルについて説明しています。
  • パックのエクスポート(PCK) — ProjectSettings.load_resource_pack() を使用した、DLC やパッチのモジュール形式でのマウントについて説明しています。
  • コントローラーとゲームパッドの使用 — マルチプラットフォーム向けテンプレートで使用する、デフォルトの Input Map アクションとデッドゾーンの調整について説明しています。
  • テキスト読み上げ — アクセシビリティマネージャーのひな型で使用する DisplayServer の TTS フックについて説明しています。
  • ゲームの国際化 — メニュー/HUD の UI 文字列で曖昧なキーを避けるための、翻訳コンテキストについて説明しています。
関連スキル
前提条件
  • godot-project-foundations — ジャンル別のひな型を実際のリポジトリにコピーする前に確認しておきたい、フォルダーの整理、命名、インポートの基本について説明しています。
  • godot-gdscript-mastery — このテンプレートのすべてのスクリプトで使用されている、型付き基底クラス、仮想フック、シグナルのスタイルについて説明しています。
補完
  • godot-autoload-architecture — BootstrapConfig / GameManager の Autoload がテンプレート段階を離れた後の、起動順序と所有権のルールです。
  • godot-scene-management — レベルストリーマーのボイラープレートを拡張する、本番環境向けのシーン切り替えとロードキューです。
  • godot-input-handling — MultiPlatformInput の足場を超える、完全なアクションマップ、デバイスの振り分け、再マッピングです。
  • godot-state-machine-advanced — SceneStateMachine と StateMachineNode を拡張する、階層型/ビジュアル FSM のパターンです。
  • godot-export-builds — Standard-Export-Presets テンプレートで前提とされる、エクスポートプリセット、VRAM 圧縮、CI のヘッドレスフラグです。
  • godot-signal-architecture — テンプレートが GameManager の直接シグナルで対応しきれなくなった場合の、型付き EventBus パターンです。
  • godot-ui-containers — 浮動小数点のピクセルずれを避ける、BaseMenu および HUD シーン向けのアンカー/コンテナレイアウトです。
  • godot-adapt-desktop-to-mobile — PlatformFeatureConfig ではスタブのみが用意されている、タッチ、安全領域、モバイル機能タグのプロファイルです。
下流/利用者
  • godot-genre-platformer — 2D プラットフォーマーのディレクトリ構成に、移動、コヨーテタイム、レベル進行を追加します。
  • godot-genre-action-rpg — トップダウン RPG テンプレートのフォルダーに組み込める、戦闘、インベントリ、クエストシステムです。
  • godot-genre-shooter-fps — 3D FPS プレイヤーの足場に重ねる、武器、ヒット判定、カメラの操作感です。
マスター
  • godot-master — ライブラリのルーターであり、スキル間の検索に使うミラー化されたモジュールエントリです。

コメント