プロのカウンセラーがキャリアの悩みを解決! 無料キャリア相談はこちらから

【初心者向け】ゲーム開発におすすめのプログラミング言語5選

作成: 2018.09.05 更新: 2020.06.16

>>No.1エンジニア養成プログラム テックキャンプ

読むだけでIT転職が有利になる限定資料はこちら

プログラミングを覚えてゲームを作りたい!でもどの言語を学べばいいのかわからない。

ゲームを作りたいけど、プログラミングは苦手。どうしたらいいだろうと悩んでいませんか?

今回はゲーム制作におすすめのプログラミング言語と、プログラミングなしでもゲームを作れるサービスを紹介します。

プログラミングなしでモック(デモ)を作った上で、自分が学びたい言語の学習も進めていくのがおすすめです。

1つ1つ詳しく見ていきましょう!

この記事は現役エンジニアによって監修済みです。

ゲーム制作におすすめのプログラミング言語5選

まずはゲーム制作におすすめのプログラミング言語を5つに分けて紹介します。

C#

ゲームプログラミングに使用される機会がもっとも多い言語の1つが、C#です。

その要因としてはUnity(ユニティ)やMonoGame(モノゲーム)など、C#でのゲーム開発に最適なゲームフレームワークが登場。実用的かつ多数のプラットフォーム向けにゲームを書き出し、配信できる環境が整ってきたことが挙げられます。

例えば、MonoGameの移植可能なプラットフォームは以下の通りです。

iOS, Android, MacOS, Linux, all Windows platforms, PS4, PSVita, Xbox One, and Switch

–出典 MonoGame 公式ウェブサイト

一度作ったゲームは、これらのプラットフォームに簡単に移植することができます。「iOSならiOS向けに開発」「AndroidならAndroid向けに開発」という手間を削減することができるため、開発効率が大幅に向上します。

またゲームだけでなく、Webアプリケーション開発やスマホアプリ開発に使われる機会が多い言語でもあります。例えば検索エンジンの「Bing」はC#で作られています。求人も安定的に存在する歴史の長い言語のため、覚えておいて損はない言語です。

C++

C++とは、C言語をベースに様々な機能を付け足したいわば「バージョンアップ版のC言語」です。できることが多い反面で、初心者には学習のハードルが高い言語としても有名です。

ちなみにC言語およびC++と、C#はまるで別物の言語です。

C++が難解な言語仕様を持ちつつも、ゲーム制作者に愛用される理由はハード制御が得意で実行速度が迅速なことにあります。ハード制御とは主に「組み込み開発」と呼ばれる家電やカーナビシステムなどの分野で使われる言葉で、どの処理にどの程度のメモリを割り当てるのかを制御することを指します。つまり軽量な処理にはごく少数のメモリ、重い処理には重点的に割り当てることで処理を効率的かつ迅速に行うのです。

つまり、C++でゲーム開発を行うと処理落ちを未然に防げるということです。

こうした用途から、今でもC++はゲーム開発でよく使われます。

JavaScript

JavaScriptは主要ウェブブラウザが動作に対応する唯一のプログラミング言語です。

そのためブラウザゲームの開発や、初心者が初めてゲームプログラミングを学ぶ際に採用されることが多い言語です。

JavaScriptは利用するプログラマーの数が多く、汎用性が高いことからフレームワークの数が膨大に存在することも興味深い点です。

例えば、日本発のJavaScript向けのゲーム開発フレームワークには「enchant.js」があります。2011年に公開されたオープンソースのフレームワークで、2Dゲームの開発に特化しています。スマートフォンゲームも手早く開発ができるため、本格的なゲーム開発に先立ってモックアップ(デモ)を短期間で作る際に採用されるケースもあります。

Lua

LuaはC言語との相性の良さから、ゲーム開発者に愛用されるスクリプト言語です。スクリプト言語とはソースコードを書いた後「コンパイル」というコンピュータが理解できる言語への変換作業を経ることなく、すぐに実行可能な言語のことです。

C言語はコンパイルが必要ですが、Luaはすぐに実行可能。

かつLuaからC言語の関数を呼び出すことができるため、Cの良さを生かしつつ効率的な開発が可能です。ゲーム開発のほか、画像処理ソフト開発に採用されたケースもあります。代表格はAdobe Photoshop Lightroom。

Luaには「LÖVE」と呼ばれる2Dゲーム開発向けフレームワークも用意されており、初心者でもゲーム開発がすぐにできます。例えば、以下は真っ黒な画面を作成し、その上に「Hello,World」と表示するLuaとLÖVEのソースコードです。

function love.draw()
love.graphics.print(‘Hello World!’, 400, 300)
end

–出典 LÖVE 公式ウェブサイト

Swift

SwiftはAppleが開発したiOS/macOS/Linuxで動作するプログラミング言語です。

iOS及びmacOS向けのアプリケーション開発に最適な言語です。

iPhoneアプリの開発にはもともとObjective-Cという言語が使用されていましたが、言語仕様の複雑さや「iOSアプリ開発以外の用途の無さ」がエンジニアにとって大きな課題でした。

SwiftはObjective-Cと比較して、モダンな文法と潜在的なバグチェックの容易さが特徴。子供向けのプログラミング教育にも採用されるほど、直感的で分かりやすい言語です。

SwiftではシューティングゲームやRPGゲームなどを、iOS/macOS向けに作ることが可能です。ブラウザゲームやVRゲームではなく、スマートフォン向けのゲームアプリを作りたい方におすすめです。

主なゲームプログラミングの種類

どのプログラミング言語をゲーム開発向けに学ぶかを決めるには、主なゲームプログラミングの種類を把握しておくことも大事です。

ブラウザゲーム

ブラウザ

ブラウザゲームとはGoogle ChromeやMozilla Firefoxなどのウェブブラウザ上で動作するゲームことです。有名タイトルには「刀剣乱舞」「艦隊コレクション」などがあります。

ブラウザゲームはHTML5とJavaScriptで動作するため、遊ぶデバイスを選びません。つまりPC・スマートフォン・タブレットからダウンロード不要でアクセスし、遊べる汎用性の高さが売りです。

開発サイドにとってはiPhoneならiPhone、AndroidならAndroidという個別の端末での動作確認が不要になるのも嬉しいポイントです。

シンプルなブラウザゲームの開発を行うなら、HTML5とJavaScirptを学習し、Canvas APIを使いこなせるようになることを目指しましょう。

教材はW3C Schoolsの「HTML Game」を一通りこなすと良いでしょう。W3CはWWW(World Wide Web)の各種技術の標準化推進団体です。W3Cが直接運営しているチュートリアルのため、必要な技術は一通り解説されています。

・W3C School – HTML Game

スマホゲーム

iPhoneやAndroidをはじめとする、スマートフォン向けのゲームです。

代表的なタイトルは「ぷよぷよクエスト」「PUBG MOBILE」など。

スマホゲームはNintendo SwitchやPlayStation 4などの据え置き型かつ長時間遊ぶことが前提のゲームとは異なり、短時間で楽しめるプレイと片手で遊べる操作性が原則。つまりUI・UXのデザインに工夫が求められます。

また料金体系にも工夫が必要です。スマホゲームの主流はダウンロード・インストールは無料で、アイテム課金やステージ課金です。つまり「気軽にインストールしてもらい、ハマってもらう」ためのレベルデザインも必要です。

スマホゲームの開発を行うなら、マルチプラットフォーム対応が可能なツールを利用することをお勧めします。マルチプラットフォームの場合、iOS/Android両対応のゲームを簡単に作れます。

具体的にはUnity、もしくはCocos2d-xを使用すると良いでしょう。

Unityの場合、使用言語はC#。Cocos2d-xの場合はC++、Lua、JavaScriptから好きなものを選べます。

コンシューマーゲーム

コンシューマーゲームとは、市販の家庭用ゲーム機向けのゲームです。

主なプラットフォームはPlayStation 4、Nintendo Switch、Xboxなどです。

特定のゲーム機向けにソフトを開発、販売する際にはライセンス料が必要となるケースが多いため、インディーズゲームは比較的開発される機会が少ないです。

よって基本的にはコンシューマーゲームは個人ではなく企業、もしくは起業して予算を組んだ上でチーム開発するのが主流です。

コンシューマーゲームはスマホアプリが無料〜高くても1000円程度の販売額であるのに対して5000円近くに価格設定されることが多く、高価です。

よって本格的なコンシューマーゲームを開発する際は、グラフィックスとプログラミング両方において妥協が許されません。グラフィックスが良くても処理落ちすればユーザーの不満を呼び、その逆も同様です。必要に応じて作業工程の一部外注なども検討するのも良いでしょう。

コンシューマーゲーム開発にはUnityの学習に加えて、C/C++の学習をお勧めします。

基本的にはUnityとC#を覚えることで、開発したゲームをコンシューマー向けに書き出すことは可能です。ただし先にも書いたようにコンシューマーゲームでは快適で質の高い動作が原則。そのためには単に「動けばいい」のではなく「高速化」が必要です。

Unityでは「Native Plugin」という機能を使うことで、CやC++で書いたコードを読み込ませてパフォーマンスチューニングなどを行うことができます。学習のハードルは上がりますが、コンシューマーゲーム開発をするなら「圧倒的な高品質ゲームを作る」という心構えで学習すると良いでしょう。

VRゲーム

VRゲームとは、Oculus Goに代表されるVRヘッドセットを装着し360度の仮想空間の中で遊ぶゲームです。

従来の2Dゲームや3Dゲームに比べて、自分が本当にそのゲームの世界にいるような没入感が得られるのが特徴です。

VRゲーム開発の主流ツールはUnity、もしくはUnreal Engineです。加えて「VR Ready」と呼ばれる、VRゲームの開発〜検証、プレイに対応するハイエンドマシンが必要です。GPU搭載のPCが必須で、もし手元に端末がない場合は数十万円程度の予算を工面しましょう。

VR ReadyのPCがない場合、Unity上で3Dゲームの開発を行ったとしてもVRゲームのプレイに耐えうる高解像度/リフレッシュレートの状態での書き出しがほぼ不可能です。

コロナ禍でも安心してエンジニア転職

テックキャンプ エンジニア転職は、未経験から約99%がエンジニア転職を実現しているプログラミングスクールです。 テックキャンプはコロナ禍でも安心して受講が可能。「徹底したサポート」「やりきれる学習環境」を自宅で学べるオンラインスタイルと感染防止対策を徹底した教室受講のどちらでも提供しています。 キャリアに悩む前に、まずはテックキャンプの無料カウンセリングを受けてみませんか?

プログラミングなしでゲームを作ることも可能

ゲームを開発したいと考える人の中には「自分は企画やグラフィックス、マネタイズに専念したい」という方もいるでしょう。

しかし、企画やグラフィックスに将来的に専念するとしても、ゲーム開発者になるのであれば自分でモックアップ程度は作成できるようになるのがおすすめです。

なぜなら、ゲームはプレイしてみて初めてわかる「操作性の難」や「企画そのものの良し悪し」が存在するからです。また仮にゲーム開発で起業し、投資資金を集める際にもモックアップがあれば投資家にゲーム内容を説明しやすいです。

そこで役に立つのが、プログラミングなしでゲーム開発ができるツールです。

プログラミングなしで開発可能なツールを紹介します。

GameSalad

GameSaladはドラッグ&ドロップで、ブラウザ上で機能を組み合わせてゲームを開発するツールです。評価版はBasic版の15日無料体験版という位置付けで、Basic版の価格は月19ドル。Pro版は月29ドルです。

ソースコードの編集機能はないため、GameSalad上でできないことは開発できません。

ピンボールゲームやスーパーマリオライクな横スクロールゲームなどのテンプレートが揃っているため、もし自分が想定しているゲームにマッチしたテンプレートがあれば組み合わせる素材と、その素材の挙動・動作を設定するだけで簡単にモックアップが完成します。

もしこれからゲームを作ろうと考えているなら、一度はGameSaladのテンプレートに近しいものがないかチェックしてみると良いでしょう。

そしてテンプレートに近しいものがあれば、GameSaladでモックを作成。モックをベースに、C#とUnityをはじめとするゲーム開発向けのプログラミング言語とツールを使って、本格的な実装をするのがおすすめです。

まとめ

ゲーム開発におすすめの言語とツール、そしてプログラミングなしでゲームが作れるサービスを紹介しました。

プログラミング経験がない方は、まずはGameSaladなどのサービスを使ってモックを作成。その後、自分が作りたいゲームに合った言語とフレームワークを学習し、本番のゲームを開発していくことです。

今回の記事を参考に、ぜひ思い描くゲームを形にしてみてください。

 

自宅にいながら、プロのカウンセラーにキャリア相談!

テックキャンプ エンジニア転職は、未経験からのエンジニア・Webデザイナー転職を実現するスクールです。転職成功率は99.0%。※2019年8月末時点。学習完了後、当社の転職支援利用者の転職成功率

テックキャンプでは、オンラインでカウンセリングや学習サービスを提供しています。

オンラインでも、テックキャンプならではの「徹底したサポート」と「やりきらせる学習環境」は変わりません。オンラインでプログラミングを習得した方のインタビューはこちら

キャリアに悩んだら、ビデオ通話で無料オンラインカウンセリング(キャリア相談)を受けてみませんか?オンラインカウンセリングのやり方は簡単で、5分もあれば準備が完了します。

まずはカウンセリングから、ぜひご利用ください。

無料カウンセリングの詳細はこちら

この記事を書いた人

Avatar
音楽ライターとしてエイベックス、ビクター、トイズファクトリー等に所属するアーティストの取材を担当。2016年に開催された『Bjork Digital』の取材経験から、VR×音楽に関心を抱く。2017年よりテクノロジーに関するライティングを開始し、テックキャンプ ブログにジョイン。猫とウサギを飼っています。