オンラインGDScriptコンパイラ
コードスニペットを書いて、実行して、共有できます - セットアップ不要。
ブラウザでGDScriptをオンライン実行
無料で使えるGDScriptのオンラインプレイグラウンド兼コードランナーです。ブラウザでGodotスクリプトを書いて「実行」を押すと、ヘッドレスのGodot 4エンジンが数秒で実行します。Godotエディタのダウンロードも、プロジェクトの作成も、インストールも必要ありません。
ファイル main.gd は1つのノードだけのシーンとして実行されます。スクリプトはシーンツリーに追加されるので、_init() と _ready() はゲームの中と同じように呼ばれ、最初のフレームのあとでプログラムが終了します。出力はすべてコンソールに表示されるため、静的型、配列と辞書、match、クラス、内部クラス、シグナルといった言語そのものを手早く練習するのに向いています。エディタはVS Codeと同じエンジンで作られており、タブでインデントします。
このGDScriptプレイグラウンドが役立つ理由
- 本物のGodotで実行:スクリプトはエミュレータではなくヘッドレスのGodot 4エンジンで動くため、組み込み型、
print()、文字列フォーマット、GDScriptの標準関数がGodotエディタとまったく同じように動作します。 - 標準入力に対応しています。
OS.read_string_from_stdin()を呼ぶたびにプレイグラウンドの入力欄から1行を読み込み、改行は取り除かれています。最初のサンプルのように、名前と数値を入力として受け取るスクリプトも書けます。 - わかりやすいエラー:実行時エラーはメッセージ付きで出力に表示され、タブとスペースが混在したファイルはGodotと同じく実行前に拒否されます。エディタはタブでインデントするので、インデントが揃ったままになります。
- すべて無料でオープンソース:GodotはMITライセンスで、プレイグラウンドはアカウントもダウンロードもGodotプロジェクトも不要です。
GDScriptプレイグラウンドで作れるもの
- 文字列フォーマットと計算:
%プレースホルダー('%s has %d HP' % [name, hp])やString.format()で出力を組み立て、snappedf()で丸め、:=の型推論で型付き変数を試せます。 - 配列と辞書:型付き配列(
Array[int])、ラムダを使ったmap()、filter()、reduce()、そしてfor key in inventoryでループするアイテムのステータス辞書。 - ゲームなしのゲームロジック:プレイヤーの状態で分岐する
match文、connect()で接続してemit()で発行するsignal health_changed(value)を持つクラス、スクリプト内にclass Enemy:で宣言する内部クラス。
オンラインGDScriptコンパイラのよくある質問
オンラインGDScriptコンパイラは無料ですか?
はい。GDScriptプレイグラウンドは無料で、登録もGodotのダウンロードも不要です。Godot自体もMITライセンスの無料オープンソースソフトウェアです。
Godotエディタをインストールする必要はありますか?
いいえ。スクリプトはCoddyのサーバー上のヘッドレスなGodot 4エンジンで実行され、数秒で出力が返ってきます。Godotエディタ、エクスポートテンプレート、プロジェクトフォルダはどれも不要です。
プレイグラウンドでは _ready() と _init() はどう動きますか?
main.gd は1つのノードに割り当てられ、そのノードがシーンツリーに追加されます。まず _init()、次に _ready() が実行され、最初のフレームのあとでプログラムが終了します。extends のないスクリプトでは _init() が実行されます。動き続けるゲームループはないので、実行したいコードは _ready() か _init() に書いてください。GDScriptプレイグラウンドは標準入力(stdin)に対応していますか?
はい。入力欄に1行に1つずつ値を入力してください。
OS.read_string_from_stdin() を呼ぶたびに次の行が改行なしで返ってくるので、最初のスクリプトのように int() や float() で変換できます。シーン、スプライト、物理演算は使えますか?
いいえ。プレイグラウンドはGDScriptをコンソール用のコードとして実行します。ウィンドウも描画も物理演算もなく、ほかのシーンを読み込むこともできないため、
Sprite2D のようなノードは何も表示せず、_process() のループもありません。print() に渡したものはすべて出力に表示され、型、コレクション、match、クラス、シグナルといった言語そのものの学習には十分です。インデントのエラーでスクリプトが失敗するのはなぜですか?
GDScriptはインデントでブロックを区切り、Godotはタブとスペースが混在したファイルを拒否します。エディタはGodotエディタと同じくタブでインデントするので、ファイル全体でタブを使ってください。スペースでインデントされたコードを貼り付けた場合は、同じようにタブでインデントし直してください。
プレイグラウンドを試したあと、GDScriptはどう学べばいいですか?
最初のスクリプトを書き換えて「実行」を押し、試行錯誤してみてください。体系的に学びたくなったら、CoddyのインタラクティブなGDScriptコースで型付き変数、match文、配列と辞書、列挙型、クラス、継承、シグナルを学べます。すべての演習が本物のGodotエンジンで動き、セクションごとに修了証がもらえます。
GDScriptに役立つツール
GDScript プレイグラウンドと相性の良い、ブラウザベースの無料ツール - すべて Coddy の一部です。