どんなプログラミング言語でゲームが作れるの
プログラミングを学んでゲームを開発したい
ゲームプログラミングには興味があっても、どんなプログラミング言語でどんなゲームができるのか、なかなか分かりませんよね。特に自分で作ってみたい!という人は、それぞれの難易度なども知りたいところですが、なかなか調べるのは難しいでしょう。
そこで今回は「ゲームプログラミング」には主にどんな種類があって、どんな言語が使われているのかを解説していきます。それぞれの言語の特徴や難易度を理解した上で学習してみてください。
この記事の目次
ゲームプログラミングとは

ゲームを作るためには「プログラミング」が必要になります。プログラミングで、ゲームのストーリーやアクションを表現するんですね!
そのためには、機械に分かりやすく、機械が理解できる指示を出してあげる必要があります。それに必要なのが「ゲームプログラミング」です。ゲームをカタチ作る「ゲームプログラミングの種類」や「プログラミング言語」などそれぞれ適したものがあります。
それでは詳しく見ていきましょう!

主なゲームプログラミングの種類
まずはそもそもゲームプログラミングには、主にどんな種類があるのかを見ていきましょう。
ブラウザゲーム

ブラウザゲームは、インターネットに接続して「InternetExproler」や「GoogleChrome」といったブラウザを通して遊ぶゲームです。リアルタイムなアクションや派手な演出はブラウザの性質上難しいですが、インストールが不要なので、利用者は手軽に始められるのが特徴です。
スマホゲーム

スマートフォンアプリとして遊べるように作られているのがスマホゲームです。近年のゲーム市場では、最も盛り上がりを見せています。主にAndroid用とiPhoneのiOS用に制作する必要があり、オンライン接続を前提としたアプリも多いです。
コンシューマゲーム

コンシューマーゲームとは、「PlayStation4」や「NitendoDS」などの専用ハードを持つ家庭用ゲーム機です。ゲーム機の性能を利用したハイクオリティなゲームを制作することが可能で、最近ではオンラインに接続して遊べるものも増えています。
特定のゲーム機用にゲームを制作して販売するにはライセンス契約が必要になるため、小規模なゲームはほとんど制作されません。
PCゲーム

パソコンにインストールして遊ぶゲームです。家庭用ゲーム機を買わなくても家にパソコンがあれば、手軽に本格的なゲームを楽しめます。
制作環境以外にライセンス契約等が必要ないため、クリエイターが個人で制作して販売する「同人ゲーム」等でもよく利用されています。なお、パソコンのシェアの問題から、Windows向けに制作されることが多いです。
オンラインに接続する事が前提となっている、大規模オンラインゲームなどもあります。
VRゲーム

VRゲームとは、プレイヤーの360度全方向を取り囲む、迫力のある3D空間が出現するゲームです。圧倒的な臨場感を味わえるのが魅力です。オンラインでも遊ぶことができ、マルチプレイを楽しめます。
「シネマティックモード」では、仮想空間の中にある巨大モニターでゲームや映画も楽しめます。
ゲーム開発で使われるプログラミング言語5選
ゲーム開発で使われるプログラミング言語は、主に以下の5つです。
- C++(シープラプラ)
- C#(シーシャープ)
- JavaScript(ジャバスクリプト)
- Swift(スイフト)
- Ruby(ルビー)
なお、最近のゲームはオンライン接続ができるものが増えていますが、オンライン要素を絡めると「サーバサイド」の技術も必要になります。詳細は、サーバサイドを担当する言語のところで解説していきます。
C++(シープラプラ)

特徴
C++はC言語をより高度に使えるように拡張されたものです。プログラミング言語の中でも、比較的「コンピュータが理解する言葉に近い書き方」をすることから、かなり難しいものになります。
ただ、その分「コンピュータが理解しやすいプログラムができる」ので、とても処理速度が早くなめらかに動くゲームを作ることができます。例えばWindows向けにPCゲームを開発する場合、DirectXなどの画面に絵などを写すための「描画用ライブラリ」を利用してゲームを開発します。
ゲーム会社等は、専用のライブラリを自社開発していることも少なくありません。
主な作れるもの
- コンシューマゲーム
- PCゲーム
- スマホアプリ(Android / iOS)*1
*1 (参考)C++によるiOSとAndroidでのクロスプラットフォーム開発
http://www.infoq.com/jp/news/2014/06/dropbox-cpp-crossplatform-mobile
学習方法
本格的に開発を行う場合、C言語を学習した後C++の基本を学習し、C++でのゲームプログラミングの方法を学習する必要があります。
次のページでC言語/C++の学習書籍についても解説しているので御覧ください。
本格的に学習する方には次の本もオススメなので、余裕があれば見てみてください。
ゲームプログラマになる前に覚えておきたい技術
C#(シーシャープ)

特徴
ゲーム制作で最近人気が高まってきているプログラミング言語が、C#です。C++ほど難しい概念を全て理解しなくてもよく、プログラミングとしては比較的書きやすくしっかりしたものになっているので、複雑なゲームもスムーズに制作していけます。
Unityなど様々な開発環境が揃っているため、難易度はゲームプログラミングの中では比較的低いです。
主な作れるもの
- コンシューマゲーム
- PCゲーム
- ブラウザゲーム(見た目)
- スマホアプリ(Android / iOS)
学習方法
仮にUnityの学習をしたいのであれば、まずはUnityの入門書でUnityの特徴を押さえ、次にC#で本格的なプログラミングの知識を付けるのが良いでしょう。
JavaScript(ジャバスクリプト)

特徴
JavaScriptはブラウザゲームなどで使われてきましたが、最近では様々な環境で広く利用されるようになってきている言語です。先に記述したUnityはC#以外に、拡張されたJavaScriptを選択して使用することもできます。
JavaScript単体の学習難易度は高くありませんが、JavaScriptで様々ことをやろうと思うと色々なツールの使い方を把握する必要があります。
主な作れるもの
- ブラウザゲーム(見た目)
- スマホアプリ(Android / iOS)*2
*2 (参考)
学習方法
Swift(スイフト)

特徴
Appleから提供されているApple製品のアプリを開発するためのプログラミング言語です。iPhone等ですべての機能を利用できることから、しっかりしたiOSアプリを作りたい方に利用されます。
プログラミング入門者にとって学習難易度は少し高いですが、凝ったアプリも作れるようになります。
主な作れるもの
- PCゲーム(Mac)
- スマホゲーム(iOS)
学習方法
Swiftは動作確認等もし易い機能がついているので、直接Swiftのプログラミング入門書籍を探して実行しながら学ぶのが良いでしょう。
こちらに入門書をまとめていますので、合わせてご覧ください。
英語が苦にならない方は、Appleが提供しているチュートリアルを読むのがオススメです。少し分かるようになってきたら、実際のサンプルで学ぶのが良いでしょう。
Swiftの登場時に話題になった「フラッピーバード」というゲームのソースコードなどが公開されています。オンラインでコードを共有できるGitHubにて公開されているので、見てみるのも面白いでしょう。
Ruby(ルビー)

特徴
スタートアップでサービス作成によく使用される言語が、Rubyです。最近は、スマホのソーシャルゲーム等で利用する目的でも注目されてきています。
Ruby Motionなども使用すれば、スマホアプリもサーバサイドもRubyだけで制作できます。個人でサーバサイドも制作する場合は、Rubyの学習もオススメです。
Unityなどに比べると、ゲームを作るにあたっては本格的なプログラミングになるので、学習難易度は少し高めになるでしょう。
作れるもの
- ブラウザゲーム(サーバサイド)
- スマホアプリ(Android / iOS)
学習方法
Rubyを学習する場合は、やはりメインとして使われるサーバサイドから学習を行います。別途「Ruby入門完全攻略」の記事をまとめていますので、こちらも御覧ください。
ゲーム開発ができるプラットフォームUnityとは
Unityとは、ユニティ・テクノロジーズ社が提供する、ゲーム開発プラットフォームです。3Dゲーム開発の手軽さとその物理エンジンが有名ですが、2Dゲーム開発にも対応しています。
UntiyはWindows、Mac、Linuxなどのデスクトップや、iOS、AndroidなどさまざまなOSに対応しており、PlayStation 3/4/、Xbox 360、Wii Uなどのコンソールゲーム、そしてプラグイン(Unity Web Player)がインストールしてあるWEBブラウザーなども多岐にわたって配布・販売、利用することができます。
また、Unityはノンプログラミングでもある程度のゲーム制作が可能です。たとえば3Dのキャラクターを動かしたり、3Dのステージを設置するなんてことができます。
そんなUnityについては、以下の記事で詳しく解説していますので、ぜひ参考にしてください!

ゲーム開発プログラミングを学ぶ方法

ゲームプログラミングを学ぶ方法は、主に以下の3つです。
- 学習サイトで学ぶ
- 書籍で学ぶ
- プログラミングスクールで学ぶ
学習サイトを使い倒す
プログラミングは、いかに「手を動かして学んだか」が重要になってきます。本を読んだり、記事を読んだり、インプットの時間はとても大切ですが、それをアウトプットをする時間がより重要なんです。
アウトプットしなければ使えるスキルにはならないので、「学習サイト」で基礎力をアップさせて土台を作りましょう!
書籍を使い倒す
書籍はもちろん使い倒しましょう!ただ、分厚い本をとことんやるというよりは、調べる時に使う辞典のように使うのがオススメです。
とはいえ、初心者向けの書籍も買ってみると、サンプルがいっぱい載っていて実践にとても参考になります。まずはこんな本があるんだな、ぐらいで眺めてみることから始めてみるといいですね!
プログラミングスクールで本格的にゲームを開発する
「プログラミング学習」って独学の挫折率がとっても高いんです。なぜ高くなってしまうのか・・・それは、学習方法を相談できる相手や学習を効率的に進める方法を知らないので、学習で詰まったときに継続して進められないから。
そのぐらい一人で学習すると挫折してしまうのですが、学習する環境が変われば話は違います。
その学習環境を変える方法として「プログラミングスクールに通う」という方法があります。プログラミングスクールに通うことで
- 自分にあったカリキュラムで学習を進める事ができる
- マンツーマンレッスンでいつでも質問できる環境が用意されている
- 自分のキャリアにあった学習プランで学習を進められる
など、学習環境を変えるための充実したサポートが受けられるようになります。
このように思う人もいますよね。
そんな方はまず、SAMURAIの無料カウンセリングを受けてみてはいかがでしょうか?弊社では、現役生徒500名以上が在籍し、未経験から転職・フリーランスへ多くの卒業生を輩出しております。
プログラミングを学ぶ目的を明確化し、明確になったキャリアに向かって最短で学習するための学習プランを提案させて頂きますので、無駄のない学習で最速でエンジニアになれるイメージが湧きます。
未来に向かって一歩踏み出そうとしているあなたを全力でサポートいたしますので、下記のカレンダーより空いているお日にちを選んで、お気軽にお越しください。
ゲーム感覚でプログラミングを学べる!おすすめサービス6選
ここからは、「子どもが飽きないようにプログラミング学習をさせたい」「プログラミングをゲーム感覚で学びたい」という方に向けてプログラミングが学べるサービス・アプリを解説します。
プログラミング学習はいきなり手を付けると思った以上に覚えることが多く、挫折してしまう可能性もあります。そんなときには、ゲームのように楽しく挫折しないように続けられる学習法がオススメです!
プログラミングの考え方が身に付けられるものから、プログラミング言語の構文までしっかりと学べるものもあるので、自分に合うサービスやアプリを見つけてくださいね。
子ども向け
Scratch

Scratchとは、MITメディアラボが開発した「ビジュアルプログラミング言語」の一つです。
ビジュアルプログラミング言語の中でも、Scratchは世界で3900万人以上が利用する最も人気のあるもので、ブロックを組み合わせてゲームを作っていくという子ども向けのプログラミングツールです。ビジュアルプログラミングとは、ブロックを組み合わせて絵を動かしたりする等視覚的に行うプログラミングのこと。
子どもや初心者向けのプログラミング入門用としてピッタリですが、その反面JavaやPHPのような一般的なプログラミング言語は覚えられないので注意しましょう。子ども向けプログラミングスクールの教材として使われることが増えており、Web上でも使えますし、タブレットやスマホで使えるアプリにも対応しています。
CODEMONKEY

CODEMONKEYは、イスラエルで開発されたプログラミング学習ゲームです。海外発ですが、日本語にも対応しているので安心して使えます。内容は、主人公のサルをプログラムで動かしてバナナを集めるのが目的のシンプルなゲーム。
本格的なプログラミングではなく、簡単なコード入力やボタンクリックで動かしていけるので、タイピングが難しい子どもからコード入力ができる子どもまで幅広く楽しめます。
また、学習コースによってはPythonやCoffeeScriptを覚えられるコースもあるので、実際に役立つプログラミングゲームをしたい人にもオススメです。
Code.org

Code.orgは、世界中で数千万人に使用される有名なプログラミング教材です。レベルに合わせて様々な学習コースが用意されているので、幼稚園児~高校生まで対応できるのが嬉しい点です。Minecraftやアナと雪の女王といった子どもにも親しみやすいコンテンツを使い、ビジュアルプログラミングを実現しているので、子どもでも飽きることなく続けられます。
また、html・CSS・JavaScriptといったプログラミング言語もコースによっては学べるので、実用的な学習をしたい方にもオススメですよ。
大人向け
CODECOMBAT

コードを入力し、ダンジョンを攻略していくRPG方式のプログラミングゲームです。ダンジョンをクリアしていくとキャラクターを強くできるのと同時に、自分自身もスキルアップしていくことができます。
PythonやJavaScriptなど近年需要の高いプログラミング言語を学べる本格的なRPGゲームとして、世界中で人気を博しています。ユーザー数は1200万人以上と、世界中で多くの人がハマっているプログラミング学習ゲームです。
CODEPREP

CODEPREPは、穴埋め形式の問題をヒント等を見ながら埋めていくゲーム感覚の学習サービスです。1冊10分程で終えることができるので、スキマ時間でも学習することができますよ。答えが分からない場合でも、ヒントやディスカッションボードを利用しQ&Aができるので、同じ学習をするユーザーと教え合いながら進めることができるので安心です。
対応している言語は、HTML・CSS・JavaScript・PHPなど、Web系の主要言語に多数対応。1日10分なのでプログラムを書く習慣をつけ、挫折しがちなプログラミング学習を継続させやすいので、なかなかプログラミング学習が続かなかったという方に特にオススメです。
CheckiO

CheckiOは、PythonとJavaScriptに対応したプログラミング学習サービスです。簡単なレベルから問題が出題され、問題を解くことでレベルアップしステージをクリアしていきます。徐々に問題が難しくなっていくので、プログラミング初学者にはちょうど良い難易度になっているでしょう。
問題が解けたら他の人が書いたコードを見たり、どのように応用するのかも解説されているので、より理解が深まり、コードの応用も効かせられるようになりますよ。
全てではありませんが、日本語も対応しています。環境構築も不要で無料で始められるので、自分の実力を試したい人は試してみると良いのではないでしょうか。
まとめ
ゲームプログラミングの言語紹介はいかがでしたでしょうか?
興味の湧いたものがあれば是非
「どうすれば実際にゲームを作れるのか」
「どれをどうやって学習すべきか」
など計画も立ててみてください!