「プログラミングを覚えてゲーム開発をしてみたい」
「でもどのプログラミング言語を学べばいいのかわからない」
「ゲーム開発に興味はあるけど、プログラミングは苦手」
このように悩んでいませんか?
ゲーム開発では、最初にプログラミングなしでモック(デモ)を作った上で、自分が学びたい言語の学習を進めていくのがおすすめです。
そこで本記事では、ゲーム制作におすすめのプログラミング言語と、プログラミングなしでもゲームを作れるサービスを紹介します。
ゲーム開発に興味のある方は、ぜひ参考にしてみてください。
この記事は現役エンジニアによって監修済みです。
この記事の目次
主なゲームプログラミングの種類
どのプログラミング言語をゲーム開発向けに学ぶかを決めるには、まずはゲームプログラミングの種類を把握しておくことが大事です。
ここでは、おもなゲームプログラミングの種類を4つ紹介します。
- ブラウザゲーム
- スマホゲーム
- コンシューマーゲーム
- VRゲーム
ブラウザゲーム
ブラウザゲームとは、Google ChromeやFirefoxなどのウェブブラウザ上で動作するゲームことです。有名タイトルには「刀剣乱舞」「艦隊コレクション」などがあります。
ブラウザゲームはおもにHTML5とJavaScriptで動作するため、遊ぶデバイスを選びません。
つまり、PC・スマートフォン・タブレットからダウンロード不要でアクセスし、遊べる汎用性の高さが売りです。
開発サイドにとってはiPhoneならiPhone、AndroidならAndroidという個別の端末での動作確認が不要になるのも嬉しいポイントです。
シンプルなブラウザゲームの開発を行うなら、HTML5とJavaScirptを学習し、Canvas APIを使いこなせるようになることを目指しましょう。
教材はW3C Schoolsの「HTML Game」を一通りこなすのがおすすめ。
W3CはWWW(World Wide Web)の各種技術の標準化推進団体です。W3Cが直接運営しているチュートリアルのため、必要な技術は一通り解説されています。
この記事もオススメ
スマホゲーム
スマホゲームとは、iPhoneやAndroidをはじめとする、スマートフォン向けのゲームです。
代表的なタイトルといえば「ぷよぷよクエスト」「PUBG MOBILE」など。
スマホゲームは、Nintendo SwitchやPlayStation 4など、据え置き型かつ長時間遊ぶことが前提のゲームとは異なり、短時間で楽しめるプレイと片手で遊べる操作性が原則。
つまりUI・UXのデザインに工夫が求められます。
また料金体系にも工夫が必要です。スマホゲームの主流はダウンロード・インストールは無料で、アイテム課金やステージ課金です。
つまり「気軽にインストールしてもらい、ハマってもらう」ためのレベルデザインも必要。
スマホゲームの開発を行うなら、マルチプラットフォーム対応が可能なツールの利用がおすすめ。マルチプラットフォームの場合、iOS/Android両対応のゲームを作れます。
具体的にはUnity、もしくはCocos2d-xを使用すると良いでしょう。Unityの場合、使用言語はC#など。Cocos2d-xの場合はC++、Lua、JavaScriptなどから選べます。
コンシューマーゲーム
コンシューマーゲームとは、市販の家庭用ゲーム機向けのゲームです。
主なプラットフォームはPlayStation 4/5、Nintendo Switch、Xboxなど。
特定のゲーム機向けにソフトを開発、販売する際にはライセンス料が必要となるケースが多いため、インディーズゲームは比較的開発される機会が少ないです。
よって基本的には、コンシューマーゲームは個人ではなく企業、もしくは起業して予算を組んだ上でチーム開発するのが主流です。
コンシューマーゲームは、スマホアプリが無料〜高くても1000円程度の販売額であるのに対して、5000円近くに価格設定されることが多く、高価です。
よって本格的なコンシューマーゲームを開発する際は、グラフィックスとプログラミング両方において妥協が許されません。
グラフィックスが良くても処理落ちすればユーザーの不満を呼び、その逆も同様です。必要に応じて作業工程の一部外注なども検討するのも良いでしょう。
コンシューマーゲーム開発には、Unityの学習に加えて、C/C++の学習もおすすめ。
基本的には、UnityとC#を覚えることで、開発したゲームをコンシューマー向けに書き出すことは可能です。
ただし先にも書いたように、コンシューマーゲームでは快適で質の高い動作が原則。そのためには、単に「動けばいい」のではなく「高速化」が必要です。
Unityでは「Native Plugin」という機能を使うことで、CやC++で書いたコードを読み込ませてパフォーマンスチューニングなどを行うことができます。
学習のハードルは上がりますが、コンシューマーゲーム開発をするなら「圧倒的な高品質ゲームを作る」という心構えで学習すると良いでしょう。
VRゲーム
VRゲームとは、Meta QuestやPlayStation VRなどに代表されるVRヘッドセットを装着し、360度の仮想空間の中で遊ぶゲームです。
従来の2Dゲームや3Dゲームに比べて、自分が本当にそのゲームの世界にいるような没入感が得られるのが特徴です。
VRゲーム開発の主流ツールはUnity、もしくはUnreal Engineです。加えて「VR Ready」と呼ばれる、VRゲームの開発〜検証、プレイに対応するハイエンドマシンも必要。
GPU搭載のPCが必須で、もし手元に端末がない場合は数十万円程度の予算を工面しましょう。
VR ReadyのPCがない場合、Unity上で3Dゲームの開発を行ったとしても、VRゲームのプレイに耐えうる高解像度/リフレッシュレートの状態での書き出しがほぼ不可能です。
この記事もオススメ
ゲーム開発におすすめのプログラミング言語6選
ここでは、ゲーム制作におすすめのプログラミング言語を6つ紹介します。
- C#
- C++
- JavaScript
- Lua
- Swift
- Python
この記事もオススメ
C#
ゲームプログラミングに使用される機会がもっとも多い言語の1つが、C#です。
その要因としては、UnityやMonoGame(モノゲーム)など、C#でのゲーム開発に最適なゲームフレームワークが登場したことが理由の1つ。
実用的かつ多数のプラットフォーム向けにゲームを書き出し、配信できる環境が整ってきたことが挙げられます。
例えば、MonoGameの移植可能なプラットフォームは以下の通りです。
Cross-Platform
MonoGame currently supports Windows, macOS, Linux, iOS/iPadOS, Android, PlayStation 4, PlayStation 5, Xbox, and Nintendo 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
Swift
Swiftは、Appleが開発したiOS/macOS/Linuxで動作するプログラミング言語。iOS及びmacOS向けのアプリケーション開発に最適な言語です。
iPhoneアプリの開発には、もともとObjective-Cという言語が使用されていました。
しかし、言語仕様の複雑さや「iOSアプリ開発以外の用途の無さ」がエンジニアにとって大きな課題でした。
SwiftはObjective-Cと比較して、モダンな文法と潜在的なバグチェックの容易さが特徴。子供向けのプログラミング教育にも採用されるほど、直感的で分かりやすい言語です。
SwiftではシューティングゲームやRPGゲームなどを、iOS/macOS向けに開発できます。おもにiOS向けのゲームアプリを作りたい方におすすめです。
この記事もオススメ
Python
Pythonは基本的なシステム開発から、データサイエンス・AI開発に至るまで汎用性が高く可読性の高い文法で世界的に人気のプログラミング言語です。
ゲーム開発でもPythonはよく採用されており、ライブラリやフレームワークも充実。具体的には、PygameやCocos2dなどがあります。
また、Pythonはコミュニティが活発で、GitHubなどでの技術共有やオープンソースプロジェクトなども活発です。勉強に困ることはありません。
ゲーム開発だけでなく、プログラミング全体として見た時にメリットが大きいのがPythonです。
この記事もオススメ
プログラミングなしでゲーム開発ができるサービス
ゲームを開発したいと考える人の中には「自分は企画やグラフィックス、マネタイズに専念したい」という方もいるでしょう。
しかし、企画やグラフィックスに将来的に専念するとしても、ゲーム開発者になるのであれば自分でモックアップ程度は作成できるのが先決。
なぜなら、ゲームはプレイしてみて初めてわかる「操作性の難」や「企画そのものの良し悪し」が存在するからです。
また仮にゲーム開発で起業し、投資資金を集める際にもモックアップがあれば投資家にゲーム内容を説明しやすいでしょう。
そこで役に立つのが、プログラミングなしでゲーム開発ができるツールです。ここでは、「GameSalad」と「Scratch」を紹介します。
GameSalad
出典元:GameSalad
GameSaladはドラッグ&ドロップで、ブラウザ上で機能を組み合わせてゲームを開発するツールです。Basic版の価格は月17ドル。Pro版は月25ドル。
ソースコードの編集機能はないため、GameSalad上でできないことは開発できません。
具体的には、ピンボールゲームやスーパーマリオライクな横スクロールゲームなどのテンプレートが揃っています。
もし自分が想定しているゲームにマッチしたテンプレートがあれば組み合わせる素材と、その素材の挙動・動作を設定するだけでモックアップが完成するでしょう。
もしこれからゲームを作ろうと考えているなら、一度はGameSaladのテンプレートに近しいものがないかチェックしてみると良いでしょう。
そしてテンプレートに近しいものがあれば、GameSaladでモックを作成。
モックをベースに、C#とUnityをはじめとするゲーム開発向けのプログラミング言語とツールを使って、本格的な実装をするのがおすすめです。
この記事もオススメ
Scratch
出典元:Scratch
Scratchはビジュアルプログラミングの1つで、プログラミング初心者や小学生などの子どもでも、視覚的・直感的に分かりやすくプログラミングを組めるサービス。
利用は無料で、ScratchはWebサービスなのでブラウザ上で遊べるのもポイント。作ったゲームは共有機能を使って世界中に公開したり、他の人が作ったゲームも遊べます。
ゲーム開発初心者の入門編としておすすめなので、ぜひ使ってみてください。
ゲーム開発ができるプログラミング言語を押さえよう
ゲーム開発におすすめの言語とツール、そしてプログラミングなしでゲームが作れるサービスなどを紹介しました。
プログラミング経験がない方は、まずはGameSaladやScratchなどのサービスを使ってモックを作成したり、ゲーム制作の感覚を掴んでみましょう。
その後、自分が作りたいゲームに合った言語とフレームワークを学習し、本番のゲームを開発してみてください。
この記事を参考に、ぜひ頭の中で思い描くゲームを形にしてみましょう。
この記事もオススメ
はじめての転職、何から始めればいいか分からないなら
「そろそろ転職したいけれど、失敗はしたくない……」そんな方へ、テックキャンプでは読むだけでIT転職が有利になる限定資料を無料プレゼント中!
例えばこのような疑問はありませんか。
・未経験OKの求人へ応募するのは危ない?
・IT業界転職における“35歳限界説”は本当?
・手に職をつけて収入を安定させられる職種は?
資料では、転職でよくある疑問について丁寧に解説します。IT業界だけでなく、転職を考えている全ての方におすすめです。
「自分がIT業界に向いているかどうか」など、IT転職に興味がある方は無料カウンセリングにもお気軽にお申し込みください。