- 技術 💻
Godot Engineとは|始め方・GDScript・2Dゲームの作り方を解説
結論
Godot Engineは、無料・MITライセンスで使えるオープンソースの2D・3Dゲームエンジンです。最新の安定版は4.7.2(2026年8月18日)です。
この記事でわかること
- GDScript文法早見表30項目と構文確認済みのコード4本
- コインを集める2Dゲームを作る6手順
- エラー・症状10件の直し方とUnity・UE5との違い表
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」のデスクトップ版の値です。
| 項目 | 最低(簡単な 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 は公証済み)。
ダウンロードページを開く
godotengine.org の「Download」を開くと、使っている OS 向けのページが出ます。「Godot Engine」(標準版)の最新版 4.7.2 を選びます。
zip を展開する
好きなフォルダに展開します。中の実行ファイルが Godot 本体です。Windows では、デスクトップやタスクバーにショートカットを作っておくと起動しやすくなります。
起動してプロジェクトマネージャーを開く
起動すると、プロジェクトの一覧(プロジェクトマネージャー)が出ます。初めてなら一覧は空です。
日本語にする
既定では OS の言語で表示されます。英語になっているときは、右上の「Settings」を押し、言語(language)の一覧で日本語を選びます。
開いたプロジェクトの中で言語を変えるときは、エディタ設定(「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 のロゴ)を使うので、素材の用意は要りません。
プロジェクトを作り、フォルダを分ける
前の節の手順でプロジェクトを作り、FileSystem ドックで右クリック →「New」→「Folder」で scenes と scripts を作ります。
プレイヤーのシーンを作る
「Scene」→「New Scene」→「Other Node」で CharacterBody2D を選び、名前を Player に。子に Sprite2D(Texture に icon.svg をドラッグ)と CollisionShape2D(Shape に New RectangleShape2D)を足し、scenes/player.tscn に保存します。
プレイヤーにスクリプトを付ける
Player を選んで Scene ドックの「Attach Script」ボタンを押し、scripts/player.gd を作って下のコードを貼ります。
コインのシーンを作る
Area2D を Coin にし、子に Sprite2D(icon.svg・Scale を 0.4)と CollisionShape2D(New CircleShape2D)を足して scenes/coin.tscn に保存。scripts/coin.gd を付けます。
メインのシーンを組む
Node2D を Main にし、鎖のアイコン「Instantiate Child Scene」で player.tscn を置きます。子に Label(名前 ScoreLabel)と Timer(名前 SpawnTimer、Wait Time 1.5、Autostart をオン)を足し、scripts/main.gd を付けます。インスペクターの Coin Scene に coin.tscn をドラッグします。
F5 で動かす
F5 を押し、メインのシーンを聞かれたら「Select Current」で main.tscn を選びます。矢印キーで動き、コインに触れるとスコアが増えます。
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倍変わる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」の手順です。
テンプレートを入れる
「Editor」→「Manage Export Templates...」で機種を選び「Install Selected Templates」。TPZ ファイルを公式サイトから落として入れることもできます。日本語を表示するなら「ICU Data」も入れます。
プリセットを足す
「Project」→「Export...」→「Add...」で Windows Desktop・Web などを選びます。テンプレートや SDK が足りないと、その場でエラーが表示されます。
書き出す
「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期連続の黒字決算。