【Godot】エンジンをデバッグビルドしてみよう
Godot Engine Advent Calendar 2022 3日目の記事になります。
はじめに
Godot Engineはオープンソースで開発されているため、GitHubに行けばソースコードにアクセスし放題です。 そこでソースコードを眺めているのも楽しいですが、ちょっといじってみたいと思うときもあると思います。
例えば次のような理由です。
- Godot Engineのお気持ちをもっと知りたい
- Godot Engineのバグを調査したい
- Godot Engineの開発に貢献したい
これらを行うには、エンジンをビルドしてデバッグ実行できるようにする必要がありますね。
本記事はGodot Engineのデバッグビルドをして、デバッグ実行するところまで紹介したいと思います。
基本的には公式ドキュメントに書かれています。より詳しく知りたい時はそちらを参照してもらえればと思います。
環境準備
今回はWindowsでVisual Studioを使うことを前提とします。
エンジンをビルドするには次のソフトのインストールが必要です。
- Git
- Visual Studio
- Python
- SCons
インストール済みの場合はスキップしてください。
ある程度の経験者向けのザックリ解説になっているため、不明点などありましたら逐次ググって対処するようお願いします。
Gitのインストール
GitはGitHubからソースコードを入手するために使用します。 今回はCUIで説明するため、Git for Windowsをインストールします。 GUIツールが良ければ、ForkやSourceTreeでも構いません。
Visual Studioのインストール
もし仕事でしたら会社にVisual Studio Professionalを用意してもらいましょう。
個人なら無料でVisual Studio Communityをインストールして使うことができます。
https://visualstudio.microsoft.com/ja/vs/
Pythonのインストール
Godot EngineのビルドするためにSConsと呼ばれるビルドツールが必要です。 SConsをインストールする前にPythonをインストールする必要があります。
インストーラでインストールすると、pythonへのPATHがセットされて、どこでもpython
コマンドが使えるようになると思います。
python
Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
Sconsのインストール
Pythonをインストールすると付いてくるpip
コマンドを使用してSCons
をインストールします。
コマンドプロンプトでインストールを行います。
pip install scons
上手くいくと次のメッセージが出力されると思います。
Collecting scons Using cached SCons-4.4.0-py3-none-any.whl (4.2 MB) Requirement already satisfied: setuptools in c:\devel\python\lib\site-packages (from scons) (65.5.0) Installing collected packages: scons Successfully installed scons-4.4.0
Godotのビルド
ビルド手順はGodot3系とGodot4系で微妙に違うため、それぞれ解説したいと思います。
Godot3編
ソースコードを入手する
現在Godot3系は3.xブランチで開発されています。
そのままgit clone
するとGodot4系のmasterブランチが取れてしまいます。(後でブランチを切り替えればいい話ではありますが…)
そこで今回は、3.xブランチを指定してcloneします。
git clone https://github.com/godotengine/godot.git -b 3.x
また、3.5ブランチ、3.4ブランチなども存在しているので、既存のエンジンバージョンに合わせてソースコードを取得することもできます。
エンジンをデバッグビルドする
git cloneして作成されたgodot
フォルダに移動してscons
コマンドでビルドします。
cd godot scons platform=windows vsproj=yes
vsproj=yesを追加するとVisual Studioプロジェクトファイルを作ってくれるため、ぜひ付けましょう。
上手くいけばgodot/bin
フォルダ内にgodot.windows.tools.64.exe
が出力されていると思います。
Godot4編
ソースコードを入手する
現在Godot4系はmasterブランチで開発されています。
そのままgit clone
すればOKです。
git clone https://github.com/godotengine/godot.git
エンジンをデバッグビルドする
Godot3版と違うところは、デバッグビルドすることを示すdev_build=yes
を付けることです。
cd godot scons platform=windows vsproj=yes dev_build=yes
vsproj=yesを追加するとVisual Studioプロジェクトファイルを作ってくれるため、ぜひ付けましょう。
上手くいけばgodot/bin
フォルダ内にgodot.windows.editor.dev.x86_64.exe
が出力されていると思います。
Godotのデバッグ実行
vsproj=yes
を付けてscons
すると、godot.sln
が作成されています。
こちらをVisual Studioで開いてみましょう。
この状態でデバッグ実行することはできますが、プロジェクトランチャーが起動するだけで、プロジェクトを開いているときのエディタやゲーム実行時のデバッグはできません。(プロジェクトを開いたりゲーム実行するのは別プロセスになるため)
それらを行うにはデバッグオプションのコマンド引数を設定する必要があります。
まずソリューションエクスプローラのgodotを右クリック → プロパティ で次のダイアログが開きます。 コマンド引数のところを変更します。
エディタをデバッグ実行する
プロジェクトを開いたエディタをデバッグするには、次のコマンド引数を設定します。
-e D:\MyProj\project.godot
エディタがデバッグ実行できています。
Visual Studioからブレークポイントを貼ってブレークできることを確認します。
ゲームをデバッグ実行する
プロジェクトのゲーム実行しながらエンジンをデバッグするには、次のコマンド引数を設定します。
--path D:\MyProj
※project.godot
は付けません。
メインシーンが実行されます。
任意のシーン実行したい時は、次のコマンド引数を指定します。
--path D:\MyProj scene.tscn
その他オプションを使うときは、こちらを参照してください。
まとめ
今回は次の内容を紹介しました。
Godot Engineはオープンソースで活発に開発が進められている、現在勢いのあるゲームエンジンです。
比較的簡単にソースコードを見ていじれる。手元で動かして試せるというエンジンです。
バグを直してGitHubでPull Requestすることもできれば、機能追加して提案することもできます。 もし開発者にMergeされればそれはエンジンの一部になり、あなたはコントリビュータの一員になります。
そんな一歩に繋がる?かもしれない記事でした。