今回、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ライフを!!
細部