「子どものころからゲームが好きでゲームを作る仕事がしたい。」「ゲームプログラマーに憧れている」という方は多いです。
とはいえ人気の職種ですから、未経験から目指すのは難しいのではないかと不安に思う方が多いと思います。
そこで、本記事ではゲームプログラマーの仕事内容や習得すべき言語など、これからゲームプログラマーを目指す方が知っておくべき情報をまとめました。
ゲームプログラマーとは
ゲームプログラマーは、ゲームプランナーやディレクターが作った企画や仕様書の通りに、ゲームが動作するようにプログラムを構築する役職です。
仕事内容としては、デザイナーやサウンドクリエイターとも連携しながら、キャラクターの動き、ゲーム内のサウンドの設定、エフェクト、シナリオ分岐まですべての工程をプログラムするのがメインです。
ただこれに加えて、デバッグ作業やリリース後の不具合の修正、バージョンアップなどの作業も担当します。
設置型のコンシューマーゲームをはじめ、アーケードゲームやPC、スマートフォンなど様々なハードウェアでゲームが展開されていますが、開発するゲームによって、試用される言語や求められるスキルが変わってきます。ゲームプログラマー目指す方は、自分が作りたいゲームがどのようなものなのかを考えて学習する言語を選びましょう。
ゲームプログラマーの平均年収例
(画像引用:ゲームプログラマーの仕事の年収・時給・給料| 求人ボックス給料ナビ | 2022年7月29日)
求人ボックスの調査によれば、ゲームプログラマーの平均年収は487万円です。
ただしゲームプログラマーはソーシャルゲーム業界とコンシューマーゲーム業界で年収額に差があります。
例えば、26歳第二新卒者の平均年収は以下のようなものになります。
ソーシャルゲーム業界 350万円~450万円
コンシューマーゲーム業界 300万円~400万円
ソーシャルゲーム業界の方がコンシューマーゲーム業界やや高くなっています。
コンシューマーゲームの方が、大規模な案件が多く、CGやプログラミングに関して高いスキルが求められるのですが、パッケージでの売り切りという販売方法であるため、リリース後に大幅なアップデートがされることはほとんどありません。
一方で、ソーシャルゲームは公開後も大規模なアップデートが行われることで、1つのヒットタイトルが莫大な利益を生み出すことが少なくありません。
そのため、基本給は変わらなくとも、利益がボーナスとして還元されやすいソーシャルゲーム業界の方が年収が高くなる傾向があるのです。
今習得すべき言語
開発するゲームによって、試用される言語が異なることはお伝えしました。
プログラミング言語の移り変わりは激しいのですが、2022年現在、各ゲーム業界で人気の言語を紹介します。
業界 | 言語 |
---|---|
コンシューマーゲーム | C++、C# |
ソーシャルゲーム(スマートフォン向けゲーム) | Java、JavaScript、Ruby、C#(Android)Swift(iPhone) |
ブラウザゲーム | JavaScript、Ruby |
VRゲーム | Unity(C#、JavaScript)Unreal Engine(C++) |
ゲーム業界で人気のプログラミング言語の特徴
C++
「C++」は、歴史が長いオブジェクト指向言語で、多くのプログラミング言語のベースになっている言語でもあります。
実行速度が速いことが特徴で、大規模システム開発に活用されています。
ゲーム業界では、コンシューマーゲームの制作において必須の言語となっています。
ほとんどのコンシューマーゲームで、この言語が使用されており、PlayStation、Xbox、Nintendo SwitchのいずれもC++を用いて開発されています。
万能型のプログラミング言語ですが、習得難易度は高いです。ゲームエンジンであるUnreal Engineでの開発に必要な言語でもあります。
C#
「C#」はJavaなどをベースにマイクロソフト社が開発した言語で、C言語およびC++言語の後継言語として位置づけられています。
幅広いゲーム開発ができる言語ですが、最大の特徴はゲームエンジンであるUnityでの開発に必要な点です。
Unityはさまざまなプラットフォームに対応した開発環境として、多くのゲーム会社で利用されています。
そのため、C#はUnityとともに、これからゲームプログラマーを目指す方に非常におすすめの言語です。
JavaScript
「JavaScript」はアプリやウェブブラウザでの動的なサイトの構築に強みがある言語です。
ゲーム業界では、ブラウザゲームで使用されるほか、アプリ内で「お知らせ」をブラウザ表示するときにも使われていることがあります。
ゲームよりもウェブ業界に強い言語ですので、ゲーム開発のみならず、関連するWEBサービスの開発で求められることが多いです。
Java
「Java」は、Androidのアプリ開発で標準となっているプログラミング言語です。
Androidでは、最終的な出力はJavaの「APK」ファイル形式で行うためです。
スマートフォンでリリースされるゲームは、ほとんどの場合Android・iOSどちらにも対応したものが求められますので、ソーシャルゲームの開発に携わる方には必須の言語といえます。
また、処理能力が高い言語のため、サーバーの構築・運用にも用いられます。
Ruby
「Ruby」まつもとゆきひろ氏がつくったプログラミング言語で、スマートフォンのアプリやブラウザを使うソーシャルゲームのサーバーサイドで利用されることが多いです。
プログラミング初心者にも分かりやすい言語といわれており、最盛期は過ぎたといわれていますが、いまだに人気のある言語です。
Swift
「Swift」は、iOSのアプリの開発で必要な言語です。
Apple製OS用のアプリ開発に用いられていた「Objective-C」の後継として開発されました。
学習しやすい言語で、iOS向けのアプリでの採用率が高まっています。
ゲームプログラマーになるには
必要なスキル・資格
プログラマーは実力主義の世界ですので、必須の資格というものはありませんが、絶対的にプログラミングのスキルが必要です。
情報処理技術者試験の資格が必要だといわれることもありますが、そういうわけでもありません。
実際に任天堂の募集要項を確認してみると、学歴は、最低でも専門学校の卒業見込みとなっていますが、情報処理技術者試験の資格は書かれていません。
情報処理技術者試験の資格よりも、ゲーム開発に関わる言語の知識と実力が求められるからです。
(画像引用:2023年度 新卒採用情報 募集要項 | 任天堂 | 2022年3月)
また、近年はゲームプログラミングだけでなく、サーバーなどのシステム関係の知識も求められるようになってきています。
これは、オンラインゲーム、スマホゲームの普及が要因です。
コンシューマーゲームを開発していたゲーム会社は、オンラインゲーム用にサーバーが必要になった際に、ゲーム開発と同じくC言語かC++が用いられるTCP/IPという通信方式を採用しました。
TCP/IPはWeb系(インターネット関係)とは異なる通信技術ですので、ノウハウがなかった事もありますが、高速通信が行えるTCP/IPでなければ3Dのようなデータ量が多いゲームを運用できなかったからでもあります。
一方で、Web系の技術を得意とする企業が作るWeb系のゲームも流行し、ここでコンシューマーゲームを得意とする会社とWeb系のゲーム得意とする会社に分かれました。
その後、スマートフォンの普及に伴いスマホ向けゲームの開発が求められるようになりましたが、スマホ向けゲームは多くの場合、Web系の通信技術を活用して運営されています。
Web系の技術に弱い会社は、自社だけではスマホゲームの開発ができないので、サーバーなどのシステム関係が得意な企業と提携して開発するようになりました。
代表的な例でいえば、任天堂のPokemon GOはNiantic, Inc.という企業と提携して作成されたものです。
ただ、他社と提携するにしてもシステム関連の知識が全くなくては、打ち合わせもままなりませんので、システム系が得意で、ゲームプログラミングも趣味等で経験のあるプログラマー達を入社採用するようになりました。
システム系の知識が必要な状況は、現在も変わっていません。必須というわけではありませんが習得しておけば、大手のコンシューマーゲーム企業への転職も視野に入ってくるでしょう。
学校・スクールは必要?
ゲームプログラマーの人材は、新卒・第二新卒以外で未経験の採用はほとんどありません。
これは、ゲーム開発に求められるプログラミングが技術的に難しいからです。
まずは、独学で勉強するかスクールや専門学校に通って知識を付けましょう。
現在は社会人向けのスクールも多くありますので、仕事をしながらでも学ぶことはできます。
ただ気をつけなければならないのが、ゲームが技術的に難しいという点です。
個人でちょっとしたゲームを作るためにプログラミングの知識を付けたいというならまだしも、ゲームプログラマーを目指したいという方が求めるレベルのプログラミングは、誰でも教えられるものではありません。
街のスクールやネットでよく見るスクールには、専門的なプログラミングを教えられる講師がいない場合がほとんどです。
専門的なプログラミングを学ぶには、専門学校のゲームプログラミング科に通う必要があります。
専門学校でも、週に数日、夜の1~3時間という通い方もできますので、仕事をしながらでも学習することができます。
専門学校ではなくプログラミングスクールを選ぶ場合でも、現役のプログラマーが指導してくれるところを選びましょう。
専門学校を卒業しただけではプログラマーになるのは難しい
専門学校のゲームプログラミング科を卒業したとしても、ゲームプログラマーとしての就職が確約されるというものではりません。
専門学校でさえ、学べるのはプログラミングの基礎の基礎だからです。それほどにゲームプログラミングは難しいのです。
中途でプログラマーになった方のなかには、デバッガーやテスターとしてのアルバイトからゲーム業界に入ったという方も少なくありません。
デバッガーやテスターの仕事は、仕様書と試作段階のゲームを突き合わせて問題がないか確認したり、実際の動作から、不具合やその原因を探す作業です。
開発が行えるわけではありませんが、プロのプログラマーのコードを見ながら実務経験を積むことができます。またゲーム業界とのコネクションを作れる機会でもあります。
デバッガーやテスターのアルバイトならば、プログラミングの知識を完全に習得している必要はありませんので、専門学校に通いながら働くということもできます。
アルバイトの面接ではゲーム業界への熱意があり、すでに動き出していることを伝えましょう。
デバッガー・テスターのアルバイトの志望動機例
私は、将来的にゲームプログラマーとしてゲーム業界で活躍したいと思っています。
そのために、独学でプログラミングの学習を始めたのですが、自分一人ではどうしても疑問に思う点の解決に時間がかかっていたので、専門学校に通い出しました。
実際に疑問点の解消はスムーズになり、成長速度は上がっていると実感することはできています。現段階でも簡単なゲーム程度なら自作することはできます。
しかし、講師の話から、専門学校で教えられるのは基礎の部分でしかないことを知りました。
そんな折に、御社の求人を見つけました。
デバッガーとして、プロのプログラマーが作ったコードと真剣に向き合って仕事ができる機会は、プログラマーに近い経験を積めるチャンスだと思い応募いたしました。