Godotを始めて触ってみた(2D, SVGアイコンを動かすだけ)
ゲーム制作についてはUnityを触ってきた。
無料でゲームを作りたい人にとって、Unity VS Unreal Engineみたいな構図がずっとあったが、最近はGodotというのが人気らしい。
Godotの立ち位置
Geminiに概要を聞くとこのように帰ってきた。
違いまとめ
- Unity: 汎用性が高く、アセットや情報が豊富で2D・3D・モバイルなど何でも作れる業界標準。
- Unreal Engine: 高品質な3Dグラフィックスに特化し、大規模・美麗なゲーム開発に向く。
- Godot: 完全無料・オープンソースで、動作が非常に軽く2D開発に強い。
まあ概ね体感のイメージで、”オープンソースでUnityみたいなかっちり感はないけど、手軽で、2Dゲーム開発にはいいよね”みたいな。
ただ調べたら3Dも作れないわけではないみたい。
御三家での3D開発比較
- 開発性能: 独自の描画エンジンで、個人のPCでもサクサク動く軽量な3Dゲームが作れます。
- 機能: 物理演算やアニメーションなど、3Dに必要な基本機能はすべて標準装備されています。
- 強み: 複雑な設定なしで、ボタン一つで3D空間にリアルな影や光を表現できます。
2Dプロジェクトを動かしてみる
とりあえず公式からMacBookにダウンロードしてみた。
OSSらしくAppStoreから落とすわけではないらしい。

Create Newを押すとこの画面。Version Control MetadataとしてGitを使うかどうかを選べるのがOSS文化っぽくてテンション上がります。
オプションを「Git」にしておくと勝手に.gitディレクトリなどを作ってくれるようです。
立ち上がりは結構遅いかも。10秒くらいかかりました。
まずは2D Sceneの作成から。画面左上から「2D Scene」ボタンを押し、2D Nodeを作成。
このNodeを基本単位に(つまりゲームを構成するキャラクターや敵、アイテム、弾やエフェクト)開発を進めるらしく、UnityでいうところのGameObjectと理解した。
GeminiにUnityとの違いをまとめさせると次の通り。
- 単体で機能を持つ: Unityのようにコンポーネントを後付けせず、最初から「カメラ」「ライト」などの役割が決まったノードを選んで使います。
- 親子で組み立てる: 親ノード(体)を動かせば子ノード(手足)も付いてくるという、ツリー状の親子関係でゲームの仕組みを作ります。
- すべてがシーンになる: キャラクターや弾などの「部品」も一つのシーンとして保存でき、それを他のシーンへノードとして自由に配置できます。
1.カメラやライトのような当たり前の機能をcomponentではなく、初めから別個に扱うのは合理的。
2.についてはUnityと変わらないような......。
3.はイマイチ理解が追いつかない。
詳しく聞いてみた。
- 境界線がない: Unityでは「Scene(場面)」と「Prefab(部品)」は別物ですが、Godotではどちらも全く同じ「.tscn」という形式です。
- 入れ子構造: 「敵シーン」を作って保存したら、それを「ステージシーン」の中に一つのノードとして何個でも放り込めます。
- どこでもテスト可能: ステージ全体を動かさなくても、作った「敵シーン」だけを単体で再生して動きを確認できます。
とりあえず左下のFileSystemというエリアからicon.svgを画面にドラッグして配置。

左上のエリアSceneの配下にIconが作られた。

これにScriptを設定してみよう。
右クリックでAttach Script -> Path[1]を設定してLoad
icon.gdというファイルを作りました(画面左下のFileSystemエリアに作られる)。
上側の切り替えタブからScript(巻物のマーク)に切り替え、コードを書きます[2]。
extends Sprite2D
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
if Input.is_action_pressed("ui_right"):
position.x += 200 * delta
pass
プレイするには画面右上にある再生ボタン("Run Project", Command + B)を押す。

このように別画面でプレイするスタイルらしい。
右キーを押すとアイコンが動くようになった。
使ってみた印象
- UIはシンプルで好き。増築を重ねた感じのヘビーな外観(構造的にもだが)のUnityよりは良い
- 思っていたほどクセがなく、Unity使いからでも意外とすんなり慣れることができそう
3D編もまたアップしたい。
Discussion