Godot はオープンソースのゲームエンジンで、2D ゲーム、インディーゲームのプロトタイプ、中規模 3D プロジェクトに向いています。
軽量で起動が速く、ノードとシーンの仕組みが分かりやすいのが特徴です。初心者には Unity より入りやすく、個人開発者にも扱いやすいエンジンです。
まず結論
Godot 入門では、最初から全機能を学ぼうとしないことが大切です。
おすすめの順序は次の通りです。
- まず 2D から始める。
- ノードとシーンを理解する。
- 最初は GDScript を使う。
- 開始、失敗、リスタートがある小さなゲームを作る。
- その後でアニメーション、音、UI、ステージ、エクスポートを足す。
小さなゲームを 1 本完成させる方が、断片的なチュートリアルを大量に見るより効果的です。
Godot に向いている人
Godot は、ゲーム開発をゼロから学びたい人、2D インディーゲームを作りたい人、すばやくプロトタイプを作りたい人、大きな商用エンジンの複雑なワークフローを避けたい人に向いています。
大型商用パイプライン、豊富なアセットストア、モバイル広告 SDK、高品質 3D 表現が必要なら Unity や Unreal の方が成熟しています。ただし学習と個人制作には Godot で十分です。
インストールとプロジェクト作成
Godot は公式サイトからダウンロードし、解凍して実行するだけです。
最初のプロジェクトでは、デフォルト renderer、英語名、シンプルなパス、Git 管理をおすすめします。
|
|
エディタでは Scene、FileSystem、Inspector、Script、2D / 3D ビューをまず覚えます。
ノードとシーン
Godot の中心概念はノードとシーンです。
代表的なノード:
Node2D:2D オブジェクトの基礎。Sprite2D:画像表示。CollisionShape2D:衝突形状。CharacterBody2D:操作可能なキャラクター。Camera2D:2D カメラ。AudioStreamPlayer:音声再生。Label:文字表示。
シーンはノードの組み合わせです。プレイヤー、敵、ステージをそれぞれシーンにできます。
|
|
最初に作るゲーム
最初から RPG、オープンワールド、オンラインゲームを作らない方がよいです。
おすすめは 2D 回避ゲームです。
- プレイヤーが上下左右に動く。
- 敵が画面端から出る。
- 敵に触れると失敗。
- 生存時間がスコア。
- 開始画面、ゲームオーバー、リスタートがある。
これだけで入力、移動、衝突、生成、UI、Timer、音、シーン再読み込みを学べます。
プレイヤー移動
プレイヤーには CharacterBody2D を使います。
|
|
入力 action:
|
|
キーコードを直接書かず、action を使うとゲームパッドやキー変更に対応しやすくなります。
衝突と物理
よく使うノード:
CollisionShape2D:衝突範囲。Area2D:重なり検出。CharacterBody2D:操作キャラクター。RigidBody2D:物理で動く物体。StaticBody2D:壁や地面。
自分で移動を制御するなら CharacterBody2D、接触検出だけなら Area2D が分かりやすいです。
|
|
敵の生成
シーンは prefab のように実体化できます。
|
|
Timer と組み合わせれば、一定間隔で敵を生成できます。
UI、スコア、音
UI は Control 系ノードを使います。CanvasLayer、Label、Button、Panel がよく使われます。
スコア例:
|
|
音は AudioStreamPlayer:
|
|
ゲームは機能だけでなく、音、点滅、揺れ、ボタン状態などの反応で気持ちよくなります。
プロジェクト構成
最初から整理しておくと楽です。
|
|
シーン、スクリプト、画像・音声、UI を分けておきます。
よくある失敗
- ノード種類を間違える。
CollisionShape2Dを忘れる。- キーを直接書く。
- すべてを
Main.gdに詰め込む。 - 最初のゲームを大きくしすぎる。
小さくても完成したゲームの方が、途中で止まった大作より価値があります。
学習順序
- エディタ基本操作。
- ノードとシーン。
- GDScript。
- 入力 action。
- 2D 移動。
- 衝突と
Area2D。 Timerと生成。- UI とスコア。
- 音とアニメーション。
- デスクトップまたは Web へのエクスポート。
まとめ
Godot 入門の鍵は、全機能を覚えることではなく、ゲームの組み立て方を理解することです。ノードがシーンを作り、シーンがゲームを作り、スクリプトが動作を与え、シグナルがイベントをつなぎます。
まずは 2D ミニゲームを完成させましょう。移動、衝突、UI、音、リスタートまでできれば、次に TileMap、セーブ、状態機械、3D、Shader、エクスポート最適化へ進めます。