この記事のランク | |
---|---|
読む時間 | 3分 |
重要度 |
1995年に「RPGツクール」という、プレイヤー自らがキャラクターデザイン、シナリオを手掛けるソフトがスーパーファミコンで発売され、ノーコードでRPGが作れると当時話題になりました。
その後、コンピュータの普及や性能が向上し、2010年には日本でもインディーゲームと呼ばれる低予算・少人数で利益を目指すビジネスモデルが生まれたり、ゲームクリエイターのコンテストが開催されるなど、個人でもゲーム制作ができる時代になりました。
ゲーム開発ができる有名なプログラミング言語は、C#、C++、JavaScript、Swift、Rubyなどがありますが、近年ではゲームエンジンと呼ばれるゲーム開発を効率化するための機能が備わった総合環境を使ったゲーム制作が主流となっています。
この記事では、これからゲーム制作をはじめる方に向けて、オススメのゲーム開発プログラミング言語と、ゲームエンジンをご紹介いたします。

Twitter(@nana_korobi04)でも情報発信していますので、
フォローいただけると嬉しいです!
ゲーム開発プログラミングの歴史


初代コンシューマーゲームと呼ばれる据え置き型のファミコン(ファミリーコンピュータの略称)や、その後継機であるスーパーファミコンは、アセンブリ言語というCPUをコントロールできる機械語に近いもので開発されていました。
1994年以降は、コンピュータのメモリや性能が向上し、開発言語も人間が理解しやすい高水準言語が使えるようになり、PlayStation、Nintendo64はC++言語、セガサターンはC言語で開発されるようになります。
そして、スマートフォンやコンピュータの普及後は、スマホアプリではJava、Object-C、swift、ブラウザゲームではC#、JavaScript、Rubyなど可読性の高いプログラミング言語が使われるようになりました。
このように、ゲーム制作の歴史はコンピュータの性能に合わせて、その時代のニーズに最適なプログラミング言語が使われています。
ゲームエンジンの登場


2005年以降、ゲームハード機の第7世代と呼ばれるPS3、Xbow360、Wiiなど異なるハードウェアの登場により、ゲームソフトの開発会社はマルチに動くソフトウェアの開発が求められました。
これまでもゲーム制作会社は独自でライブラリやツールを作っていましたが、ハードウェアが多様化したことで、より生産性を高めるべくプログラミングなしにゲーム制作ができる外部のゲームエンジンを導入する企業が増えてきたのです。
そのゲームエンジンをライセンス契約にして商用化したことにより、無償・有償のさまざまなゲームエンジンが公開され、個人でもゲームエンジンを使って気軽にゲーム制作ができるようになりました。
オススメのプログラミング言語


ここからはゲーム開発用のおススメのプログラミング言語をご紹介いたします。
C#(シーシャープ)
C#は、ゲームエンジンの「Unity」と組み合わせて使うことが多く、C#で開発された有名なゲーム作品では、「ポケモンGO」や「スーパーマリオランド」があります。
コンシューマーゲームをはじめ、VR開発やスマホアプリの開発などで利用されており、その汎用性の高さが特徴です。
C++(シープラスプラス)
C#よりは習得する難易度が高いですが、C#登場以前のコンシューマーゲームの多くはC++で開発されているため、コンシューマーゲームに携わるなら、C#と同じくらい知識が必要とされるプログラミング言語です。
C++は、「Unreal Engine」や「cocos2d-x」というゲームエンジンで組み合わせて使えるプログラミング言語で、C++で開発されたゲームは「Fortnite」や「ディズニーツムツム」が有名です。
JavaScript(ジャバスクリプト)
JavaScriptはスクリプト言語といって、コンパイルというコンピュータが読めるようにソースコードを変換する作業が不要なため、リアルタイムで挙動が見れるのがメリットです。
C#のように3Dの複雑なゲームは難しいですが、ブロック崩しやシューティングなど2Dの簡単なゲームを作ることができます。
そのため、JavaScriptはプログラミング言語のなかでもハードルが低く、初学者でもすぐに動くゲームが作れるのが魅力です。
下記の記事でJavaScriptの特徴や書き方について解説していますので、ぜひ参考にしてください。


Java(ジャバ)
C#よりもやや構文が難しいですが、ゲーム制作の現場以外でも需要が高く、Javaで開発された有名なゲームソフトは「Minecraft(マインクラフト)」があります。
なお、JavaScriptと名前が似ていますが、全く異なるプログラミング言語です。
下記の記事でJavaの特徴や書き方について解説していますので、ぜひ参考にしてください。


Objective-C(オブジェクティブ・シー)
現在、iOSの開発はその後継となるswiftが推奨されていますが、まだObjective-Cへの依存性は高く、Objective-Cとswiftが共存しているアプリケーションも多くあります。
iOSのアプリケーションに携わりたいと考えている方は、Objective-Cのコードが扱えることが必要となります。
オススメのゲームエンジン


Unity(ユニティ)
無料版と有料版がありますが、商用利用でなければ無料版でも十分にゲーム制作ができ、Unity Learnという公式サイトのコンテンツで学習が可能です。
また、Unityで開発したゲームはOSに依存しないという特徴や、2Dゲームはもちろん、3DゲームやVR/XRアプリが作れることも魅力です。
Unreal Engine(アンリアル・エンジン)
こちらもUnityと同じくノンプログラミングでゲーム制作ができますが、グラフィックの綺麗さに定評があり、パソコン用ゲームや、コンシューマーゲームの開発に向いています。
基本的には無料で利用できますが、商用化して収益化した場合はロイヤリティを支払うというライセンス契約になっています。
cocos2d-x(ココス・ツーディーエックス)
「モンスターストライク」や「ディズニーツムツム」といった2D向けのゲーム開発で使われており、対応するプログラミングはC++以外にもObjective-C、Java、JavaScript、C#、Go言語でも開発することができます。
前述したUnityやUnreal Engineと比べると日本語の情報が少なく、学習コストが高いため個人より法人での利用が多いですが、2Dゲームでは多くの需要があります。
まとめ


今回は5つのゲーム開発プログラミング言語と、3つのゲームエンジンを紹介いたしました。
どんなプラットフォームで、どんなジャンルのゲームが作りたいかによって、選ぶプログラミング言語やゲームエンジンが異なることがお分かりいただけたかと思います。
どれも個人利用であれば無料で使えるものばかりなので、ぜひゲーム制作に役立てていただければ幸いです。