目次
Godotとは
公式ドキュメントでは次のように紹介されています。
Godotエンジンは機能豊富な、クロスプラットフォームのゲームエンジンであり、2D・3Dゲームを単一のインターフェイスで製作することができます。基本的なツールは一通り用意され、ユーザーはプログラムの再発明をすることなくゲーム製作に集中できます。製作したゲームは主要なデスクトップ環境(Linux, MacOS, Windows)や、モバイル(Android, iOS)、Webベース(HTML5)環境にワンクリックで書き出せます。
Godot はMITライセンスの下、完全に自由でオープンソースです。利用に関して特に制限はありませんし、利用料を請求することもありません。エンジンのコードの最後の一行まで、ゲームは製作したユーザーのものです。Godot は自主的なコミュニティによって開発されており、エンジンを期待にかなうものにするため、ユーザーの方々も自由に参加できます。Godot は非営利団体 Software Freedom Conservancy によって支援されております。
その他、エディターや対応プラットフォームなど、こちらの公式のよくある質問に掲載されています。
Godotを選ぶ理由
- オープンソースなので、無料で、自由に使える
- 機能がコンパクトなので、古かったり、性能が低い環境でも動く
- プレイヤーの個人情報を勝手に集めない
個人的に最重視しているのは、3点目です。
UnityやUnreal Engineと比べると、開発規模が小さいので、機能面での優位性は感じられません。特に、デフォルトで使えるレンダリングの多彩さやスクリプトエディターの機能には相当な差があります。
UnityとUEに共通するのは、運営への不安です。ランタイムフィーのように強制的にプレイヤーの個人情報を収集しようとしたり、一方的に将来の方針を決められたり、大手の配信サイトと訴訟合戦してみたり、制御できないところで発生するリスクがあります。
オープンソースであるGodotでは、そのようなことがありません。気に入らないことがあれば、自力救済が可能です。UnityやUEへの完全な依存は怖い。かといってフルスクラッチで自作ゲームエンジンを作るのは大変。という場合、Godotはよい選択肢になります。
中小規模のゲーム開発、特に、2Dゲームの開発に適しています。低予算の試作開発や、ちょっとした3Dのウォークスルーサービスの開発などにも、よい選択肢になるでしょう。
セットアップが簡単で、高性能なPCでなくても動作するので、ゲーム開発の学習にも適しています。自分の手でゲームを作りたいハンドメイド派の人向きです。
とっつき難易度
UnityやUnreal Engineに比べると、初手で必要とされる知識は、やや多いです。Godotのコンセプトは、ノードを組み合わせるというだけのとてもシンプルなものです。しかし、シンプルすぎて、やりたいことにたどり着くまでに必要な手数は増えます。例えば、3Dの球体を作成して、物理シミュレーションで落下させる手順を、Unityと比較してみます。
Unityなら、以下の3手です。
- 新規ゲームオブジェクトを、Sphereで作成
- 作成したSphereを、よさそうな位置へ移動
- Rigidbodyをアタッチ
同じことをGodotでやろうとすると、以下のようになります。
- シーンをまとめるルートノードをNodeなどで作成
- ルートノードの子に、RigidBody3Dノードを作成
- RigidBody3Dの子に、MeshInstance3Dノードを作成
- メッシュとして、SphereMeshを作成
- RigidBody3Dの子供に、CollisionShape3Dノードを作成
- 当たり判定の形状として、SphereShape3Dを作成
- ルートノードの子に、Camera3Dを作成
- 球体がよさそうな場所へ移動
Unityでは、よく使う構成が予め用意されているので、すぐ動かすことができます。また、シーンやゲームオブジェクト、コンポーネント、プレハブというように、要素が適度に整理されていて、扱いやすいです。UnityやUEは、多彩なパーツが用意されたキットのレゴブロックを組み立てて開発するような手軽さがあります。
Godotは、細かいパーツを組み合わせて、目的のものを組み立てます。一から組み立てる必要があるので、手間がかかります。その代わり、目的にぴったりのものを、無駄なく作れます。同じレゴブロックでも、Godotは、レゴショップで目的にあったパーツを自分で集めて組み立てるような自由度があります。
開発言語
開発言語はいくつか選択肢がありますが、GDScriptという独自言語が推奨されています。字下げでコードのブロックを表すなど、Pythonに雰囲気が似ています。
C#の対応が進んでいますが、正式にエクスポートできるプラットフォームは、4.6の時点では、デスクトップPCのみです。iOSやAndroidは実験的な対応で、HTML5は未対応です。エクスポート先がPCのみなら、C#は有力な選択肢です。ゲームジャムに参加する場合など、Webビルドを予定しているなら、GDScriptを選びます。
GDScriptは、スクリプトが簡潔になるのがメリットです。また、実行をしながらスクリプトの変更を反映できるホットリロードも大きな武器です。一方、ダックタイピングが大きなデメリットです。ダックタイピングの柔軟性は、修正が容易なエディター拡張や自家製ツール開発には有用ですが、リリースする製品のビルドには向きません。実行しないとタイプミスを発見できないので、テストの負担が増えます。オートコンプリートや一括リネーム、参照先の検索などの機能も弱くなります。
Godotをはじめて使うなら、GDScriptから始めることをおススメします。GDScriptは、Godotの思想から生まれた言語なので、Godotの良いところや悪いところを直に知ることができます。AIの学習も進んでいるので、GeminiやCopilotでも、GDScriptのコードは生成できます。2年前は、初学者はUnity+C#がいいのでは、と書いたのですが、現在は、GDScriptでいきましょうという意見です。
人気
2025年度のグローバルゲームジャムでのGodotのシェアは、2位で20%でした。ちなみに、1位はUnityで、64%でした。
Global Game Jam 2025: Jammer Survey Data
2023年には、Unreal Engineに次ぐ3番手だったので、順調にシェアを伸ばしているようです。
まとめ
前回、本記事を執筆した2024年からの2年で、Unityは、Unreal Engineと似たようなヘビーなゲームエンジンへと歩みを進めました。コンパクトで手軽に使えるゲームエンジンとして、Godotの価値が確立されたと感じています。
利用歴2年で感じたGodotの使いどころは、次のとおりです。
- 趣味や、小予算のプロジェクト
- 2Dやレトロ3Dといった最先端のハードウェア機能を使わないプロジェクト
- プレイヤーの情報を収集したくないプロジェクト
- 最先端の技術を自前で実装するプロジェクト
最近、取り組んでいる「趣味としてのゲーム開発」では、Godotはぴったりな選択肢です。自分で構造を手作業で組み立てるGodotは、ゲームを作っている感を強く持てます。
本サイトでは、趣味のゲーム開発の視点で、Godotの使い方を紹介していきます。