mcpField
G
godot-development

godot-development

github.com/zate開発201.4k 回インストール50 週間前に更新
リポジトリ

godot-development について

godot-developmentは、Godotでゲームを開発する人向けのスキルです。シーン、ノード、GDScript、プロジェクト構成の解説に加え、プロジェクトの確認や編集に使うツールを備えています。

主な機能

  1. 01シーンツリーとノードの解説
  2. 022D・3D開発の基礎概念
  3. 03GDScriptのパターンとライフサイクルメソッド
  4. 04プロジェクト構成の提案
  5. 05プロジェクト作業用Godot MCPツール

活用シーン

  1. 01ゲームシーンの作成や変更
  2. 02ノードの設定とエラーの調査
  3. 03GDScriptやプロジェクト構成に関する相談

MCP 対応

Godot MCPツールを使ってプロジェクトを開いて実行し、出力やメタデータを確認して、シーンやノードを作成・編集します。

インストール

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

$npx skills add https://github.com/zate/cc-godot --skill godot-development

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

詳細

Godot 開発スキル

Godot Engine によるゲーム開発のエキスパートとして、次の分野に関する深い知識があります。

コア概念

シーンツリーのアーキテクチャ

  • シーンは、ツリー階層に配置されたノードの集まりです
  • すべてのシーンにはルートノードがあります
  • ノードは親ノードを継承し、複数の子ノードを持つことができます
  • シーンインスタンスはネストして再利用できます
  • シーンツリーはルートから葉に向かって走査されます

ノードの種類

2D ノード:

  • Node2D:すべての 2D ノードの基底で、位置、回転、スケールを持ちます
  • Sprite2D:2D テクスチャを表示します
  • AnimatedSprite2D:スプライトアニメーションを再生します
  • CollisionShape2D:衝突領域を定義します(物理ボディの子ノードにする必要があります)
  • Area2D:重なり合うボディや領域を検出します
  • CharacterBody2D:組み込みの移動関数を備えた物理ボディです
  • RigidBody2D:力の影響を受ける物理ボディです
  • StaticBody2D:動かない物理ボディです
  • TileMap:グリッドベースのタイルシステムです
  • Camera2D:追従とズームに対応した 2D カメラです
  • CanvasLayer:画面上で固定される UI レイヤーです
  • Control:UI 要素(Button、Label、Panel など)の基底です

3D ノード:

  • Node3D:すべての 3D ノードの基底です
  • MeshInstance3D:3D メッシュを表示します
  • Camera3D:3D カメラです
  • DirectionalLight3D、OmniLight3D、SpotLight3D:ライティング
  • CollisionShape3D:3D の衝突形状です
  • Area3D、CharacterBody3D、RigidBody3D、StaticBody3D:3D 物理ボディです

一般的なノード:

  • Timer:遅延後にコードを実行します
  • AudioStreamPlayer:サウンドを再生します
  • AnimationPlayer:複雑なアニメーションを制御します

Godot MCP ツール

Godot 専用の MCP ツールを利用できます。

  • mcp__godot__launch_editor:プロジェクトの Godot エディターを開きます
  • mcp__godot__run_project:ゲームプロジェクトを実行します
  • mcp__godot__get_debug_output:コンソール出力とエラーを取得します
  • mcp__godot__stop_project:実行中のプロジェクトを停止します
  • mcp__godot__get_godot_version:Godot のバージョンを確認します
  • mcp__godot__list_projects:ディレクトリ内の Godot プロジェクトを検索します
  • mcp__godot__get_project_info:プロジェクトのメタデータを取得します
  • mcp__godot__create_scene:新しい .tscn シーンファイルを作成します
  • mcp__godot__add_node:既存のシーンにノードを追加します
  • mcp__godot__load_sprite:テクスチャを Sprite2D ノードに読み込みます
  • mcp__godot__save_scene:シーンの変更を保存します
  • mcp__godot__get_uid:ファイル UID を取得します(Godot 4.4+)
  • mcp__godot__update_project_uids:UID 参照を更新します

プロジェクト構成のベストプラクティス

project/
├── project.godot           # Project configuration
├── scenes/                 # All scene files
│   ├── main/              # Main game scenes
│   ├── ui/                # UI scenes
│   ├── characters/        # Character scenes
│   └── levels/            # Level scenes
├── scripts/               # GDScript files
│   ├── autoload/         # Singleton scripts
│   ├── characters/       # Character scripts
│   └── systems/          # Game systems
├── assets/               # Art, audio, etc.
│   ├── sprites/
│   ├── audio/
│   ├── fonts/
│   └── shaders/
└── resources/            # .tres resource files
    ├── materials/
    └── animations/

GDScript のパターン

ノード参照:

# Get child node
@onready var sprite = $Sprite2D
@onready var collision = $CollisionShape2D

# Get node by path
var player = get_node("/root/Main/Player")

# Find node by type
var camera = get_tree().get_first_node_in_group("camera")

一般的なライフサイクルメソッド:

func _ready():
    # Called when node enters scene tree
    pass

func _process(delta):
    # Called every frame
    pass

func _physics_process(delta):
    # Called every physics frame (fixed timestep)
    pass

一般的なタスク

基本的な 2D キャラクターの作成:

  1. CharacterBody2D をルートとするシーンを作成します
  2. ビジュアル用に Sprite2D の子ノードを追加します
  3. 物理用に CollisionShape2D の子ノードを追加します
  4. ルートノードにスクリプトをアタッチします
  5. _physics_process で移動処理を実装します

カメラの設定:

  • 2D:Camera2D を追加し、「Current」を有効にします
  • 3D:Camera3D を追加し、位置と回転を調整します
  • より自然な操作感を得るためにスムージングを使用します

入力処理:

func _input(event):
    if event.is_action_pressed("jump"):
        jump()

func _process(delta):
    var direction = Input.get_axis("left", "right")

このスキルを使う場面

次のような場合に有効にしてください。

  • Godot の機能や性能について質問されたとき
  • シーンの作成や変更を手伝う必要があるとき
  • ノードの追加やプロパティの設定をしたいとき
  • GDScript について質問されたとき
  • プロジェクト構成について助言が必要なとき
  • Godot 固有のエラーが発生したとき
  • Godot でのゲーム開発のベストプラクティスについて質問されたとき

手作業での方法を説明するだけでなく、MCP ツールを積極的に使ってタスクを実行してください。

コメント