結論

Godot Engineは、無料・MITライセンスで使えるオープンソースの2D・3Dゲームエンジンです。最新の安定版は4.7.2(2026年8月18日)です。

この記事でわかること

  • GDScript文法早見表30項目と構文確認済みのコード4本
  • コインを集める2Dゲームを作る6手順
  • エラー・症状10件の直し方とUnity・UE5との違い表

2026年10月22日更新|Godot 4.7.2の公式ドキュメント・gdtoolkit 4.5.0で確認

Godot は、ダウンロードした zip を展開して起動し、ノードを組み合わせてシーンを作り、GDScript で動きを付け、F5 で試して、最後に書き出す、という順に使います。インストールの作業はありません。

flowchart TD
    A[zip を展開して<br>エディタを起動] --> B[プロジェクトを作る<br>レンダラーを選ぶ]
    B --> C[ノードを組んで<br>シーンを作る]
    C --> D[GDScript で<br>動きを付ける]
    D --> E[F5 で試す]
    E --> F[書き出して<br>配布する]

急いでいる人向けに、よく調べられることの答えを先にまとめます。

知りたいこと 答え 詳しい節
読み方・何か ゴドー(ゴドット)。オープンソースのゲームエンジン Godotとは
無料か・商用利用 すべて無料。商用も可。ロイヤリティなし 特徴とライセンス
最新版 4.7.2(2026年8月18日) Godotとは
インストール 公式サイトの zip を展開して実行するだけ インストール
日本語化 プロジェクトマネージャーの「Settings」で言語を選ぶ インストール
使う言語 GDScript(Python に似た文法)・C#・C++ GDScript早見表
最初の一歩 2D の小さなゲーム(この記事の6手順) 2Dゲームの作り方
Unity・UE5 との違い 料金の仕組み・言語・ライセンスが違う 違い表
動かない・エラー エラー文で引く表を用意 よくあるエラー

確認環境:Godot 本体の仕様・必要スペック・ダウンロードの種類・エディタの画面・GDScript の文法・C#(.NET 版)・コマンドラインのオプション・書き出し・バージョン管理は、Godot Engine の公式サイト(Download・License・4.7 のリリースページ・4.7.1/4.7.2 の告知)と公式ドキュメント(stable 版、godot-docs リポジトリのソースも参照)で、エラー文は Godot 4.7.2-stable のソースコード(node.cpp・gdscript_vm.cpp)で、生成される .gitignore の中身は同じくソースコード(editor_vcs_interface.cpp)で確かめました。この記事で書いた GDScript 4本は、Ubuntu 24.04・Python 3.11.15 で GDScript のパーサー・リンター・フォーマッター gdtoolkit 4.5.0(gdparse・gdlint・gdformat)にかけ、構文エラーと書式の指摘が無いことを確かめています。移動量の計算は Python 3.11.15、.gitignore の効き方は git 2.43.0 の check-ignore、C# の CS1612 は .NET SDK 8.0.131 で実行しました。Unity・UE5 の料金は各公式ページで確かめました(確認日 2026年10月22日)。

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「Godot Engineとは|始め方・GDScript・2Dゲームの作り方を解説」

Godot Engineとは(読み方・最新版・特徴)

この節では、Godot がどんなソフトで、今どの版が最新かが分かります。

Godot Engine(読み方はゴドー、ゴドットなど)は、2D と 3D のゲームを作れる、無料でオープンソースのゲームエンジンです。 ゲームエンジンは、画面の描画・物理・音・入力・アニメーションなど、ゲームに共通する部品と、それを組み立てるエディタをまとめたソフトです。名前はサミュエル・ベケットの戯曲『ゴドーを待ちながら』から来ていて、英語でも「ゴドー」「ゴドット」など複数の読み方があります(英語版 Wikipedia)。

アルゼンチンの Juan Linietsky と Ariel Manzur が開発を始め、2014年に MIT ライセンスでソースコードが公開されました。2022年11月には、開発を支える非営利の Godot Foundation への移行が発表されました。開発は世界中の協力者が行っています。

1完全に無料

MIT ライセンス。売上に応じたロイヤリティも、有料プランも無い。作ったゲームの著作権は作った人のもの。

2軽くてすぐ使える

zip を展開して実行するだけ。公式 FAQ は「5分以内にダウンロード・展開・実行できること」を目標に挙げている。

32D 専用のエンジン

3D とは別に、ピクセル単位の座標で動く 2D のエンジンを持つ。2D ゲームを作りやすい。

4ノードとシーン

小さな部品(ノード)を木の形に組んでシーンにし、シーンを組み合わせてゲームを作る。

Godot の歩みと、2026年10月22日時点の版です。

時期 出来事
2014年2月 MIT ライセンスでソースコードを公開
2014年12月 最初の安定版 1.0
2018年1月 3.0
2023年3月 4.0(3 系から書き方が大きく変わった版)
2026年6月 4.7(HDR 出力・AreaLight3D・Asset Store など)
2026年8月18日 4.7.2(4.7 の不具合修正版)

2026年10月22日時点の最新の安定版は 4.7.2 です。 公式サイトのトップには次の版 4.8 のベータ版も並んでいますが、学ぶ・作るには安定版(stable)を使います。Godot 3 系は 3.6.3 が長期サポート(LTS)として残っていますが、ネットの解説の多くは 4 系向けなので、これから始めるなら 4 系を選びます。

4.7 で入った主な機能は、HDR 出力、四角い面光源の AreaLight3D、テキストのシェーダーのプレビュー、Asset Library に代わる Asset Store、タッチ画面用の VirtualJoystick ノードなどです(4.7 のリリースページ)。

Godotでできること・作られたゲーム

この節では、Godot で作れるものと、書き出せる機種が分かります。

2D と 3D のゲーム、ツール、アプリの画面を作り、Windows・macOS・Linux・Android・iOS・Web に書き出せます。 公式 FAQ の書き出し先の一覧です。家庭用ゲーム機は、Godot 本体には含まれず、第三者の会社(公式サイトの「Console support」に載っている会社)を通して対応します。

できること Godot の主な機能・ノード
2D ゲーム Sprite2D・AnimatedSprite2D・TileMapLayer・CharacterBody2D
3D ゲーム MeshInstance3D・Camera3D・各種ライト・Forward+ の描画
UI(メニュー・HUD) Control 系のノード(Label・Button・Container)
物理・当たり判定 RigidBody・CharacterBody・Area・CollisionShape
アニメーション AnimationPlayer・AnimationTree
音 AudioStreamPlayer・オーディオバス
XR(VR・AR) OpenXR・WebXR を標準で持つ
書き出し先 Windows・macOS・Linux・Android・iOS・Web

英語版 Wikipedia では、Godot で作られたゲームとして、Dome Keeper(2022年)、Brotato(2023年)、Buckshot Roulette(2023年)、Cassette Beasts(2023年)、Halls of Torment(2024年)、Slay the Spire 2(2026年)などが挙がっています。Sonic Colors: Ultimate(2021年)は手を加えた Godot を使ったとされています。

Godotの必要スペック(エディタと書き出したゲーム)

この節では、Godot のエディタを動かすのに必要なパソコンの条件が分かります。

エディタの最低条件はメモリ 4GB・ストレージ 200MB・Vulkan 1.0(Compatibility なら OpenGL 3.3)に対応した内蔵 GPU で、推奨はメモリ 8GB・Vulkan 1.2 に対応した単体 GPU です。 公式ドキュメント「System requirements」のデスクトップ版の値です。

4GBエディタの最低メモリ推奨は 8GB(Web 版エディタは 8GB/12GB)
200MBエディタの最低ストレージ書き出し用テンプレートは別に最大 1.5GB
2GB書き出したゲームの最低メモリ簡単な 2D・3D の場合。Web 版は 4GB
項目 最低(簡単な 2D・3D) 推奨
OS Windows 10・macOS 11〜13(条件による)・2018年以降の Linux Windows 11・macOS 14・2020年以降の Linux
CPU x86(SSE4.2 の64ビット)・ARMv8 など 64ビットで物理4コア以上(Windows・Linux)
GPU(Forward+・Mobile) Vulkan 1.0 対応の内蔵 GPU Vulkan 1.2 対応の単体 GPU
GPU(Compatibility) OpenGL 3.3 対応の内蔵 GPU OpenGL 4.6 対応の単体 GPU
メモリ 4GB 8GB
ストレージ 200MB(テンプレートは別) 2GB(全テンプレート込み)

macOS は、Intel で Compatibility なら 11、Intel で Forward+・Mobile なら 12、Apple シリコンなら 13 が最低です。GPU が Vulkan に対応していないパソコンでは、プロジェクトを作るときにレンダラーを「Compatibility」にすると動くことが多くなります(次の節)。

Godotのダウンロードとインストール(Windows・Mac・Linux・日本語化)

この節では、Godot を入れて起動し、画面を日本語にするまでの手順が分かります。

Godot は公式サイト(godotengine.org)の Download から zip をダウンロードし、展開して実行するだけで使えます。 インストーラーはありません。2026年10月22日時点のダウンロードページの内容です。

種類 使える言語 入手先・ファイル
標準版(Standard) GDScript・C++(GDExtension) Windows は win64.exe.zip、Linux は linux.x86_64.zip、Mac は macos.universal.zip
.NET 版 上に加えて C# mono_win64.zip など。別に .NET SDK が要る
Steam・itch.io・Epic Games Store GDScript(.NET は含まれない) 各ストアから入れると自動で更新される
Web エディタ GDScript ブラウザで動く。ダウンロード不要

C# を使う予定が無ければ、標準版を選びます。Windows・macOS の実行ファイルは Prehensile Tales B.V. の名前で署名されています(macOS は公証済み)。

1

ダウンロードページを開く

godotengine.org の「Download」を開くと、使っている OS 向けのページが出ます。「Godot Engine」(標準版)の最新版 4.7.2 を選びます。

標準版を選ぶ

2

zip を展開する

好きなフォルダに展開します。中の実行ファイルが Godot 本体です。Windows では、デスクトップやタスクバーにショートカットを作っておくと起動しやすくなります。

インストール作業なし

3

起動してプロジェクトマネージャーを開く

起動すると、プロジェクトの一覧(プロジェクトマネージャー)が出ます。初めてなら一覧は空です。

最初の画面

4

日本語にする

既定では OS の言語で表示されます。英語になっているときは、右上の「Settings」を押し、言語(language)の一覧で日本語を選びます。

右上の Settings

開いたプロジェクトの中で言語を変えるときは、エディタ設定(「Editor」→「Editor Settings」)の「Interface」→「Editor」にある「Editor Language」を使います。解説記事やエラー文は英語の名前で書かれていることが多いので、ノード名やメニュー名は英語でも覚えておくと調べやすくなります。 この記事でも、画面の名前は英語の表記を併記しています。

最初のプロジェクトを作る(レンダラーの選び方・画面の見方)

この節では、新しいプロジェクトの作り方と、エディタの画面のどこに何があるかが分かります。

プロジェクトマネージャーの左上の「Create」を押し、名前と保存先のフォルダを決め、レンダラーを1つ選んで「Create」で作ります。 公式ドキュメント「Using the Project Manager」の手順です。保存先は空のフォルダを選ぶか、「Create Folder」でプロジェクト名のフォルダを作らせます。

レンダラー 使う技術 向いているもの
Forward+ Vulkan など デスクトップの 3D・高度な描画
Mobile Vulkan など スマホ・軽めの 3D
Compatibility OpenGL 3.3 など 2D・Web への書き出し・Vulkan の無いパソコン

レンダラーは後から「Project Settings」で変えられます。この記事の 2D ゲームのように小さな 2D を作るなら、どれを選んでも動きます。Web にも書き出したいなら Compatibility を選んでおくと、同じ見た目で確かめられます。

エディタの画面は次のように分かれています(公式ドキュメント「First look at Godot's interface」)。

場所 名前 役割
上の中央 2D・3D・Script・Game・Asset Library 作業の画面(ワークスペース)を切り替える
上の右 再生ボタン ゲームを試す(F5 でプロジェクト、F6 で今のシーン)
左上 Scene(シーン)ドック 今のシーンのノードの木
左下 FileSystem(ファイルシステム)ドック プロジェクトのファイル(res://)
中央 ビューポート ノードを置いて動かす
右 Inspector(インスペクター) 選んだノードの設定(プロパティ)
下 ボトムパネル 出力・デバッガー・アニメーション・オーディオ

F1 でクラスのリファレンス(ヘルプ)を開けます。スクリプトの中のクラス名や関数名を Ctrl+クリック(Mac は Cmd+クリック)すると、その説明に飛べます。

ノードとシーンの考え方(図で理解する)

この節では、Godot のいちばん大事な考え方である「ノード」「シーン」「シーンツリー」「シグナル」が分かります。

ノードはゲームを作るいちばん小さな部品で、ノードを木の形に組んだものがシーンです。シーンは別のシーンの中に部品として置けます(インスタンス化)。 公式ドキュメント「Overview of Godot's key concepts」の説明です。

言葉 意味 例
ノード(Node) 1つの機能を持つ部品。名前と種類を持つ Sprite2D(画像を出す)・Timer(時間を計る)
シーン(Scene) ノードの木。.tscn ファイルに保存する プレイヤー・敵・1つの面・メニュー
シーンツリー 実行中のすべてのノードの木 ルートの下に今のシーンがぶら下がる
インスタンス化 作ったシーンを別のシーンに部品として置く 面のシーンにプレイヤーのシーンを置く
シグナル 何かが起きたときにノードが出す知らせ ボタンが押された・当たり判定に入った
スクリプト ノードに付けて動きを足すコード player.gd を Player ノードに付ける

この記事で作るゲームのシーンの組み立てです。Main は Node2D、ScoreLabel は Label、SpawnTimer は Timer のノードです。プレイヤーとコインはそれぞれ別のシーンとして作り、メインのシーンに置きます。

flowchart LR
    M[Main] --> P[Player<br>シーンを配置]
    M --> L[ScoreLabel]
    M --> T[SpawnTimer]
    P --> S[Sprite2D<br>見た目]
    P --> C[Collision<br>Shape2D]

シグナルを使うと、ノード同士がお互いを直接知らなくても連絡できます。 コインは「誰かに触れた」ことを知らせるだけで、スコアを増やすのはメインのシーンの仕事、というように役割を分けられます。公式ドキュメントは、シグナルを Godot 版の「オブザーバーパターン」と説明しています。

flowchart TD
    A[Player が Coin に触れる] --> B[Coin の body_entered<br>シグナル]
    B --> C[coin.gd が<br>collected を emit]
    C --> D[main.gd の<br>_on_coin_collected]
    D --> E[スコアを1増やし<br>ラベルを書き換える]

Unity から来た人向けの対応

GameObject + Component → ノード(1つのノードが1つの機能)

Prefab → シーン(.tscn)をインスタンス化

Scene → シーン(Godot では面もプレイヤーも同じ「シーン」)

UE5 から来た人向けの対応

Actor + Component → ノードの木

Blueprint クラス → スクリプトを付けたシーン

Event Dispatcher → シグナル

ノードの種類(クラス)は継承の関係になっていて、たとえば CharacterBody2D は PhysicsBody2D → CollisionObject2D → Node2D → CanvasItem → Node を継承しています。クラスと継承の考え方は、関連記事「オブジェクト指向とは?コードでわかる基本と使いどころ」で扱っています。

GDScriptの基本文法早見表

この節では、Godot 専用のスクリプト言語 GDScript の書き方を、表とコピペで使えるコードで引けます。

GDScript は Python に似た、インデント(字下げ)でブロックを表す言語で、1つのファイルが1つのクラスになります。 公式 FAQ は、初心者に勧める言語であり、試作と速い開発に向く、としています。Python そのものではないので、Python のライブラリは使えません。

やりたいこと GDScript の書き方
継承するクラス extends CharacterBody2D
クラスに名前を付ける class_name Player
変数 var hp = 100
型を付けた変数 var hp: int = 100
型を推論させる var speed := 300.0
定数 const MAX_HP := 100
列挙型 enum State { IDLE, RUN, JUMP }
型付きの配列 var items: Array[String] = ["sword"]
型付きの辞書(4.4 以降) var prices: Dictionary[String, int] = {}
関数 func add(a: int, b: int) -> int:
戻り値なし func jump() -> void:
条件分岐 if / elif / else
三項演算 var s := "低い" if hp < 50 else "高い"
繰り返し for i in range(3): / for item in items: / while hp > 0:
パターンで分岐 match value: と _:(その他)・when(条件)
文字列の書式 "HP は %d" % hp / "%s と %s" % [a, b]
出力 print("hp=", hp)
インスペクターに出す @export var speed := 300.0
範囲付きで出す @export_range(0.0, 10.0, 0.5) var power := 4.5
準備ができてから代入 @onready var label: Label = $ScoreLabel
子のノードを取る $Sprite2D / get_node("Sprite2D")
シーン内で一意の名前で取る %ScoreLabel
シグナルを宣言 signal health_changed(old_value: int, new_value: int)
シグナルを出す health_changed.emit(old, hp)
シグナルにつなぐ health_changed.connect(_on_health_changed)
待つ await get_tree().create_timer(1.0).timeout
ラムダ式 var square := func(x: int) -> int: return x * x
親のメソッドを呼ぶ super() / super.method()
型を調べる・変換する if body is CharacterBody2D: / body as Node2D
コメント # コメント、## ドキュメントコメント

上の書き方をまとめた、そのまま貼れるスクリプトです。gdtoolkit 4.5.0 の gdparse で構文エラーが無く、gdlint で指摘が無いことを確かめています。

class_name Cheatsheet
extends Node

signal health_changed(old_value: int, new_value: int)

enum State { IDLE, RUN, JUMP }

const MAX_HP := 100

@export var hp: int = MAX_HP
@export_range(0.0, 10.0, 0.5) var jump_power := 4.5

var state: State = State.IDLE
var items: Array[String] = ["sword", "potion"]
var prices: Dictionary[String, int] = {"sword": 300, "potion": 50}

@onready var sprite: Sprite2D = $Sprite2D


func _ready() -> void:
    health_changed.connect(_on_health_changed)
    take_damage(30)
    for item in items:
        print(item, " = ", prices[item])
    for i in range(3):
        print(i)
    var label := "低い" if hp < 50 else "高い"
    print("HP は %d(%s)" % [hp, label])
    var square := func(x: int) -> int: return x * x
    print(square.call(4))
    await get_tree().create_timer(1.0).timeout
    print("1秒後")


func take_damage(amount: int) -> void:
    var old := hp
    hp = maxi(hp - amount, 0)
    health_changed.emit(old, hp)


func _on_health_changed(old_value: int, new_value: int) -> void:
    match new_value:
        0:
            print("倒れた")
        var v when v < 50:
            print("残りわずか: ", v)
        _:
            print(old_value, " -> ", new_value)


static func clamp_speed(value: float) -> float:
    return clampf(value, 0.0, 600.0)

よく使う組み込みの関数(ライフサイクル)

ノードに付けたスクリプトの、決まった名前の関数は Godot が自動で呼びます。

関数 呼ばれるとき 主な使い道
_init() オブジェクトが作られたとき 値の初期化(子のノードはまだ無い)
_ready() ノードと子がシーンツリーに入ったとき 子のノードを取る・シグナルをつなぐ
_process(delta) 毎フレーム 見た目の更新・入力の確認
_physics_process(delta) 物理の更新ごと(既定は1秒に60回) 移動・当たり判定
_input(event) 入力があったとき キー・マウス・タッチを受ける
_exit_tree() シーンツリーから外れるとき 後片付け

delta は前のフレームからの経過秒数です。移動量に delta を掛ける理由は、次の節で計算して確かめます。

Godot本体なしで書式と命名を確かめる(gdtoolkit)

gdtoolkit は、コミュニティが作っている GDScript 用のツール集(PyPI で配布、MIT ライセンス)で、構文の解析(gdparse)、命名や書式のチェック(gdlint)、整形(gdformat)ができます。Godot 本体の代わりにはなりませんが、CI(自動テスト)でスクリプトの書式をそろえるのに使えます。

pip install gdtoolkit
gdlint scripts/
gdformat --check scripts/

公式のスタイルガイドに合わない名前(関数は snake_case、変数も snake_case)を書いたファイルにかけた結果です。

bad_name.gd:5: Error: Function name "MoveRight" is not valid (function-name)
bad_name.gd:3: Error: Class-scope variable name "PlayerSpeed" is not valid (class-variable-name)
Failure: 2 problems found

gdformat は、関数と関数の間を2行空けるなど、公式のスタイルガイドの形に整えます。この記事のスクリプトはすべて gdformat --check で「would be left unchanged」(直すところなし)でした。

2Dの最初のゲームを作る手順(コインを集めるゲーム)

この節では、矢印キーでプレイヤーを動かし、出てくるコインを集めてスコアを数える小さな 2D ゲームを、6つの手順で作れます。

プレイヤー・コイン・メインの3つのシーンを作り、それぞれにスクリプトを付けて、メインのシーンを F5 で動かします。 画像は、新しいプロジェクトに最初から入っている icon.svg(Godot のロゴ)を使うので、素材の用意は要りません。

1

プロジェクトを作り、フォルダを分ける

前の節の手順でプロジェクトを作り、FileSystem ドックで右クリック →「New」→「Folder」で scenes と scripts を作ります。

フォルダを2つ

2

プレイヤーのシーンを作る

「Scene」→「New Scene」→「Other Node」で CharacterBody2D を選び、名前を Player に。子に Sprite2D(Texture に icon.svg をドラッグ)と CollisionShape2D(Shape に New RectangleShape2D)を足し、scenes/player.tscn に保存します。

プレイヤー

3

プレイヤーにスクリプトを付ける

Player を選んで Scene ドックの「Attach Script」ボタンを押し、scripts/player.gd を作って下のコードを貼ります。

スクリプト

4

コインのシーンを作る

Area2D を Coin にし、子に Sprite2D(icon.svg・Scale を 0.4)と CollisionShape2D(New CircleShape2D)を足して scenes/coin.tscn に保存。scripts/coin.gd を付けます。

コイン

5

メインのシーンを組む

Node2D を Main にし、鎖のアイコン「Instantiate Child Scene」で player.tscn を置きます。子に Label(名前 ScoreLabel)と Timer(名前 SpawnTimer、Wait Time 1.5、Autostart をオン)を足し、scripts/main.gd を付けます。インスペクターの Coin Scene に coin.tscn をドラッグします。

メイン

6

F5 で動かす

F5 を押し、メインのシーンを聞かれたら「Select Current」で main.tscn を選びます。矢印キーで動き、コインに触れるとスコアが増えます。

F5で試す

player.gd(矢印キーで動く)

extends CharacterBody2D

## 1秒あたりに進むピクセル数。インスペクターで変えられる。
@export var speed: float = 300.0


func _physics_process(_delta: float) -> void:
    # 矢印キー(ui_left など既定の入力アクション)から向きを作る。斜めでも長さは1。
    var direction := Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down")
    velocity = direction * speed
    move_and_slide()

ui_left・ui_right・ui_up・ui_down は、最初から矢印キーが割り当てられている入力アクションです。WASD でも動かしたいときは、「Project」→「Project Settings」→「Input Map」で move_left などのアクションを作り、キーを割り当てて、その名前を get_vector に渡します。

CharacterBody2D の move_and_slide() は、velocity(1秒あたりの速さ)に物理の経過時間を掛けて動かし、壁に当たると沿って滑らせます。そのため、このコードには delta が出てきません。

coin.gd(触れたら知らせて消える)

extends Area2D

signal collected


func _ready() -> void:
    body_entered.connect(_on_body_entered)


func _on_body_entered(body: Node2D) -> void:
    if body.name == "Player":
        collected.emit()
        queue_free()

Area2D は、物体が入ったことを body_entered シグナルで知らせるノードです。ここではコードでつないでいますが、Inspector の隣の「Node」タブ(シグナルの一覧)で body_entered を選んで「Connect」を押しても、同じ関数が作られてつながります。queue_free() は、そのフレームの処理が終わった後にノードを消します。

main.gd(コインを出してスコアを数える)

extends Node2D

@export var coin_scene: PackedScene
var score := 0

@onready var score_label: Label = $ScoreLabel
@onready var spawn_timer: Timer = $SpawnTimer


func _ready() -> void:
    spawn_timer.timeout.connect(_spawn_coin)
    _update_label()


func _spawn_coin() -> void:
    var coin = coin_scene.instantiate()
    var size := get_viewport_rect().size
    coin.position = Vector2(randf_range(32, size.x - 32), randf_range(32, size.y - 32))
    coin.collected.connect(_on_coin_collected)
    add_child(coin)


func _on_coin_collected() -> void:
    score += 1
    _update_label()


func _update_label() -> void:
    score_label.text = "スコア: %d" % score

@export var coin_scene: PackedScene にすると、インスペクターにシーンを入れる欄が出ます。instantiate() でそのシーンの新しい複製を作り、add_child() でシーンツリーに入れると画面に出ます。$ScoreLabel は @onready を付けて取ります。 付けないと、子のノードがまだ無い時点で代入され、null になります(よくあるエラーの節)。

移動にdeltaを掛ける理由と、斜めの速さ(計算で確かめる)

_process(delta) で position を自分で動かすときは、移動量に delta を掛けます。フレームの速さが 30・60・144 fps のパソコンで、1秒間に進む距離を Python で同じ式で計算しました(速さ 300px/秒)。

SPEED = 300.0
for fps in (30, 60, 144):
    delta = 1.0 / fps
    x_delta = x_fixed = 0.0
    for _ in range(fps):
        x_delta += SPEED * delta   # position += velocity * delta
        x_fixed += 5.0             # 毎フレーム 5px 固定
    print(fps, round(x_delta, 2), x_fixed)
fps | delta を掛けた移動(1秒) | 毎フレーム5px固定(1秒)
 30 | 300.00 px | 150 px
 60 | 300.00 px | 300 px
144 | 300.00 px | 720 px
斜め・正規化なし: 424.26 px/秒
斜め・正規化あり: 300.0 px/秒 成分 (212.13, 212.13)

移動量の書き方

毎フレーム固定position.x += 5 は、30fps で 150px、144fps で 720px。パソコンによって速さが約5倍変わる
→
delta を掛けるposition += velocity * delta は、どの fps でも 1秒で 300px。move_and_slide() は中で同じことをする

斜めの入力は (1, 1) のままだと速さが約1.41倍(424px/秒)。Input.get_vector は長さを1にそろえて返す

公式チュートリアル「Your first 2D game」では、Vector2 を自分で作って velocity.normalized() * speed で長さをそろえています。Input.get_vector() を使うと、その処理が1行で済みます。

シーンファイル(.tscn)の中身

シーンはテキストの .tscn ファイルとして保存されるので、Git で差分を見られます。公式ドキュメント「TSCN file format」の形に沿った、メインのシーンの例です(uid と unique_id は Godot が自動で付ける値で、ここでは例の値です)。

[gd_scene format=3 uid="uid://b6x2coinmain"]

[ext_resource type="Script" uid="uid://c1mainscript" path="res://scripts/main.gd" id="1_main"]
[ext_resource type="PackedScene" uid="uid://d2playerscene" path="res://scenes/player.tscn" id="2_player"]
[ext_resource type="PackedScene" uid="uid://e3coinscene" path="res://scenes/coin.tscn" id="3_coin"]

[node name="Main" type="Node2D" unique_id=1001]
script = ExtResource("1_main")
coin_scene = ExtResource("3_coin")

[node name="Player" parent="." instance=ExtResource("2_player") unique_id=1002]
position = Vector2(576, 324)

[node name="ScoreLabel" type="Label" parent="." unique_id=1003]
offset_right = 120.0
offset_bottom = 23.0

[node name="SpawnTimer" type="Timer" parent="." unique_id=1004]
wait_time = 1.5
autostart = true

format=3 は Godot 4 の形式(Godot 3 は 2)です。ルートのノードには parent が無く、直下の子は parent="." になります。4.6 より前に保存したシーンにある load_steps は、4.6 以降は使われていません(公式ドキュメント)。

C#(.NET版)でGodotを使うには

この節では、GDScript の代わりに C# で書くときに必要なものと、GDScript との違いが分かります。

C# で書くには、.NET 版の Godot と、別に .NET SDK が要ります。 公式ドキュメント「C# basics」では .NET 8 以降、Android への書き出しには .NET 9 以降が必要です。Steam・itch.io・Epic Games Store の Godot には .NET 版が含まれないので、公式サイトから .NET 版の zip を入れます。

using Godot;

public partial class Player : CharacterBody2D
{
    [Export]
    public float Speed { get; set; } = 300.0f;

    public override void _PhysicsProcess(double delta)
    {
        Vector2 direction = Input.GetVector("ui_left", "ui_right", "ui_up", "ui_down");
        Velocity = direction * Speed;
        MoveAndSlide();
    }
}

GDScript

標準版の Godot だけで書ける。保存してすぐ動く

名前は snake_case(move_and_slide)

すべての書き出し先(Web を含む)に対応

C#

.NET 版と .NET SDK が要る。右上の「Build」でビルド

名前は PascalCase(MoveAndSlide)。_Ready などは先頭の _ が残る

Godot 4 では Web に書き出せない。Android・iOS は実験的

外部のエディタは、Visual Studio 2022・Visual Studio Code(C# 拡張機能)・JetBrains Rider などが使え、「Editor」→「Editor Settings」→「Dotnet」→「Editor」→「External Editor」で選びます。C# のクラスやプロパティの書き方は、関連記事「C#クラスとプロパティの書き方|get・set・initとrecordまで」で扱っています。

C#で出やすいエラー(CS1612)

Position.X = 100.0f; のように、構造体(Vector2 など)のプロパティの一部だけを書き換えると、コンパイルエラー CS1612 になります。 公式ドキュメントが挙げている注意点です。Godot と同じく「構造体の座標をプロパティで持つ」クラスを自分で書き、.NET SDK 8.0.131 でビルドしました。

Program.cs(20,9): error CS1612: Cannot modify the return value of 'Node2D.Position' because it is not a variable

プロパティは構造体の「コピー」を返すので、その一部を変えても元に戻らないため、C# のコンパイラが止めます。コピーして戻すか、C# 10 以降の with 式で書きます。

var p = player.Position; p.X = 100.0f; player.Position = p;   // コピーして戻す
player.Position = player.Position with { Y = 50.0f };          // with 式
(100, 0)
(100, 50)

このほか、クラス名と .cs のファイル名が違うと Cannot find class XXX for script res://XXX.cs になり、Call("MethodName") のように文字列でメソッドを呼ぶ API は snake_case の名前を受けるので、MethodName.xxx・PropertyName.xxx・SignalName.xxx を使います(公式ドキュメント)。

コマンドラインとheadlessでGDScriptを実行する

この節では、画面を出さずに Godot を動かして、スクリプトの実行・構文チェック・書き出しを自動化する方法が分かります。

--headless を付けると、画面と音を使わずに Godot を動かせます。 サーバーや CI で、--script と組み合わせて使います。公式ドキュメント「Command line tutorial」のオプションです。

オプション 意味
--headless 画面・音なしで動かす(--display-driver headless --audio-driver Dummy と同じ)
-s・--script <script> スクリプトを実行する(SceneTree か MainLoop を継承したもの)
--check-only 構文のエラーだけを調べて終わる(--script と使う)
--path <directory> プロジェクトのフォルダ(project.godot がある所)を指定
-e・--editor エディタを開く
--import 素材の取り込みだけをして終わる
--export-release <preset> <path> 書き出す(リリース用)
--export-debug <preset> <path> 書き出す(デバッグ用)
--rendering-method <renderer> forward_plus・mobile・gl_compatibility を選ぶ
--recovery-mode プラグインなどを止めて起動する(起動直後に落ちるとき)
--version 版を表示する

公式ドキュメントの例のスクリプトです。

#!/usr/bin/env -S godot -s
extends SceneTree

func _init():
    print("Hello!")
    quit()
godot --headless -s sayhello.gd

公式ドキュメントでは、この実行で標準出力に Hello! が出ます。quit() を呼ばないと Godot は終わらないので、CI で使うスクリプトでは最後に必ず呼びます。Linux の場合、ダウンロードした linux.x86_64.zip の中の実行ファイルを godot という名前でパスの通った場所に置くと、上のように呼べます。

書き出し(エクスポート)の手順

この節では、作ったゲームを Godot が無いパソコンでも動く形にする手順が分かります。

最初に「Editor」→「Manage Export Templates...」で書き出し用テンプレートを入れ、次に「Project」→「Export...」で書き出し先の機種(プリセット)を足して、「Export Project」で書き出します。 公式ドキュメント「Exporting projects」の手順です。

1

テンプレートを入れる

「Editor」→「Manage Export Templates...」で機種を選び「Install Selected Templates」。TPZ ファイルを公式サイトから落として入れることもできます。日本語を表示するなら「ICU Data」も入れます。

版をそろえる

2

プリセットを足す

「Project」→「Export...」→「Add...」で Windows Desktop・Web などを選びます。テンプレートや SDK が足りないと、その場でエラーが表示されます。

設定は保存される

3

書き出す

「Export Project」で実行ファイルを、「Export PCK/ZIP」でデータだけを書き出します。「Export All」はすべてのプリセットをまとめて書き出します。

実行ファイルができる

書き出し先 必要なもの・注意
Windows・Linux テンプレートだけ。Windows は .exe と .pck ができる(Embed PCK で1つにできる)
macOS テンプレート。配布には Apple の署名・公証が関わる
Web テンプレート。C#(.NET 版)のプロジェクトは書き出せない
Android Android SDK・JDK などの準備。C# なら .NET 9 以降
iOS Mac と Xcode
家庭用ゲーム機 第三者の会社を通す(公式サイトの Console support)

コマンドラインからは、プリセット名を指定して書き出せます。プリセット名は export_presets.cfg にある名前と一致させます。

godot --headless --export-release "Windows Desktop" build/coin_game.exe
  • 1テンプレートの版がエディタの版と同じか4.7.2 のエディタには 4.7.2 のテンプレート
  • 2JSON や txt を読むなら、書き出しに含める設定をしたかResources タブのフィルターに *.json など。.で始まるファイルは含まれない
  • 3ファイル名の大文字・小文字がコードと一致しているかエディタで読めても、書き出した後に読めないことがある
  • 4配布物に Godot のライセンス表記を入れたかクレジットや同梱の文書に著作権表示と MIT のライセンス文

Godotのプロジェクトのフォルダと、Gitでの管理

この節では、プロジェクトのフォルダの中身と、Git に入れるもの・入れないものが分かります。

Git に入れないのは .godot/(キャッシュ)と /android/ で、それ以外(project.godot・.tscn・.gd・.gd.uid・.import・export_presets.cfg)は入れます。 「Project」→「Version Control」→「Generate Version Control Metadata」で作られる .gitignore の中身は、Godot 4.7.2 のソースコードでは次の3行です。

# Godot 4+ specific ignores
.godot/
/android/

同じ操作で作られる .gitattributes は、改行コードを LF にそろえます(* text=auto eol=lf)。この .gitignore を置いたプロジェクトで、各ファイルを git check-ignore -v で調べた結果です。

ファイル Git 中身
project.godot 管理する プロジェクトの設定
scenes/main.tscn 管理する シーン
scripts/player.gd.uid 管理する スクリプトの UID(4.4 以降)
icon.svg.import 管理する 素材の取り込みの設定
export_presets.cfg 管理する 書き出しのプリセット
.godot/imported/… 無視(.gitignore:2:.godot/) 取り込んだ素材の変換結果
.godot/export_credentials.cfg 無視(.gitignore:2:.godot/) 書き出しのパスワード・鍵
android/build/… 無視(.gitignore:3:/android/) Android のビルド用のファイル

.gd.uid ファイルは Git に入れます。 Godot 4.4 の告知記事では、スクリプトやシェーダーを保存すると横に .uid ファイルが作られ、ファイルを動かしても参照が切れないようにするための物なので、必ずバージョン管理に入れるよう書かれています。Godot の外でスクリプトを移動するときは、.uid ファイルも一緒に動かします。

書き出しのパスワードなどは、Godot 4.1 以降は .godot/export_credentials.cfg に分けて保存されるので、export_presets.cfg は Git に入れられます。.gitignore の書き方や効かないときの調べ方は、関連記事「.gitignoreの書き方一覧 パターン早見表と効かないときの確認手順」で扱っています。

GodotとUnity・UE5の違い(事実の比較)

この節では、よく比べられる3つのゲームエンジンの違いを、各公式ページの事実で比べられます。

大きな違いは、料金の仕組み、書く言語、ライセンスです。 2026年10月22日時点の各公式ページの内容です。

項目 Godot Unity Unreal Engine 5
提供元 Godot Foundation とコミュニティ Unity Technologies Epic Games
最新版 4.7.2(2026年8月18日) Unity 6 系 5.8
書く言語 GDScript・C#・C++(GDExtension) C# C++・ブループリント
料金 すべて無料 Personal は無料。Pro は年2,310ドル〜 無料。条件で支払い
有料になる条件 無し 資金か年間収益が20万ドル超で Pro、2,500万ドル超で Enterprise ゲームは総収益100万ドル超の分に5%。ゲーム以外は年1,850ドル/シート

Godot のライセンスページでは、Godot で作ったゲームなどの中身には Godot のライセンスや著作権は及ばず、自由にライセンスを決められるとしています。配布するときは、Godot の著作権表示とライセンス文をドキュメントやクレジットのどこかに入れます。MIT ライセンスの表示の仕方は、関連記事「OSSライセンスの種類一覧と違い|MIT・Apache・GPL比較表と表示文例」で扱っています。

状況 候補になりやすいもの(目安)
2D のゲームを、軽いエディタで作りたい Godot
料金やロイヤリティを気にせずに作りたい Godot
C# で書きたい・Web にも書き出したい Unity(Godot の C# は Web に書き出せない)
写真に近い 3D・広いオープンワールド Unreal Engine 5
C++ の経験を活かしたい Unreal Engine 5(Godot も GDExtension で C++ が使える)

UE5 の機能・料金・始め方は、新規記事「UE5(Unreal Engine 5)とは|始め方・必要スペック・料金を解説」で扱っています。

Godotのよくあるエラーと直し方

この節では、Godot を使い始めたときによく出るエラーの原因と直し方を、エラー文から引けます。エラー文は Godot 4.7.2 のソースコードにある文です。

エラー文・症状 原因 直し方
Node not found: "Sprite2D" (relative to "/root/Main/Player"). $ や get_node() の名前・パスが違う Scene ドックの名前と大文字・小文字まで合わせる。孫のノードは $Parent/Child
Invalid access to property or key 'text' on a base object of type 'null instance'. 取れなかったノード(null)のプロパティを触った @onready を付ける。パスを直す。消したノードを触っていないか見る
Cannot call method 'play' on a null value. null に対してメソッドを呼んだ 上と同じ。is_instance_valid(node) で確かめてから呼ぶ
Invalid assignment of property or key 'text' with value of type 'int' on a base object of type 'Label'. 型の合わない値を入れた str(score) や "%d" % score で文字列にする
Parent node is busy setting up children, `add_child()` failed. _ready() の途中などで親に子を足した add_child.call_deferred(child) を使う
No export template found at the expected path: 書き出し用テンプレートが無い・版が違う 「Manage Export Templates...」でエディタと同じ版を入れる
Cannot find class XXX for script res://XXX.cs C# のクラス名とファイル名が違う 2つを同じ名前にして Build し直す
最初の起動・プロジェクトを開くのが遅い Forward+・Mobile のシェーダーをコンパイルしてキャッシュしている 初回は待つ。2回目からはキャッシュで速くなる
起動しない・画面が出ない GPU が Vulkan に対応していない、ドライバが合わない ドライバを更新する。--rendering-method gl_compatibility で起動する
起動直後に落ちる(特定のプロジェクトだけ) プラグインやツールスクリプトが原因 プロジェクトマネージャーで「Edit in recovery mode」

Godot 3向けのコードが動かないとき

検索で見つかるコードが Godot 3 向けのことがあります。4 では書き方が変わったものが多く、そのまま貼るとエラーになります。

Godot 3 Godot 4
onready var label = $Label @onready var label = $Label
export var speed = 300 @export var speed = 300
KinematicBody2D・move_and_slide(velocity) CharacterBody2D・velocity を設定して move_and_slide()
yield(get_tree().create_timer(1), "timeout") await get_tree().create_timer(1).timeout
connect("pressed", self, "_on_pressed") pressed.connect(_on_pressed)
emit_signal("hit") hit.emit()(emit_signal("hit") も使える)
instance() instantiate()
Spatial Node3D

編集が重いとき

公式ドキュメント「Troubleshooting」では、エディタが重い・ファンがうるさいときは、エディタ設定の「Low Processor Mode Sleep (µsec)」を 33000(約30fps)にする、3D のビューポートで「Half Resolution」をオンにする、パーティクルのように描き続けるノードを編集中は隠す、という方法が挙がっています。Windows で起動後の最初の読み込みが遅いときは、プロジェクトのフォルダを Windows セキュリティのスキャンの除外に入れる方法も書かれています。

よくある質問

Q. Godotの読み方は? A. 日本では「ゴドー」「ゴドット」と呼ばれることが多く、英語でも複数の読み方があります。名前は戯曲『ゴドーを待ちながら』から来ています。

Q. Godotは無料ですか?商用利用はできますか? A. すべて無料で、商用利用もできます。MIT ライセンスで、売上に応じたロイヤリティもありません。配布するときは、Godot の著作権表示とライセンス文をクレジットや文書に入れます(特徴とライセンス・違い表の節)。

Q. Godotの最新バージョンは? A. 2026年10月22日時点の安定版は 4.7.2(2026年8月18日公開)です。4.8 はベータ版として公開されています。3 系は 3.6.3 が長期サポートです。

Q. Godotは日本語化できますか? A. できます。既定で OS の言語で表示され、プロジェクトマネージャーの右上の「Settings」で言語を選べます。エディタの中では「Editor Settings」→「Interface」→「Editor」の「Editor Language」です。

Q. GDScriptとPythonの違いは? A. インデントでブロックを書く点や文法は似ていますが、GDScript は Godot 専用の言語で、Python のライブラリは使えません。型を付けられ、@export・@onready・シグナルなど、ゲーム作りのための書き方を持っています(GDScript早見表の節)。

Q. GodotでC#は使えますか? A. 使えます。公式サイトの .NET 版の Godot と .NET SDK(.NET 8 以降)を入れます。Steam 版などには .NET 版が無く、Godot 4 の C# のプロジェクトは Web に書き出せません(C# の節)。

Q. Godotで3Dゲームは作れますか? A. 作れます。3D のノード・物理・ライト・Forward+ の描画を持ち、4.7 では面光源の AreaLight3D や HDR 出力が入りました。写真に近い表現や大規模な 3D では、UE5 が候補になることもあります(違い表の節)。

Q. GodotとUnityはどちらがよいですか? A. 作りたいものと条件で決まります。完全に無料で 2D を軽く作るなら Godot、C# で Web にも書き出したいなら Unity が候補になります。料金の仕組みも違い、Unity は資金・年間収益が20万ドルを超えると Pro が必要です(違い表の節)。

Q. Godotのゲームの作り方は何から始めればよいですか? A. この記事の「コインを集めるゲーム」の6手順か、公式ドキュメントの「Your first 2D game」(Dodge the Creeps)から始めると、ノード・シーン・スクリプト・シグナルを一通り使えます。公式チュートリアルは GDScript 版と C# 版のコードがあります。

Q. Godotの必要スペックは?低いスペックのパソコンでも動きますか? A. エディタの最低はメモリ 4GB・Vulkan 1.0 か OpenGL 3.3 対応の内蔵 GPU です。Vulkan に対応しない GPU では、レンダラーを Compatibility にすると動くことが多くなります(必要スペックの節)。

まとめ

  • Godot Engine は、無料・MIT ライセンスの 2D・3D ゲームエンジン。2026年10月22日時点の安定版は 4.7.2(2026年8月18日)。ロイヤリティは無い。
  • 公式サイトの zip を展開して実行するだけ。C# を使うなら .NET 版と .NET SDK(8 以降)。日本語はプロジェクトマネージャーの「Settings」で選ぶ。
  • ノードを木に組んだものがシーン。シーンを別のシーンに置き(インスタンス化)、シグナルでノード同士が連絡する。
  • GDScript は Python に似た Godot 専用の言語。@export・@onready・signal・await をまず覚える。
  • 移動は velocity を設定して move_and_slide()、自分で動かすなら delta を掛ける(30fps と 144fps で約5倍の差が出た)。
  • 書き出しは、テンプレートを入れ、プリセットを足し、「Export Project」。Git には .godot/ と /android/ 以外を入れ、.gd.uid も入れる。

参考・出典

確認日はいずれも 2026年10月22日です。

  • Godot Engine(公式サイト):https://godotengine.org/
  • Godot Engine「Download for Linux」:https://godotengine.org/download/linux/
  • Godot Engine「Download for Windows」:https://godotengine.org/download/windows/
  • Godot Engine「Download for macOS」:https://godotengine.org/download/macos/
  • Godot Engine「Godot 4.7」(リリースページ):https://godotengine.org/releases/4.7/
  • Godot Engine「Maintenance release: Godot 4.7.1」:https://godotengine.org/article/maintenance-release-godot-4-7-1/
  • Godot Engine「Maintenance release: Godot 4.7.2」:https://godotengine.org/article/maintenance-release-godot-4-7-2/
  • Godot Engine「License」:https://godotengine.org/license/
  • Godot Engine「UID changes coming to Godot 4.4」:https://godotengine.org/article/uid-changes-coming-to-godot-4-4/
  • Godot Docs「Frequently asked questions」:https://docs.godotengine.org/en/stable/about/faq.html
  • Godot Docs「System requirements」:https://docs.godotengine.org/en/stable/about/system_requirements.html
  • Godot Docs「Overview of Godot's key concepts」:https://docs.godotengine.org/en/stable/getting_started/introduction/key_concepts_overview.html
  • Godot Docs「First look at Godot's interface」:https://docs.godotengine.org/en/stable/getting_started/introduction/first_look_at_the_editor.html
  • Godot Docs「Using the Project Manager」:https://docs.godotengine.org/en/stable/tutorials/editor/project_manager.html
  • Godot Docs「GDScript reference」:https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_basics.html
  • Godot Docs「Your first 2D game」:https://docs.godotengine.org/en/stable/getting_started/first_2d_game/index.html
  • Godot Docs「Coding the player」:https://docs.godotengine.org/en/stable/getting_started/first_2d_game/03.coding_the_player.html
  • Godot Docs「C# basics」:https://docs.godotengine.org/en/stable/tutorials/scripting/c_sharp/c_sharp_basics.html
  • Godot Docs「Command line tutorial」:https://docs.godotengine.org/en/stable/tutorials/editor/command_line_tutorial.html
  • Godot Docs「Exporting projects」:https://docs.godotengine.org/en/stable/tutorials/export/exporting_projects.html
  • Godot Docs「Version control systems」:https://docs.godotengine.org/en/stable/tutorials/best_practices/version_control_systems.html
  • Godot Docs「TSCN file format」:https://docs.godotengine.org/en/stable/engine_details/file_formats/tscn.html
  • Godot Docs「Troubleshooting」:https://docs.godotengine.org/en/stable/tutorials/troubleshooting.html
  • godot-docs(公式ドキュメントのソース、GitHub):https://github.com/godotengine/godot-docs
  • godotengine/godot(ソースコード 4.7.2-stable、GitHub):https://github.com/godotengine/godot/tree/4.7.2-stable
  • gdtoolkit(PyPI):https://pypi.org/project/gdtoolkit/
  • Wikipedia「Godot Engine」:https://ja.wikipedia.org/wiki/Godot_Engine
  • Wikipedia「Godot (game engine)」:https://en.wikipedia.org/wiki/Godot_(game_engine)
  • Unity「Compare plans」:https://unity.com/products/compare-plans
  • Epic Games「ライセンス」:https://www.unrealengine.com/ja/license

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「Godot Engineとは|始め方・GDScript・2Dゲームの作り方を解説」

株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。

WE ARE HIRING

RJCで一緒に開発しながら、
成長を楽しみませんか?

RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!

  • 127日年間休日
  • 12時間平均残業時間
  • 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!

ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。

ABOUT RJC RJCがどんな会社か知る 考え方、研修、働き方、福利厚生、社員の前職まで。RJCのことが丸わかり! RJC丸わかりページへ JOB DESCRIPTION 仕事内容・待遇を見てみる 仕事内容、給与・待遇、選考の流れ。経験者も未経験も!応募前に知りたいこと、まとめました! 募集要項を見る ENTRY エントリーする エントリーは1〜2分・履歴書不要です。まずは話を聞いてみたい、という方でも歓迎です! エントリーフォームへ

RJCで一緒に開発しながら、 成長を楽しみませんか?