今回、Godotというゲームエンジンを学習します!
10分で完成する3ファイルの動く最小アプリを通してコードを検証することで、Godotの基本設計を自然に理解できます!
Godotの3つの基本概念
ノード(Node)
ノードはGodotにおける最も基本的な構成要素です。
ボタン、ラベル、画像表示など、それぞれ特定の機能を持つ部品として機能します。
すべてのノードはNodeクラスから継承されており、親子関係を形成できます。
シーン(Scene)

シーンは複数のノードを組み合わせて作られる構造体です。
画面やゲームオブジェクトを表現し、.tscn
ファイルとして保存されます。
シーン自体も一つのノードとして他のシーンから利用できるため、再利用可能な設計が可能です。
スクリプト(Script)
スクリプトはノードに動作を与えるプログラムコードです。
GDScriptというPythonライクな言語で記述し、ノードにアタッチすることで機能を追加できます。
事前準備
まずは、Godot公式サイトからエンジンをダウンロードしましょう!
まずは動かしてみる
以下の3ファイルを作成してください。
MyFirstApp/
├── project.godot
├── scenes/main/Main.tscn
└── scripts/ui/UIController.gd

ファイル1: project.godot(設定ファイル)
[application]
config/name="MyFirstApp"
run/main_scene="res://scenes/main/Main.tscn"
[display]
window/size/viewport_width=800
window/size/viewport_height=600
解説
・アプリの名前は「MyFirstApp」
・起動時にMain.tscn
を開く
・ウィンドウサイズは800×600
ファイル2: Main.tscn(画面の構造)
[gd_scene load_steps=2 format=3 uid="uid://main_scene"]
[ext_resource type="Script" path="res://scripts/ui/UIController.gd" id="1"]
[node name="Main" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
script = ExtResource("1")
[node name="CenterContainer" type="CenterContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer"]
layout_mode = 2
[node name="Title" type="Label" parent="CenterContainer/VBoxContainer"]
layout_mode = 2
text = "My First Godot App"
horizontal_alignment = 1
[node name="ClickButton" type="Button" parent="CenterContainer/VBoxContainer"]
layout_mode = 2
text = "Click Me!"
[connection signal="pressed" from="CenterContainer/VBoxContainer/ClickButton" to="." method="_on_button_clicked"]
解説
・複数のノードを組み合わせて画面の構造を定義している
画面の構成:
Main(全体の枠)
└── CenterContainer(中央寄せ)
└── VBoxContainer(縦並び)
├── Title「My First Godot App」
└── ClickButton「Click Me!」
ファイル3: UIController.gd(動作プログラム)
extends Control
var click_count = 0
func _ready():
print("アプリが起動しました")
func _on_button_clicked():
click_count += 1
print("ボタンが " + str(click_count) + " 回クリックされました")
var button = $CenterContainer/VBoxContainer/ClickButton
button.text = "クリック回数: " + str(click_count)
解説
GDスクリプトファイルで動作を制御します

実際に動かしてファイルの関係を確認
Godotを起動しましょう!
「MyFirstApp」プロジェクトをインポートしましょう。
project.godotファイルが直下にあるディレクトリを指定してください。

ゲームを起動しましょう!
右上のプロジェクト実行ボタンを押下してください!

「My First Godot App」の画面が表示されます!(おめでとうございます!

遊んでみよう!
そして、「Click Me!」ボタンを押すとテキストが変わります。
この動作を見ながら、各ファイルがどう連携しているかを観察しましょう。
例)
・project.godot
がMain.tscn
を指定している
・Main.tscn
が画面構造とスクリプトファイルを指定している
・UIController.gd
が実際の処理を実行している
ファイルから学べること
1. 宣言的な設計
.tscn
ファイルは「こんな画面を作りたい」という宣言を書いたテキストファイルです。
2. 階層構造の理解
parent="..."
の記述で、画面要素の親子関係が明確になります。
3. イベント処理の仕組み
[connection]
の行で、「ボタンが押されたら、この関数を呼ぶ」という指示が書かれています。
4. ファイル間の依存関係
どのファイルがどのファイルを参照しているかが、テキストから読み取れます。
最後に
お疲れ様です!
3つのファイルでサクッとGodotデビュー成功!
次は“どう繋がって動くか”を腹落ちさせていきましょう。
今日から楽しいGodotライフを!!
細部