こんにちは。ゲームプログラマーのメガネです。
ゲームを作るためにプログラミングを学びたいというときに、どの言語を選べば良いのかよくわからないですよね。
この記事ではゲーム開発で使うプログラム言語を、用途別に3つご紹介します。結論から先に言うと、
- ブラウザゲームを作るなら「JavaScript」
- スマホゲームを作るなら「C#」
- コンソールゲームを作るなら「C++」
です。難易度順に並べているので、JavaScriptが一番簡単で、C++が一番難しいです。
では、ここから詳しく解説します。
ゲーム開発にはゲームエンジンを使うのが主流
ゲームをゼロから作ることは減ってきており、ゲームエンジンを使って開発するのが主流です。
ゲームエンジンとは、ゲームを開発するために作られた統合開発環境のこと。プログラミングだけではなく、アセットの開発もできます。
ゲームエンジンを使うことで、初心者でも比較的簡単にゲームを作ることができます。プロも使う道具なので、もちろん本格的なゲームも作れます。
まずは何向けのゲームを作りたいかを考え、それに合ったゲームエンジンを選択し、そのゲームエンジンで利用できるプログラム言語を学習するという流れが良いです。それぞれに向いているゲームエンジンがありますので、ここから詳しく紹介します。
- ブラウザゲームのPlayCanvas
- スマホゲームに強いUnity
- コンソールゲームのUnreal Engine
これらは個人開発であれば、すべて無料で利用できるのもうれしいポイントです。
ブラウザゲームのPlayCanvas
PlayCanvasはブラウザ向けのWebGL/HTML5ゲームエンジンです。
エディタもブラウザで動きますので、開発環境の構築がめちゃくちゃ簡単です。アカウントを作成してログインしたら、開発をスタートできます。簡単なだけでなく、WebGLに対応しており、3Dのゲームも開発できます。
iPhoneアプリ開発にはMacが必須ですが、ブラウザゲームはPCでもタブレットでも開発できます。なので初心者には敷居が低いのではないでしょうか。
プログラム言語
JavaScriptです。
JavaScriptはブラウザで動作するインタープリター型のプログラム言語です。
Webページは、HTML+CSS+JavaScriptで構成されており、JavaScriptはユーザーがボタンを押したときに何か反応するなど、インタラクティブな動作に利用されます。
C#やC++と違って事前にコンパイルする必要はなく、実行時にプログラムが解析され、問題なければそのまま実行されます。すなわち、書いたら即実行できるということです。書いたらすぐに動くので、トライ&エラーがしやすいです。
ブラウザゲームを作るためのゲームエンジンは、「PlayCanvas」以外にもたくさん存在します。そのほとんどで、HTML+JavaScriptが使われます。ブラウザゲームを作りたかったらJavaScriptを学ぶのが良いです。
対応プラットフォーム
PCとモバイルのブラウザで動作します。モバイルでも動きますので、作ったものをスマホでプレイすることができます。
代表的なタイトル
※こちらではPlayCanvasで作られたゲームではなく、代表的なブラウザゲームをあげています
- 精霊幻想記アナザーテイル
- 100万人の信長の野望
- ラストラグナレク
スマホゲームに強いUnity
Unityは世界最大のシェアを誇るゲームエンジンです。
マルチプラットフォームに対応しているので、PCはもちろん、モバイル、コンソール向けのゲームを開発できます。モバイルのゲームアプリはUnityで作られることが非常に多く、スマホゲームを作りたい人は、Unityを選んでおけば間違いないです。
他の開発者の作ったアセットがアセットストアで公開されており、活用することで楽にゲームを開発することができます。世界最大のシェアなので、開発者が多く、膨大なアセットが公開されています。
プログラム言語
Unityで使うプログラム言語は「C#」です。以前は「Java Script」と「Boo」にも対応していましたが、廃止されて現在は「C#」だけになりました。
C#はマイクロソフトが開発したオブジェクト思考のプログラミング言語です。C++やJavaに似た構文で、ハードウェアに近い部分は隠されていて、初心者にも扱いやすいです。
C++よりも実行速度が遅いのですが、Unityではゲームリリース時にC#をネイティブコードに変換できるので、高速な実行が可能です。
マイクロソフト製ということもあり、Visual Studioとの相性が抜群です。プログラムコードを数文字書くと入力候補が出てきて、それを選んでいくだけでコーディングできます。そのため開発効率が桁違いに高いです。
対応プラットフォーム
主なプラットフォームは以下のとおりです。
- Windows、Mac、Linux等のPC
- iOS、Android
- VR
- PS5、Xbox X|S、Nintendo Switch等のコンソール
代表的なタイトル
- ポケモンGO.
- ウマ娘 プリティーダービー
- ドラゴンクエストVIII 空と海と大地と呪われし姫君
コンソールゲームに強いUnreal Engine
Unreal Engineは写実的で美しい映像を備えたゲームエンジンです。
世界最先端の映像を制作したいなら、Unreal Engineを利用すると良いでしょう。ゲームだけでなく、映像作品で利用されることもあります。ドラマ版デスノートは、Unreal Engine 4で作られたことで有名です。
Unityと同様にマルチプラットフォームに対応しています。ただし、高い映像品質のままではモバイルでまともに動作しないので、注意が必要です。PCやコンソール向けのゲーム開発に使われることが多いです。
プログラム言語
C++です。Blueprintと呼ばれるビジュアルスクリプトも備えており、簡単なゲームやプロトタイピングはBlueprintだけでも可能です。しかし、本格的なゲームを作るにはC++が必須です。
C++はプログラム言語の中で最高レベルに難しい言語です。逆に言うとC++を使いこなせるならば、他の言語を覚えるのは楽ちんです。
難しい理由は言語仕様が盛りだくさんだから。
Cから派生した言語なので、Cの構文を全て利用できます。Cはハードウェアに近い部分まで制御できて、超高速に動作しますが、その分扱いが難しいです。また、オブジェクト思考が追加されており、クラスの概念も覚える必要があります。さらに、テンプレートメタプログラミングは、中級者でも置いてけぼりになるほど難しいです。
とは言え、WindowsやコンソールのゲームはC++で実装されることが主流なので、そこに向けたゲームを作りたい人はがんばって習得してください。いきなりC++を学ぶとつまずいてしまうと思うので、まずはUnity+C#を学ぶことをおすすめします。
対応プラットフォーム
Unityと同様に多くのプラットフォームに対応しています。
- Windows、Mac、Linux等のPC
- iOS、Android
- VR
- PS5、Xbox X|S、Nintendo Switch等のコンソール
代表的なタイトル
- Fortnite
- ドラゴンクエストⅪ
- Final Fantasy Ⅶ Remake
まとめ
プログラム言語は世の中に200種類以上あると言われています。すべてを覚えるのは不可能に近いですが、ゲームを作る場合はこの3つの内どれか1つを覚えればなんとかなります。
- ブラウザゲームを作るなら「JavaScript」
- Unityでゲームを作るなら「C#」
- Unreal Engineでゲームを作るなら「C++」
あなたの目的に合わせて、プログラム言語を選択しましょう。
コメント