ゲームを作ってみたいけれど、どのプログラミング言語を覚えればいいのか分からない。調べると C#、C++、JavaScript などたくさんの名前が出てきて、余計に迷ってしまう。この記事は、そんな人のために書きました。
ゲーム制作で使われる主な言語の特徴と、作りたいゲームに合わせた選び方を紹介します。
結論:言語は「使うゲームエンジン」で決まる
ゲーム制作では、言語だけを単独で選ぶことはあまりありません。先に使うゲームエンジン(ゲーム制作ソフト)を決めると、使う言語も自然に決まります。 ゲームエンジンとは、画面の表示、音、当たり判定など、ゲームに必要な仕組みをまとめて用意してくれるソフトのことです。
| 言語 | 主に使う場所 | 向いているゲーム | 難しさの目安 |
|---|---|---|---|
| C# | Unity | 2D・3D・スマホゲームなど幅広く | 中 |
| C++ | Unreal Engine | 本格的な3Dゲーム | 高 |
| GDScript | Godot | 2D・3D の小〜中規模のゲーム | 低〜中 |
| JavaScript / TypeScript | ブラウザ、RPG ツクール MZ のプラグイン | ブラウザで遊べるゲーム | 低〜中 |
| Python | Pygame など | 学習用の小さなゲーム | 低 |
| Lua(Luau) | Roblox、LÖVE など | Roblox のゲーム、小さな2Dゲーム | 低〜中 |
迷ったら、まず「どのゲームエンジンで作るか」を決めましょう。無料で使えるエンジンの比較は、無料のゲームエンジン・ゲーム制作ソフト比較で紹介しています。
ゲーム制作で使われる主な言語
C#:Unity で使う、もっとも幅広い選択肢
C#(シーシャープ)は、ゲームエンジン Unity でゲームの動きを書くときに使う言語です。 Unity は、2D・3D、スマホ・パソコン・家庭用ゲーム機向けまで幅広く使われていて、個人のゲーム制作でもよく選ばれています。
使う人が多いぶん、日本語の解説記事や書籍、質問への回答が見つかりやすいのが利点です。「どれにするか決められない」なら、Unity と C# を選んでおけば、作れるゲームの幅で困ることは少ないでしょう。
C++:Unreal Engine で使う、本格的な3D向け
C++(シープラスプラス)は、Unreal Engine で使われる言語です。 処理が速く、大規模で見た目にこだわった3Dゲームを作るのに向いています。
言語としては難しい部類に入りますが、Unreal Engine には「ブループリント」という、ブロックを線でつないで処理を組み立てる仕組みがあり、C++ を書かずにゲームを作ることもできます。最初はブループリントで作り、必要になってから C++ を覚える、という進め方もできます。
GDScript:Godot 専用の、覚えやすい言語
GDScript は、オープンソースのゲームエンジン Godot のために作られた言語です。 Python に似た、すっきりした書き方が特徴で、プログラミングが初めての人でも読みやすい言語です。Godot では、C# を使うこともできます。

Godot は軽くて動作が速く、無料で商用利用もできるため、個人の2Dゲーム制作で選ぶ人が増えています。Unity との違いは Godot と Unity の違いで詳しく紹介しています。
JavaScript / TypeScript:ブラウザで遊べるゲームに
JavaScript は、Web ブラウザの中で動く言語です。 インストールなしで、URL を開くだけで遊べるゲームを作れます。スマホのブラウザでもそのまま遊べるので、作ったゲームを友だちに試してもらうのも簡単です。
Phaser などのゲーム用のライブラリを使うと、2D ゲームの仕組みをゼロから作らずに済みます。TypeScript は JavaScript に型の仕組みを足した言語で、ゲームの規模が大きくなってきたときに間違いを見つけやすくなります。

RPG ツクール MZ も、プラグイン(機能を追加する仕組み)を JavaScript で書けます。ツクールで作りながら、少しずつ JavaScript に触れていく、という入り方もあります。
Python:プログラミングの練習を兼ねて
Python は、文法がシンプルで読みやすく、プログラミングの入門によく使われる言語です。 Pygame というライブラリを使えば、2D ゲームを作れます。
ただし、市販されるようなゲームの制作で Python が使われることは多くありません。「プログラミングを覚えながら、小さなゲームを作ってみたい」という目的なら良い選択肢ですが、本格的なゲームを公開したいなら、ゲームエンジンと組み合わせて使う言語を選ぶほうが近道です。
Lua:Roblox や軽量なゲームで
Lua(ルア)は、軽くて組み込みやすい言語で、ゲームの中の処理を書くのによく使われます。 Roblox では、Lua をもとにした Luau という言語でゲームを作ります。LÖVE という、Lua で2Dゲームを作れる軽量なフレームワークもあります。
作りたいゲーム別の選び方
作りたいゲームが決まっているなら、それに合わせて選ぶのが一番です。
| 作りたいもの | おすすめの組み合わせ |
|---|---|
| スマホゲーム | Unity(C#) |
| 本格的な3Dゲーム | Unreal Engine(ブループリント・C++)、Unity(C#) |
| 2D のアクション・パズル | Godot(GDScript)、Unity(C#) |
| ブラウザで遊べるゲーム | JavaScript(Phaser など)、Unity の WebGL 書き出し |
| RPG | RPG ツクール(JavaScript のプラグイン)、Unity・Godot |
| ノベルゲーム | ティラノスクリプトなどの専用ツール |
| Roblox で遊べるゲーム | Roblox Studio(Luau) |
RPG やノベルゲームは、専用のツールを使えばプログラミングをほとんどせずに作れます。ノベルゲームの作り方はノベルゲームの作り方、RPG ツクールの選び方は RPG ツクールの選び方で紹介しています。
初心者が言語を選ぶときのポイント
初めてゲームを作るなら、言語の難しさよりも「最後まで作りきれるか」を優先して選びます。
- 日本語の情報が多いものを選ぶ:つまずいたときに調べられるかどうかで、続けやすさが大きく変わる。Unity は特に情報が多い
- 完成させたいゲームの小ささに合わせる:最初の1本は、1〜2週間で作れる小さなゲームを目標にする
- AI に質問できる環境を作る:分からないコードを AI に説明してもらったり、エラーの原因を聞いたりすると、学ぶ速さが上がる。AI の使い方は AI でアプリを作る方法を参考に
- 途中で言語を変えてもいい:一度ゲームを作りきった経験は、ほかの言語やエンジンに移っても役に立つ
まとめ
- ゲーム制作の言語は、使うゲームエンジンとセットで決まる
- 幅広く作りたいなら Unity の C#、本格的な3Dなら Unreal Engine、覚えやすさなら Godot の GDScript
- ブラウザで遊べるゲームなら JavaScript、プログラミングの練習なら Python も選択肢になる
- 初めてなら、日本語の情報が多く、最後まで作りきれそうなものを選ぶ
言語選びで長く迷うより、まず1つ選んで小さなゲームを完成させるほうが、ずっと多くのことを学べます。最初の1本を作るまでの流れは、個人でゲームを作る方法で紹介しています。
完成したゲームは、Devoch に掲載して、遊んでくれる人に届けることができます。