第3回まで無料

Godot 入門コース

インストールから、シーンとノード・GDScript・入力と物理・当たり判定とシグナル・タイルマップ・HUD とセーブデータ・3D の入口・エクスポートまで。全30レッスンで「2D のゲームを 1 本作りきり、ブラウザから遊べる形で公開する」ところまで進みます。バージョン・実行結果・エラーメッセージ・書き出したファイルのサイズは、すべて Godot 4.7.2 で実際に動かした実測値です。

カリキュラム

全30レッスンを6つの章に分けています。第1章から順に進めるのがおすすめですが、 気になるところだけ拾い読みしてもかまいません。 ※ GDScript はブラウザ内で実行できないため、第1回で入れる Godot 4.7.2 のエディタで試してください。Python との違いを見る回だけ、比較用の Python をその場で実行できるようにしてあります。前提は Python の基本で、GDScript は Python によく似ています。

Chapter 1 — Godot を動かす(第1〜5回)

Godot を入れて、エディタの見方とシーン・ノードという考え方を押さえます。最後は GDScript の文法と、Python との違いを自分の言葉で説明できるところまで進みます。

Chapter 2 — 動かす(第6〜12回)

入力を受け取り、キャラクターを歩かせ、ジャンプさせ、コインを拾わせます。最後はノードどうしをシグナルで疎につなぐ書き方まで進みます。

6

スクリプトを付けて動かす(_ready と _process)

ノードに振る舞いを足す唯一の方法がスクリプト。_ready は 1 回、_process は毎フレーム、_physics_process は 60 回。delta を掛ける理由まで。

🔒 ベーシック
7

入力を受け取る(InputMap とアクション)

キーコードを直接見ない。アクション名を経由すると、キーボードとゲームパッドが同じコードで動く。get_axis と get_vector まで。

🔒 ベーシック
8

Sprite2D と座標(描く・並べる・重ねる)

Y は下向き。座標は親からの相対で、global_position が画面上の絶対位置。描く順番は木の並び順で決まる。

🔒 ベーシック
9

CharacterBody2D で歩く(move_and_slide)

velocity を決めて move_and_slide() を呼ぶだけ。引数は 0 個。壁に沿って滑る理由と、move_toward で加速をつけるところまで。

🔒 ベーシック
10

重力とジャンプ(is_on_floor と初速の決め方)

重力は毎フレーム velocity.y に足す。ジャンプの初速から到達する高さは計算できる。押しっぱなしで飛び続けないための is_on_floor。

🔒 ベーシック
11

Area2D で当たり判定(コインを拾う)

押し返さずに「触れた」だけを知りたいときは Area2D。body_entered と area_entered の違い、拾ったあとの queue_free まで。

🔒 ベーシック
12

シグナル(ノードどうしを直接つながない)

emit する側は誰が聞いているかを知らない。connect・bind・CONNECT_ONE_SHOT・await の 4 つで、コードの依存を一方通行にする。

🔒 ベーシック

Chapter 3 — ゲームにする(第13〜19回)

画面を分け、スコアを持ち越し、敵を自動で出し、タイルでステージを組み、音を鳴らします。遊べる形に必要なものがこの章でそろいます。

13

シーンを切り替える(タイトルからゲームへ)

change_scene_to_file は「次のフレームで差し替える」予約。前のシーンは丸ごと消えるので、残したい値の置き場所が必要になる。

🔒 ベーシック
14

オートロードでスコアと状態を持つ

シーンをまたいで生き残るノードを 1 つ置く。どこからでも名前で呼べる代わりに、何でも入れると全部がそこに依存する。

🔒 ベーシック
15

PackedScene で敵を増やす(instantiate と queue_free)

シーンを設計図として読み、instantiate() で実体を作る。追加は add_child、削除は queue_free。増減するものは全部この形になる。

🔒 ベーシック
16

敵を自動で出す(Timer と乱数)

一定間隔は Timer、ばらつきは RandomNumberGenerator。seed を固定すると毎回同じ順番で出るので、バグの再現ができる。

🔒 ベーシック
17

TileMapLayer でステージを作る

Godot 4.3 から TileMap は TileMapLayer に分かれた。セル座標とワールド座標の往復、当たり判定の付け方、使っている範囲の調べ方。

🔒 ベーシック
18

衝突レイヤーとマスク(当たらないときはここを見る)

layer は「自分が何か」、mask は「何を見るか」。ビットで持っているので数値で確認できる。RayCast2D で足元と視線を調べるところまで。

🔒 ベーシック
19

音を鳴らす(AudioStreamPlayer とバス)

2D 用と位置なし用でノードが違う。同時に鳴らすには専用の作り方が要る。音量は dB で、0.5 倍は -6 dB。

🔒 ベーシック

Chapter 4 — UI と保存(第20〜24回)

Control ノードで HUD とメニューを組み、閉じても続きから遊べるようにします。最後は調整用の数字をスクリプトの外に出すところまで進みます。

Chapter 5 — 3D にも触れる(第25〜27回)

2D で覚えたことがそのまま 3D でも通じることを確かめます。最後は 3D のキャラクターを歩かせて着地させる実践課題に取り組みます。

Chapter 6 — 出す(第28〜30回)

PC 向けと Web 向けに書き出して、他人が遊べる URL を作ります。最後は Unity・Unreal との使い分けを整理して、次の 1 本へつなげます。

全30レッスンを終えたら、次は 3D のレースゲームを 1 本作りきる Unity ゲーム開発入門コース や、キャラクターと背景を自分で用意できるようになる Blender Python 入門コース へ。メンバーシップで全コースが解放されます。