入門前の前提知識!おすすめゲームプログラミング言語5選

game
井上 慎也
書いた人 井上 慎也

こんにちは!インストラクターの井上(InoIno_iesa)です。

ゲームプログラミングには興味があっても、どんなプログラミング言語でどんなゲームができるのかなかなか分かりませんよね。

特に自分で作ってみたい!という人は、それぞれの難易度なんかも知りたいところですが、なかなか調べるのは難しいでしょう。

そこで今回は「ゲームプログラミング」には主にどんな種類があって、どんな言語が使われているのかを解説していきます。

それぞれの言語の特徴や難易度を理解した上で学習してみてください。

【オススメ記事】

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

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

ブラウザゲーム

スクリーンショット 2016-03-25 19.32.54
URL:艦隊これくしょん

ブラウザゲームはインターネットに接続して「InternetExproler」や「GoogleChrome」といったブラウザを通して遊ぶゲームです。

リアルタイムなアクションや派手な演出はブラウザの性質上難しいですが、インストールが不要で利用者は手軽に始められるという特徴があります。

スマホゲーム

スクリーンショット 2016-03-25 19.34.30
URL:パズルアンドドラゴンズ

スマートフォンアプリとして遊べるように作られているのがスマホゲームです。近年のゲーム市場では、最も盛り上がりを見せています。

主にAndroid用とiPhoneのiOS用に制作する必要があり、オンライン接続を前提としたアプリも多いです。

コンシューマゲーム

スクリーンショット 2016-03-25 19.44.44
URL:メタルギアソリッド5

コンシューマーゲームとは、「PlayStation4」や「NitendoDS」などの専用ハードを持つ家庭用ゲーム機です。

ゲーム機の性能を利用したハイクオリティなゲームを制作することが可能です。

最近ではオンラインに接続して遊べるものも増えています。

特定のゲーム機用にゲームを制作して販売するにはライセンス契約が必要になるため、小規模なゲームはほとんど制作されません。

PCゲーム

スクリーンショット 2016-03-25 19.37.18
URL:マインクラフト

パソコンにインストールして遊ぶゲームです。

家庭用ゲーム機を買わなくても家にパソコンがあれば手軽に本格的なゲームを遊べます。

制作環境以外にライセンス契約等が必要ないため、クリエイターが個人で制作して販売する「同人ゲーム」等でもよく利用されています。

なお、パソコンのシェアの問題からWindows向けに制作されることが多いです。

オンラインに接続する事が前提となっている大規模オンラインゲームなどもあります。

おすすめのプログラミング言語

ここからは、ゲームプログラミングにはどんな言語があって、どんなことが出来るのかを見ていきましょう。

なお、最近のゲームはオンライン接続が出来るものが増えていますが、オンライン要素を絡めると「サーバサイド」の技術も必要になってきます。

詳細はサーバサイドを担当する言語のところで解説していきます。

C++(シープラプラ)

cpp

特徴

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#(シーシャープ)

cs

特徴

ゲーム制作で最近人気が高まってきているプログラミング言語がC#です。

C++ほど難しい概念を全て理解しなくてもよく、プログラミングとしては比較的書きやすくしっかりしたものになっており、複雑なゲームもスムーズに制作していけます。

Unityなど様々な開発環境が揃っているため、難易度はゲームプログラミングの中では比較的低いと言えます。

主な作れるもの

・コンシューマゲーム
・PCゲーム
・ブラウザゲーム(見た目)
・スマホアプリ(Android / iOS)

学習方法

仮にUnityの学習をしたいのであれば、まずはUnityの入門書でUnityの特徴を抑え、次にC#で本格的なプログラミングの知識を付けるのが良いでしょう。


JavaScript(ジャバスクリプト)

0506.sdt-javascript

特徴

JavaScriptはブラウザゲームなどで使われてきましたが、最近では様々な環境で広く利用されるようになってきている言語です。

先に記述したUnityはC#以外に、拡張されたJavaScriptを選択して使用することも出来ます。

JavaScript単体の学習難易度は高くありませんが、JavaScriptで様々ことをやろうと思うと色々なツールの使い方を把握する必要はあります。

主な作れるもの

・ブラウザゲーム(見た目)
・スマホアプリ(Android / iOS)*1

*2 (参考)

学習方法

Swift(スイフト)

appleswift

特徴

Appleから提供されているApple製品のアプリを開発するためのプログラミング言語です。

iPhone等ですべての機能を利用できることから、しっかりしたiOSアプリを作りたい方に利用されます。

プログラミング入門者にとって学習難易度は少し高いですが、凝ったアプリも作れるようになります。

主な作れるもの

・PCゲーム(Mac)
・スマホゲーム(iOS)

学習方法

Swiftは動作確認等もし易い機能がついているので、直接Swiftのプログラミング入門書籍を探して実行しながら学ぶのが良いでしょう。

こちらに入門書をまとめていますので合わせてご覧ください。

英語が苦にならない方はAppleが提供しているチュートリアルを読むのが良いです。
https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/GuidedTour.html

少し分かるようになってきたら、実際のサンプルで学ぶのが良いでしょう。

Swiftの登場時に話題になった「フラッピーバード」というゲームのソースコードなどが公開されています。

オンラインでコードを共有できるGitHubにて公開されているので見てみるのも面白いでしょう。

https://github.com/fullstackio/FlappySwift

Ruby(ルビー)

How-To-Deploy-Ruby-On-Rails

特徴

スタートアップでサービス作成によく使用される言語がRubyです。

最近はスマホのソーシャルゲーム等で利用する目的でも注目されてきています。

Ruby Motionなども使用すれば、スマホアプリもサーバサイドもRubyだけで制作することが出来ます。

個人でサーバサイドも制作する場合はRubyの学習もおすすめです。

Unityなどに比べるとゲームを作るにあたっては本格的なプログラミングになるので、学習難易度は少し高めになるでしょう。

作れるもの

・ブラウザゲーム(サーバサイド)
・スマホアプリ(Android / iOS)

学習方法

Rubyを学習する場合は、やはりメインとして使われるサーバサイドから学習を行います。
別途「Ruby入門完全攻略」の記事をまとめていますのでこちらも御覧ください。

ある程度学習出来れば少し前の情報になりますが、
RubyMotion Tutorial – Ruby で iOS アプリを作ろう」などを参照するのが良いでしょう。

まとめ

ゲームプログラミングの言語紹介はいかがでしたでしょうか?

興味の湧いたものがあれば是非

「どうすれば実際にゲームを作れるのか」
「どれをどうやって学習すべきか」

など計画も立ててみていただければと思います!


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーでWEBエンジニアをやられている濱口直行さん。33歳で、プログラミングを学び始め、約半年という短い期間で独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


現役フリーランスエンジニアによる無料体験レッスン実施中!

もし、あなたが、

  • 経験、年齢、学歴に不安がある
  • 挫折しない学習方法が知りたい
  • アプリ開発で困っている
  • エンジニアの”生”の声が聞きたい!
  • 仕事獲得の仕方がわからない
  • エンジニアに転職したいが何をすればいいかわからない

など、プログラミング学習やキャリアのことでお困りであれば、まずは『無料体験レッスン』にお申し込み下さい。

あなたにとって、最適の解決策をご提案させていただきます。

詳しくは下の画像から詳しいサービス内容をご確認ください。

cta_mtm3

プログラミング学習者必見

専属講師に質問し放題、レッスンし放題、最短1ヶ月でフリーランスエンジニア
プログラミング学習カリキュラム無料公開中
Ruby学習カリキュラム無料公開中
 1記事最大11,000円!テックライター募集


LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

井上 慎也

井上 慎也

侍エンジニア塾のインストラクター。フリーでWEB制作の受託や自身の事業の傍ら、侍ではWEBプログラミング方法の指導やプログラミング学習コミュニティの運用を行っている。
好きなショートカットキーは、command + w 。愛機はMac Book Pro。ブラウザのタブを大量に開きがち。