マガジン

Godot開発にAIを使う:エディタ連携と実際の効果

遊びをつくる

執筆にClaudeを使用しています。

会話しながらアイデアを試し、作られた小さなゲームを自分の手で確かめる制作机。
記事のテーマをもとに制作したAI生成イラスト。

GodotでゲームをつくるときにAIをどう使えばよいか、という問いは「コードを生成させる」だけでは答えになりません。Godotには独自のスクリプト言語GDScriptがあり、ノードとシーンを組み合わせる設計思想があります。汎用のコード補完とは違う切り口で活用しないと、生成されたコードをそのまま貼り付けても動かないことが頻繁に起きます。 この記事では、Godot特有の構造に対してAIをどう当てはめるか、エディタとの連携をどう設定するか、そして実際に効果が出やすい場面と出にくい場面をそれぞれ整理します。ツールの選び方よりも「何をAIに任せ、何を自分で書くか」という判断基準を中心に置きます。

この記事の目次
  1. GDScriptとAIの相性を正直に見る
  2. エディタ連携の選択肢と設定方針
  3. AIが効果を発揮しやすい場面
  4. AIが効果を発揮しにくい場面
  5. プロンプトの書き方:Godot向けの具体例
  6. 次の行動
  7. 参考資料

GDScriptとAIの相性を正直に見る

ChatGPTやClaudeなどの大規模言語モデルは、PythonやJavaScriptに比べてGDScriptの学習データが少ない傾向があります。そのため、古いGodot 3系の書き方と新しいGodot 4系の書き方を混在させたコードを生成することがあります。たとえばonready var(Godot 3)と@onready var(Godot 4)は同じ意味ですが、混ぜると動きません。

AIに「GDScript」と伝えるだけでなく、「Godot 4のGDScript」と明示し、可能であれば使用しているGodotのバージョン番号(例:4.2)を最初のプロンプトに書く習慣をつけると、誤ったバージョンの構文が混入する頻度が下がります。バージョンを伝えても完全には防げませんが、差し戻しの手間が減ります。

エディタ連携の選択肢と設定方針

GodotエディタとAIをつなぐ方法は大きく三つ

1. エディタ外でAIを使い、コードをコピー&ペースト最もシンプルで環境依存がありません。ブラウザでChatGPTやClaudeを開き、生成したコードをGodotのスクリプトエディタに貼り付けます。設定不要で始められる一方、エディタの補完やエラー表示との往復が手動になります。

2. VSCodeをエディタとして使い、AI拡張機能を導入するGodotはVSCodeを外部エディタとして設定できます(エディタ設定 → テキストエディタ → 外部エディタ)。VSCodeにはGitHub Copilotや各社のAI補完拡張機能があり、GDScript用の言語サーバー拡張(godot-tools)と組み合わせると、コード補完とAI提案を同一画面で受けられます。

この構成の注意点は、godot-toolsの言語サーバーとGodotエディタを同時に起動してプロジェクトを開く必要があることです。片方だけ開いていると定義ジャンプや型情報が正しく機能しないケースがあります。公式のgodot-tools拡張機能のドキュメントで最新の設定手順を確認してください。

3. Godotのビルトインエディタで拡張プラグインを使うGodotのAssetLibraryやGitHubにはAI連携を試みたプラグインがいくつか公開されています。ただし、APIキーの管理やプラグインのメンテナンス状況にばらつきがあるため、使う前にリポジトリの更新日とGodotバージョンの対応状況を確認することが重要です。更新が止まったプラグインをGodot 4の新しいマイナーバージョンで使うとクラッシュや動作不良につながることがあります。

判断基準:どの方法を選ぶか

  • 今すぐ試したい・設定が面倒、向いている方法:コピー&ペースト
  • コード量が多い・補完を活かしたい、向いている方法:VSCode+拡張機能
  • Godotエディタだけで完結させたい、向いている方法:プラグイン(メンテ状況を確認)

AIが効果を発揮しやすい場面

シグナルと接続のボイラープレート生成Godotのシグナル定義とconnect()の書き方は決まったパターンがあります。「CharacterBody2Dが床に着地したときにアニメーションを切り替えるシグナル接続を書いて」のような指示は精度が出やすい場面です。ノード名とシグナル名を具体的に伝えると、そのまま使える確率が上がります。

ステートマシンの骨格敵AIや主人公のアクションをステートマシンで管理するとき、状態の列挙とmatch文による分岐の骨格生成はAIが得意とする反復作業です。「IDLE・WALK・ATTACK・DEADの4状態、Godot 4のGDScript」と指示すれば大まかな骨格が出ます。ゲーム固有の数値やロジックは自分で埋める前提で使います。

エラーメッセージの解読と修正候補の提示GodotのエラーメッセージをそのままコピーしてAIに貼り付けると、原因の説明と修正候補を返してくれます。特にInvalid get indexやNil関連のエラーはノード参照の問題であることが多く、AIはパターンとして知っているため説明が的確なことが多いです。

AIが効果を発揮しにくい場面

シーンツリーの構造設計「このゲームのシーンをどう分割すればいいか」という問いはAIが苦手とする領域です。プロジェクトのノード構成をAIは見ていないため、返答は一般論にとどまります。ここは自分で決める必要があります。

物理演算の細かなパラメータ調整CharacterBody2Dのvelocityやmove_and_slide()の挙動は、実際に動かしながら数値を変えるしかない部分が多いです。AIに「ジャンプが重い」と伝えても、プロジェクトのスケールやフレームレート設定を知らないため、有効な数値を返せません。

Godot固有のバグや最新バージョンの仕様変更Godot 4は比較的新しいため、マイナーアップデートで挙動が変わった部分についてAIの知識が追いついていない場合があります。「4.x以降で変更された」という情報は公式のChangelog(変更履歴)で確認する習慣が重要です。

プロンプトの書き方:Godot向けの具体例

AIへの問いを「コードを書いて」で終わらせず、以下の情報を添えると出力の精度が上がります。

  • Godotのバージョン(例:Godot 4.2)
  • 関係するノードの種類と変数名(例:@onready var sprite: AnimatedSprite2D)
  • 期待する動作(例:「プレイヤーが左右に動いたときアニメーションを切り替える」)
  • 現在のエラーや問題があれば全文コピー

返ってきたコードをそのまま使うのではなく、変数名とノードパスが自分のプロジェクトに合っているかを必ず確認してから貼り付けます。パスの不一致はGodotで最もよくある実行時エラーの原因の一つです。

次の行動

Godot 4でAI活用を始めるなら、まずVSCodeとgodot-toolsの言語サーバーを組み合わせた環境を整え、コード補完が動く状態にしてから、AIへの問いにバージョンとノード情報を添える習慣をつけてください。作ったゲームはHTMLエクスポートしてZIPファイルにまとめれば、アソバースにそのまま投稿して公開できます。

参考資料

  • Godot Engine 公式ドキュメント(GDScript リファレンス・Changelog)
  • godot-tools VSCode 拡張機能 公式リポジトリ(README・設定手順)
  • Godot Asset Library(プラグイン一覧)