超基本単語
Scene(シーン)
Godotの中心概念。 「ゲームの部品」みたいなもの。 プレイヤー1体だけでもSceneにできるし、タイトル画面全体でもSceneにできる。
例えば:
- Player.scene
- Enemy.scene
- MainMenu.scene
- Stage1.scene
みたいに全部Scene化できる。 Godotは「Sceneを組み合わせてゲームを作る」思想がかなり強い。
Node(ノード)
Sceneの中に入ってる部品。
例えばプレイヤーSceneなら:
Player
├ Sprite2D
├ CollisionShape2D
├ Camera2D
└ AudioStreamPlayer
みたいにNodeが木構造で並ぶ。
Tree(ツリー)
Nodeの親子構造。 Godotは全部Treeで管理される。
Root
└ Main
└ Player
└ Camera2D
みたいな感じ。 「親Nodeが消えると子も消える」とか重要。
よく使うNode
Node2D
2D用の基本Node。 位置・回転・拡大縮小を持つ。 2Dゲームの土台。
CharacterBody2D
2Dキャラ移動用Node。 プレイヤーとか敵に使う。
velocity.x = 100
move_and_slide()
みたいな。
Sprite2D
画像表示。 キャラ画像とか。
AnimatedSprite2D
パラパラアニメ。 歩きモーションとか。
CollisionShape2D
当たり判定の形。 四角とか丸とか。 これ単体では動かないので、PhysicsBody系Nodeと組み合わせる。
Area2D
「触れたことを検知するエリア」。
- アイテム取得
- 異常発生エリア
- 視界判定
とか超便利。 監視ゲームとも相性いい。
Camera2D
カメラ。 プレイヤー追従とか。
TileMapLayer / TileMap
タイル配置。 マップ作るやつ。 最近のGodot 4系では内部構造かなり変わった。 君がやろうとしてる「異常でマップ変化」とかなり相性いい。
スクリプト関連
GDScript
Godot標準言語。 Pythonっぽい。
func _ready():
print("hello")
かなり書きやすい。
_ready()
初期化時に1回呼ばれる。 Unityの Start() に近い。
_process(delta)
毎フレーム呼ばれる。
func _process(delta):
position.x += 100 * delta
_physics_process(delta)
物理更新。 移動系はこっちが多い。
シグナル(超重要)
Signal
Godot最大の特徴の一つ。 イベント通信システム。
ボタン押された
↓
別Nodeに通知
みたいな。
例:
button.pressed.connect(_on_pressed)
監視ゲームの:
- 異常発生
- カメラ切替
- アラート
- ドア開閉
全部Signalで作りやすい。
リソース系
Resource
データだけを持つオブジェクト。
例えば:
- アイテム定義
- 異常定義
- 敵ステータス
とか。
君のゲームなら:
AnomalyResource
- 発生場所
- 条件
- 画像
- 音
- rarity
みたいにするとかなり綺麗。
PackedScene
Sceneを保存したもの。 生成に使う。
var enemy = preload("res://Enemy.tscn").instantiate()
インスタンス化
instantiate()
Sceneを生成すること。 UnityのInstantiateとほぼ同じ。
ファイル関連
res://
プロジェクトフォルダ。
res://player/player.png
user://
セーブデータ保存先。
入力
Input
キー入力。
Input.is_action_pressed("move_left")
Input Map
キー設定画面。
move_left → Aキー
みたいに名前で管理する。 かなり大事。
物理
RigidBody2D
物理演算で動く。
StaticBody2D
動かない壁。
Collision Layer / Mask
「誰と当たるか」。 最初かなり混乱するやつ。
例えば:
Player layer = 1
Wall layer = 2
Enemy sees layer 1
みたいな。
UI
Control
UIの基本Node。
CanvasLayer
UIを画面固定にする。
実践で超重要な概念
Autoload
グローバル管理。
- GameManager
- AudioManager
- SaveManager
とか。
Singleton
実質Autoload。 どこからでもアクセスできる。
Godot初心者が最初に理解すると急に楽になる概念
特に大事なのは:
- Scene = 部品
- Node Tree = 親子構造
- Signal = 通信
- Resource = データ定義
- PackedScene = 生成用テンプレ
この5つ。 ここ理解すると、「Godotってこういう思想なんだ」って急に見えてくる。
特に君の監視ゲームだと:
- 異常定義 → Resource
- 異常発生 → Signal
- カメラ → Scene
- 部屋 → TileMap
- 異常生成 → instantiate()
みたいにかなり綺麗にハマる。