

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
はじめに
gdscript とは、Godotエンジンでゲームを作るときに使うプログラミング言語です。Pythonのような文法に近く、初心者にも覚えやすい設計になっています。Godotは無料で使えるオープンソースのゲームエンジンで、2Dや3Dのゲームを作るための機能が揃っています。そのGodotのスクリプト言語が gdscript です。
gdscript とは何か
gdscript は Godot 専用に設計された高水準のスクリプト言語です。動的型付けで、宣言する型を厳密に書かなくても動かすことができます。これにより、初心者でもすぐにプログラムを書いてゲームの挙動を作ることができます。また、Godot のノードと深く連携して動くため、ゲームの要素を操作するのに非常に直感的です。
主な特徴
- Python風の文法で読みやすい書き方ができる
- Godotと統合されたクラスと関数が豊富
- 軽量で動作が速いため、初心者の学習にも適している
基本の書き方と仕組み
gdscript のファイルは通常、拡張子 .gd のテキストファイルとして作成します。これを Godot プロジェクト内のノードに紐づけて、ゲームの挙動を定義します。一般的な流れは以下のとおりです。
1) ノードにスクリプトをアタッチする
2) 該当ノードのイベントに応じて関数を記述する
3) 実行して挙動を確認する
よく使われる基本関数
Godot にはいくつかの特殊な関数があり、ゲームの動作を管理します。代表的なものは次のとおりです。
func _ready(): ノードがシーンに現れたときに1度だけ呼ばれる。初期化処理をここに書くのが基本です。
func _process(delta): 毎フレーム呼ばれる関数。 delta は前のフレームからの経過時間(秒)を表します。ゲームのロジック更新に使います。
短い例を挙げると、画面に文字を表示したい場合、以下のように書きます(改行は文章内での示例です)。
func _ready(): print("こんにちは、世界!")
この例では、ゲームを起動したときにコンソールへこんにちはと表示されます。
基本的な文法の要点を表で見る
| 例 | |
|---|---|
| 変数宣言 | var speed = 200 |
| 条件分岐 | if x > 100: pass |
| ループ | for i in range(5): pass |
| 関数定義 | func _process(delta): pass |
gdscript の実用的な使い方
実際のゲーム開発では、プレイヤーの動き、敵の挙動、アイテムの取得、画面表示など多くの要素を gdscript で扱います。以下はよくあるシナリオの例です。
・プレイヤーが矢印キーで移動する処理
・得点を計算して UI に表示する処理
・衝突判定やイベントの発火
学習のコツとリソース
gdscript の学習には、公式ドキュメントと実際に手を動かして作ってみるのが有効です。公式ドキュメントは日本語ページも用意されており、基本文法、ノードとシーンの考え方、実例とチュートリアルがまとまっています。はじめは小さなゲームから始め、徐々に機能を追加していくと理解が深まります。
注意点
gdscript は動的型付けの言語なので、型を厳密に決めなくても進められますが、後で型を付けることもできます。Godot 4.x 以降では型ヒントを活用したコードの可読性が向上します。最初は 基本の書き方を覚える→小さな機能を作るの順番で学ぶのがおすすめです。
まとめ
gdscript は Godot でゲームを作るときにとても便利な言語です。Python風のシンプルな文法と、Godot のノード操作との統合により、初心者でもすぐにゲームの挙動を作ることができます。まずは小さなスクリプトから始め、段階的に機能を拡張していくとよいでしょう。公式ドキュメントを活用し、実際に自分の手で動かして体感することが、gdscript を身につける近道です。
gdscriptの同意語
- GDScript
- Godotエンジン専用のスクリプト言語。Godotの公式ドキュメントで用いられる正式名称です。
- Godot Script
- GDScriptの英語表記のひとつ。Godotエンジンで使われるスクリプト言語を指す表現として用いられます。
- GDScript language
- GDScriptそのものの言語仕様・特徴を指す英語表現です。
- GDScript言語
- GDScriptを指す日本語表現。Godotエンジン用のスクリプト言語のことです。
- Godot用のスクリプト言語
- Godotエンジンで使うスクリプト言語の総称。実務ではGDScriptを指すことが多いです。
- Godotエンジンのスクリプト言語
- Godotエンジンが提供するスクリプト言語のこと。主にGDScriptを指す表現です。
- Godot Engine scripting language
- Godot Engine(Godotエンジン)で用いられるスクリプト言語の英語表現です。
- GDScript (Godot Script)
- GDScriptという名称の補足表現。Godotエンジン向けのスクリプト言語を指します。
- Godot向けのスクリプト言語
- Godotエンジンで使うスクリプト言語の総称。GDScriptを中心に指すことが多い表現です。
- GD Script
- GDScriptの誤表記・短縮形として使われることがある表現。正しくはGDScriptです。
gdscriptの対義語・反対語
- 非GDScript
- GDScript以外の言語を指します。Godotで使える他のスクリプト言語や一般的なプログラミング言語(例: Python、C#、JavaScript、C++ など)を総称する対義語的な語です。
- 視覚スクリプト
- テキストコードを書かずに、ノードをつなぐことで動作を作るグラフィカルなプログラミング手法。GDScriptのコード記述と対照的です。
- Python
- GDScriptはPython風の文法を取り入れていますが別物。Pythonは別言語としての対義語的存在として挙げられます。
- C#
- Godotで広く使われる代替言語の一つ。GDScriptとは異なる文法・型・エコシステムを持ちます。
- JavaScript
- ウェブで有名な言語。Godotでも使われる選択肢の一つで、GDScriptとは別の言語として対比されます。
- C++
- 低レベル寄りの言語。Godotのネイティブプラグイン開発やC++での実装にも使われ、GDScriptの対義語として挙げられることがあります。
gdscriptの共起語
- Godot Engine
- オープンソースのゲーム開発エンジン。GDScriptの実行環境とエディタ機能を提供します。
- Godot
- Godot Engine の略称。公式文書やコミュニティでよく使われる呼び方です。
- GDScript
- Godot専用のスクリプト言語。Python風の文法で、エンジンと統合された挙動を記述します。
- Node
- Godot の基本的な要素。シーンの構成単位となるオブジェクトです。
- Scene
- ノードの階層構造。ゲームの画面やオブジェクトの配置を表す単位です。
- Script
- ノードに割り当てるコード。GDScriptで記述されることが多いですが、他の言語でも使用できます。
- var
- 変数を宣言するキーワード。型推定を伴うことが多いです。
- func
- 関数を定義するキーワード。処理のまとまりを作る基本単位です。
- export
- 外部から値を設定できるよう公開するキーワード。エディタ上での調整にも使われます。
- extends
- 継承元のクラースを指定するキーワード。父クラスの機能を引き継ぎます。
- class_name
- クラスを名前付きで定義し、他のスクリプトから直接使用できるようにします。
- preload
- リソースを事前ロードしておく関数。起動時の遅延ロードを避けるために使います。
- load
- 実行時にリソースを読み込む関数。必要な時にデータを取得します。
- PackedScene
- シーンをファイル形式でパックしたリソース。動的にインスタンス化して再利用します。
- Resource
- リソースの基底クラス。テクスチャ、サウンド、シーンなどの共通元です。
- Texture
- 画像データを表すリソース。スプライトなどの表示に使います。
- Sprite
- 2D描画の表示要素。Textureを表示するためのノードです。
- Vector2
- 2D空間の座標やベクトルを表す型。位置計算に頻出します。
- Vector3
- 3D空間の座標やベクトルを表す型。3Dゲームで使います。
- Color
- 色を表す型。RGBAなどで色を扱えます。
- Rect2
- 2D領域を表す矩形の型。UIやコリジョン計算に使います。
- Node2D
- 2Dノードの基本クラス。SpriteやCollisionShape2Dの基底です。
- AnimationPlayer
- アニメーションを再生・制御するノード。
- _ready
- ノードがシーンへ追加され、初期化が完了した直後に呼ばれるコールバック。
- _process
- 毎フレーム呼ばれるフレーム更新のコールバック。ゲームロジックの更新に使います。
- _physics_process
- 物理フレームごとに呼ばれる更新処理。物理計算と同期します。
- _enter_tree
- ノードがツリーに追加された時に呼ばれるコールバック。
- _exit_tree
- ノードがツリーから削除される時に呼ばれるコールバック。
- _draw
- 2D描画を自前で行う際に呼ばれる描画コールバック。
- _input
- 入力イベントを受け取る際に呼ばれるコールバック。
- signal
- 独自のイベントを宣言するためのキーワード。別ノードへ通知を送る仕組みです。
- connect
- シグナルと関数を結びつけ、イベント発生時にその関数を呼ぶ設定です。
- onready
- ノードが初期化された後に評価される変数宣言の修飾子。
- yield
- 非同期処理を一時停止して別の処理を待つ方法。旧式の同期手法として使われます。
- await
- 非同期処理の完了を待つ構文。Godot 4系で推奨される待機方法です。
- match
- 条件分岐を分かりやすく書く新しい構文。
- is
- 同一性を判定する比較演算子。
- as
- 型キャストを行う演算子。
- null
- 値が存在しないことを示す特殊値。
- true
- 真を表す真偽値。
- false
- 偽を表す真偽値。
- Dictionary
- 連想配列、キーと値のペアを扱うデータ型。
- Array
- 順序付きデータの集合。
- instantiate
- Godot 4で PackedScene からノードを作成する新しいインスタンス生成メソッド。
- get_node
- シーン階層から特定のノードを名前で取得する関数。
gdscriptの関連用語
- GDScript
- Godotエンジン専用の公式スクリプト言語。Python風の文法で書くことが多く、ゲームの動作を記述します。
- Godot Engine
- オープンソースのゲームエンジン。2D/3Dのゲーム開発をサポートします。
- Script
- GDScriptをはじめとするゲーム用コードの総称。ノードに機能を追加する役割を持ちます。
- extends
- クラスの継承元を指定するキーワード。例: extends Node で Node を継承します。
- var
- 変数を宣言するキーワード。動的型付けで使えるが、型ヒントを付けると静的チェックが効く。
- type hints
- 変数や関数の引数・戻り値に型を明示する機能。例: var speed: int = 200
- export
- エディタ上で設定可能な公開変数を作るキーワード。ゲームの挙動を外部から調整しやすくします。例: export var speed := 200
- const
- 変更不可の定数を宣言します。
- preload
- 実行前にリソースを読み込み、ゲーム起動時の待ち時間を削減します。
- load
- 実行時にリソースを読み込みます。
- PackedScene
- シーンを保存したリソース。instance() で実体化して使います。
- Scene
- ノードの木構造と、ゲームの画面を構成する単位。Godotの基本単位です。
- Node
- Godotの基本的な実体。すべてのノードは Node の派生です。
- Node2D
- 2D空間で使われるノードの基本クラス。位置・回転・拡大を持ちます。
- Node3D
- 3D空間で使われるノードの基本クラス。3D空間の変換を扱います。
- SceneTree
- 現在のシーンの階層を管理する仕組み。get_tree() で操作します。
- get_node
- 指定したノードを参照する関数。ノードパスで指定します。
- get_parent
- 現在のノードの親ノードを取得します。
- _ready
- ノードがシーンツリーに完全に追加され、初期化が終わった時に呼ばれるコールバックです。
- _process
- _process(delta) は毎フレームの更新処理を行います。delta は経過時間です。
- _physics_process
- 物理フレームごとに呼ばれる処理。物理計算と同期可能です。
- _enter_tree
- ノードがツリーに追加された直後に呼ばれるコールバックです。
- _exit_tree
- ノードがツリーを抜ける直前に呼ばれるコールバックです。
- signal
- イベント通知のための宣言。外部と情報をやりとりできる仕組みです。
- emit_signal
- 宣言済みのシグナルを発火します。
- connect
- 別ノードのシグナルを受け取るために、ハンドラ関数を紐付ける設定です。
- class_name
- このスクリプトにグローバルな型名を付け、他のスクリプトから参照しやすくします。
- is / as
- 型チェックには is を、型変換には as を使います。
- match
- 複数のケースを分岐させるパターンマッチ機能です。
- if / elif / else
- 条件分岐の基本構文です。
- for / while
- 繰り返し処理の基本構文です。
- yield / await
- 非同期処理を待つ仕組みです。Godot 4 以降は await が主流です。
- Vector2
- 2D空間の座標・方向を表す2次元ベクトルのデータ型です。
- Vector3
- 3D空間の座標・方向を表す3次元ベクトルのデータ型です。
- Transform2D
- 2D空間での位置・回転・拡大を表す変換データ型です。
- Transform3D
- 3D空間での位置・回転・拡大を表す変換データ型です。
- Color
- 色を表すデータ型。RGBA の値を扱えます。
- Dictionary
- キーと値の組み合わせを保持する連想配列です。
- Array
- 値を順序付きで格納するリスト型です。
- JSON
- JSON形式のデータを解析・生成する API。parse と print/ stringify の機能を提供します。
- Autoload (Singleton)
- 起動時に自動で初期化され、どこからでも参照できるシングルトンです。
- AnimationPlayer
- アニメーションを再生・制御するノードです。
- Tween
- 値を滑らかに補間する機能。時間経過に沿って値を変化させます。
- Input
- プレイヤーの入力を扱う API。キーボード・マウス・タッチなどを検知します。
- InputEvent
- 入力イベントを表すデータ型。イベントタイプごとに情報が格納されます。



















