gdscript とは?初心者向けに解説するGDScript入門ガイド共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
gdscript とは?初心者向けに解説するGDScript入門ガイド共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢: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("こんにちは、世界!")

この例では、ゲームを起動したときにコンソールへこんにちはと表示されます。

基本的な文法の要点を表で見る

<th>機能
変数宣言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
入力イベントを表すデータ型。イベントタイプごとに情報が格納されます。

gdscriptのおすすめ参考サイト


ゲームの人気記事

ff14とは?初心者が知っておくべき基礎ガイドと始め方共起語・同意語・対義語も併せて解説!
152viws
ps1とは?初心者向けPlayStation 1の魅力と遊び方ガイド共起語・同意語・対義語も併せて解説!
100viws
ソニー・インタラクティブエンタテインメントとは?初心者でもわかる基本と役割共起語・同意語・対義語も併せて解説!
89viws
リセマラ・とは?初心者向け基本と注意点をわかりやすく解説共起語・同意語・対義語も併せて解説!
80viws
ギルドマスターとは?初心者向けガイド:ゲーム内の組織を率いる役割共起語・同意語・対義語も併せて解説!
70viws
クロスファイアとは?初心者がすぐ分かる意味と活用ガイド共起語・同意語・対義語も併せて解説!
63viws
dualsenseとは?PS5の新感覚コントローラーでゲームを変える理由共起語・同意語・対義語も併せて解説!
60viws
ブラスターとは?初心者向け解説と使い方ガイド共起語・同意語・対義語も併せて解説!
60viws
ゲームディベロッパー・とは?初心者が知るべき基本と仕事の流れ共起語・同意語・対義語も併せて解説!
58viws
taunt・とは?オンラインでの使い方と意味をわかりやすく解説共起語・同意語・対義語も併せて解説!
58viws
非対称ゲーム・とは?初心者にやさしい解説と実例共起語・同意語・対義語も併せて解説!
58viws
マギアレコード・とは?初心者が押さえる基本と魅力をわかりやすく解説共起語・同意語・対義語も併せて解説!
58viws
ローカルプレイとは?初心者にやさしい遊び方と始め方ガイド共起語・同意語・対義語も併せて解説!
56viws
アインクラッドとは?初心者のためのわかりやすい解説とポイント共起語・同意語・対義語も併せて解説!
56viws
アンチチートとは?ゲームを守る仕組みを中学生にもわかる解説共起語・同意語・対義語も併せて解説!
55viws
角換わり・とは?初心者向け将棋の基本戦法ガイド共起語・同意語・対義語も併せて解説!
55viws
psvr2とは?初心者でも分かるPSVR2の基本と楽しみ方共起語・同意語・対義語も併せて解説!
55viws
最後の一手・とは?初心者にも分かる意味と活用のコツ共起語・同意語・対義語も併せて解説!
54viws
全振り・とは?初心者でも分かる意味と使い方ガイド共起語・同意語・対義語も併せて解説!
54viws
xcom・とは?初心者にもわかるX-COMの基本と遊び方ガイド共起語・同意語・対義語も併せて解説!
53viws

新着記事

ゲームの関連記事