「ゲームプログラマーにはどうやったらなれるの?」「ゲームプログラマーになるにはどんなスキルが必要がある?」と疑問に思ってはいませんか。
そこでこの記事では
• ゲームプログラマーを目指すための3つのルート
• ゲームプログラマーの仕事内容
• ゲームプログラマに必要なスキルや資格
など、ゲームプログラマーを目指すときに必要な情報をまとめてご紹介します。
ゲームプログラマーになりたい方や、ゲームプログラマーに興味を持っている方はぜひご参考にしてください。
1. ゲームプログラマーになるには?3つのルート
ゲームプログラマーになる方法は、次の3つがあります。
1.独学
2.大学・専門学校への進学
3.プログラミングスクール
詳しく紹介していきます。
1.1 独学
1つ目のルートは、独学でゲームプログラマーになる方法です。
仮にゲームプログラミング系の専門学校や大学などに通っていなくても、ゲームプログラマーを目指すことはできます。なぜなら独学でもゲームを開発する環境は用意しやすく、リリースして実績を積むこともできるからです。
たとえば以下の無料ツールを使用することで、3Dのゲームを開発できます。
■ Unity
• 主にゲームが開発できるソフト
• 豊富なアセットが用意されており、ゲーム内にリアルな街を生成したり、描画をより美しくすることも可能
• 当たり判定や、重力なども表現できる
• 主にC#で開発可能
■ Blender
• 3Dモデルを作れるソフト
• 3Dのキャラや物体を自分で作れる
ちなみに独学でゲーム開発を始める方は、Unityのチュートリアルから始める人が多いです。
独学でゲームを開発するときは「モチベーションの維持」が課題となります。なぜならアプリの完成まで最低でも3ヶ月以上かかりますし、リリースしても思ったようにダウンロード数が伸びないことも多いからです。
1.2 大学・専門学校への進学
2つ目のルートは、大学や専門学校へ進学しゲームプログラマーを目指す方法です。
大学や専門学校で学ぶメリットは、以下の2つがあります。
• 授業やサークル活動で開発できる環境がある
• ゲームプログラマー以外にも将来の選択肢を残しておける
授業でゲームプログラマーに必要な知識を学べるのはもちろん、サークル活動で開発できる環境があるのも魅力の1つです。例えば「東方Project」シリーズで有名なZUN氏は、東京電機大学生で結成されたサークル「Amusement Makers」に参加し、東方Projectをスタートしています。
また情報系の知識を網羅的に学ぶことで、ゲームプログラマー以外にもシステムエンジニア(SE)などの選択肢が広がります。
ただし大学や専門学校は通う必要があるため、社会人になってから目指すのは難しいです。
1.3 プログラミングスクール
最後に紹介するルートは、プログラミングスクールに通いゲームプログラマーになる方法です。UnityやC#などのカリキュラムを扱うプログラミングスクールを活用し、ゲームプログラマーを目指します。
独学と大学・専門学校の中間的な選択肢になり、長期休暇などを利用して学ぶことが可能です。
プログラミングスクールでは、
• オンライン・オフラインなどの学び方
• 平日のみ・土日のみ・夜間のみなどの学ぶ時間
などが選べるため、社会人や学生でも仕事や学業と両立しながらゲームプログラマーを目指せます。
おすすめのプログラミングスクールについては、以下記事が参考となります。
2. ゲームプログラマーの定義・仕事内容
ゲームプログラマーを目指すルートは前述の通り、3つに分けられます。どのようなルートでゲームプログラマーを目指すかは、自分の職歴や年齢、スキルに加え「目指すゲームプログラマー像」にもよるでしょう。
• ゲームプログラマーの定義
• ゲームプログラマーの仕事内容
に分けて、それぞれ詳しく解説します。
2.1 定義
ゲームプログラマーの仕事は、システムなど「ゲーム自体を動かすプログラム」を開発することです。主に、C++やC#などの開発言語を用いてプログラミングを行い、ゲーム向けの統合開発環境としてUnityやUnreal Engineなどのゲームエンジンも活用します。
家庭用ゲーム機やスマホゲームに加え、近年はVRゲームの開発なども盛り上がっているため将来性のある職業です。
2.1.1 ゲームの動きや操作性をプログラミングによって実現する役割
ゲームプログラマーはゲームの動きやキャラクターの動作、操作性、ゲーム自体の設定やシステムなど、まさにゲームの基盤を担う重要な役割を担っています。
ただプログラムを組むだけでなく数秒のラグを無くすプログラムを組んだり、なるべくゲームの邪魔をしないように画面を描画したりと、細かい技術が必要となります。
また、一度ゲームをリリースして終わりではなく、リリース後もバグの排除やアップデートなど沢山の役割があります。
2.1.2 大規模トラフィックに耐えるインフラ構築
2021年現在ではオンラインゲーム市場も拡大しており、画面生成がリアルタイムレンダリング(※送られたデータを即時に音声や映像に変換すること)で行われるほか、リアルタイムのチャット機能を備えたアプリが増えました。
こういったリアルタイム通信を支えるには、インフラ技術の進化が不可欠です。大規模なトラフィックに耐えるインフラを構築するのはもちろん、通信にかかる速度も重視しなければなりません。
それゆえリアルタイム処理に強い、以下のようなプログラミング言語の人気も高まりつつあります。
• Go
• Node.js
• Elixir
もしもリアルタイム通信を支えるゲームプログラマーになりたい方は、上記の言語を身に着けておくのが良いでしょう。Go言語については、下記の記事でも紹介しています。
2.2 仕事の流れ
次にゲームプログラマーの仕事の流れについて詳しく紹介します。
先に流れを紹介すると以下の通りです。
1. 仕様書をもとにキャラクターの演出や視覚効果を洗い出す
2. 採用するゲームエンジンやライブラリを決める
3. 担当の振り分け
4. コーディング
5. デバッグ
6. リリース
1つずつ紹介します。
2.2.1 仕様書をもとにキャラクターの演出や視覚効果を洗い出す
ゲームプログラマーは、ディレクターがまとめた仕様書をベースに開発を進めます。
まずは仕様書を確認し、
• キャラクターの演出や視覚効果
• 具体的なモーション(攻撃の動き、回避の動きなど)
• 背景のグラフィックのイメージ
などを具体的に洗い出すことがスタートです。洗い出した項目や要件に沿って、外部のライブラリなども洗い出し、効率的な開発スケジュールを検討します。
2.2.2 採用するゲームエンジンやライブラリを決める
次に、採用するゲームエンジンやライブラリを決めます。ゲームエンジンとは、ゲームをつくるための便利機能が1つにまとまったツールのようなものです。
ゲームエンジンにはUnityやUnreal Engineなどいくつかの種類があり、どれを使ってゲームを開発していくか決めます。
ちなみにUnityとUnreal Engineの違いは以下の通りです。
Unity | Unreal Engine | |
---|---|---|
プラットフォーム | Windows PC、 PlayStation 4、WebGL、 tvOS、 Android TV、 Windows Phone、 Tizen、Xbox One、 NintendoSwitch、 Google Stadia、 MacOS、 iOS、 Android、 AR、 VR、 Linux、 SteamOS | Windows PC、PlayStation 5、PlayStation 4、Xbox Series X、Xbox One、 Nintendo Switch、Google Stadia、MacOS 、iOS、Android、AR、 VR、Linux、SteamOS、HTML5 |
価格 | 個人向けは無料
Teamsの場合は48,394円~484,000円 |
基本無料
製品が成功した場合は5%のロイヤリティを支払い |
プログラミング言語 | C# | C++、Blueprints Visual Scripting |
2.2.3 担当の振り分け
採用するゲームエンジンが決まったら、チームのメンバーに開発する機能を割り振り、開発が始まります。
通常はディレクターやプロジェクトリーダー(PL)が作ったWBS(スケジュールを管理する工程表)などをもとに、担当者ごとに納期を決めて開発を進めます。
個人で開発する場合も、どの機能をどんな順番で開発するかスケジュールを立てることをおすすめします。なぜなら「データの登録機能を先に作らないと、画面で削除・更新機能が試せない」といったことが起こるからです。
2.2.4 コーディング
開発担当が決まれば、あとは順次担当個所をコーディングしていく流れとなります。システムのプログラムはもちろん、キャラクターの動作、サウンドや設定などゲームの基盤になる部分を作っていき動作確認をします。
2.2.5 デバッグ
コーディング後は、デバッグを行います。デバッグとは、動作に問題がないか検証していく工程のこと。
「テスター(テストをメインに作業する人)」や「テストエンジニア(テストの設計などを含めてテストを遂行する人)」にデバッグを依頼するケースもあります。
2.2.6 リリース
動作に問題ないことが確認出来たら、いよいよリリース準備に入ります。
ちなみに個人で開発する場合は主に
• App Store(iOSアプリの開発)
• Google Play Store(Androidアプリの開発)
• 個人サイト(上記以外のアプリやゲーム)
• 即売会での販売(ゲームの展示・販売ができる会)
などでゲームをリリース・販売することが可能です。リリースするデバイスや場所によってテストで動作確認する必要が出て来るので、事前にどこでリリースするか決めておくと良いでしょう。
3. ゲームプログラマーに必要なスキル
ここまで、ゲームプログラマーの目指し方や仕事内容について紹介してきました。実際のところゲームプログラマーになるには、どんなスキルが必要なのでしょうか。
主に必要なスキルは下記の通りです。
• プログラミングスキル
• UI/UX
• プロトタイピング
• コミュニケーションスキル
それぞれ詳しく紹介します。
3.1 プログラミングスキル
まず1つ目は「プログラミングスキル」です。
ゲームプログラマーの場合はC#やC++などのプログラミング言語や、ゲームエンジンのUnity、Unreal Engineなどを使いこなすプログラミングスキルが求められます。また3DCGアニメーションやモデリングにも関心がある場合は、BlenderやMayaなども使いこなせると良いでしょう。
3.2 UI・UX
2つ目は「最適なUI・UXを実装できるスキル」です。UIとはデザインや見た目の部分を指し、UXとは使い勝手が良いかなど仕様の部分を指します。
2021年以降のゲーム開発では、家庭用ゲーム機、スマートフォン、PCなど複数デバイス向けにリリースされることが多いです。しかしスマホ・PC・家庭用ゲーム機では、プレイするときの環境やコントローラが異なります。
この時重要となるのが、異なる環境でも快適に楽しめるUIやUXの実現です。デバイスごとに「どのようなデザインだとユーザーがプレイしやすいか」を検証し、実装していく力が必要です。
3.3 プロトタイピング
3つ目は「スピーディーにプロトタイピングができるか」です。プロトタイピングとは、試作という意味です。
特にベンチャー・スタートアップや個人~サークルでの小規模開発で必要な能力です。細かなキャラクターデザインや演出、難易度調整、UIなどにこだわり過ぎず、ゲームのコアとなる機能を優先して開発します。
「時間をかけて作ったゲームが、まったく面白くなかった」といったことが起きてしまうと、開発した期間や費用が無駄です。こういった事態を避けるために重要なのが、プロトタイピングです。
操作感がわかるレベルのゲームをつくり、事前に試すことで本当に面白いゲームか判断しやすくなります。
• 必要な機能/必要ではない機能の選定
• ゲームの動きの認識すり合わせ
• ゲームがそもそも面白いか
• 時間をかけてゲームを作るのに値するか
などを判断することも可能です。
3.4 コミュニケーションスキル
最後に必要なのは、「コミュニケーションスキル」です。
これはゲームプログラマーに限った話ではありませんが、非常に重要なスキルです。
ゲーム開発にはゲームプログラマー以外にも
• ゲームデザイナー
• グラフィックデザイナー
• ゲームディレクター
• シナリオライター
など多くの人が関わっています。
それぞれが異なる役職の人と円滑にコミュニケーションを取れないと作業に支障がでたり、納期に影響したりなど問題に繋がってしまうことも。そのため、他の担当者とも円滑にコミュニケーションをが取れるスキルが必要です。
4. ゲームプログラマーの年収の目安
ここからは気になる年収について紹介します。ゲームプログラマーの年収は他のエンジニアに比べ高い傾向にあります。
2021年時点の当サイトプロエンジニアの求人情報から正社員のゲームプログラマーの年収を見たところ、次のような結果となりました。
• 年収相場:300万円~800万円
• 平均年収:約440万円~480万円
転職サービス「doda(デューダ)」の平均年収ランキングによると、2020年の全体平均年収が409万となっていました。このことから、全体の平均年収よりも高いことが分かります。
4.1 フリーランスという選択肢もある
また正社員でのゲームプログラマー以外にも、フリーランスという選択肢もあります。
ファミ通ゲーム白書 2019によると、国内ゲーム市場は年々拡大し、過去最高の1兆6704億円となりました。さらには国内クラウドゲーム市場は2022年に100億円突破。10倍以上の急成長をすると見込まれています。
こういった市場を見ると、ゲームプログラマーが不足することは自ずと予測されるでしょう。それに伴いゲームプログラマーのフリーランス案件も増え続けることが予測されます。
2021年9月時点で弊社がWeb掲載しているゲームプログラマーのフリーランス案件によると、単価相場と年収は次のようになっていました。
• 単価相場 60万円~90万円
• 年収相場に換算すると 720万円~1080万円
フリーランスゲームプログラマーの単価は他のフリーランスエンジニアと比べて高く、会社員の平均と比較しても報酬はフリーランスの方が高くなります。
ゲームプログラマーのフリーランス求人を探す方法としては、フリーランス案件を多く取り扱っているエージェントに依頼する方法が有効です。 エージェントがあなたの代わりに案件を見つけてくれるので仕事が途切れない、というフリーランサーにとっては大きなメリットがあります。
▸ ゲームプログラマー案件|プロエンジニア
5. ゲームプログラマーの働き方や仕事内容についてよくある質問
最後にゲームプログラマーの働き方や仕事内容についてよくある質問をまとめました。
先に概要を紹介すると下記の通りです。
• ゲームプログラマの仕事はきつい?
• 文系・プログラミング未経験からゲームプログラマーになるのは難しい?
• ゲームプログラマーにおすすめの資格は?
1つずつ紹介します。
5.1 ゲームプログラマーの仕事はきつい?
包み隠さずお伝えすると、繁忙期はきついことが多いのが現状です。
「ゲーム開発はお金と時間がかかる」
「ゲームの面白さは作ってみないとわからない」
という2つの側面があるため、長期間に渡って「当たるかどうかわからないゲームに多額の資金をつぎ込む状態」が続きやすいです。
そのため開発が長期化するほどプレッシャーが高まるってしまい、きついと感じることが多いです。とはいえ当たると大きいビジネスでもあるため、プレッシャーを楽しめる人にとっては楽しい職業といえます。
5.2 文系・プログラミング未経験からゲームプログラマーになるのは難しい?
スキルが全くのゼロの状態からゲームプログラマーに転身することはかなり難しいのが現状です。
未経験であればまずは一度正社員としてゲーム受託会社などに入り、そこで2~3年経験を積むことをおすすめします。
とはいえ厳しいだけで「絶対に不可能」ということではありません。ドラゴンクエストの堀井雄二氏も、自作ゲームをきっかけにゲーム開発を始めています。まずは自分でポートフォリオとなるゲームを自作することからスタートしてみてはいかがでしょうか。
5.3 ゲームプログラマーにおすすめの資格は?
ゲームプログラマーに必須の資格はありません。ですがUnityなどの主要なゲームエンジンが主催している資格は、スキルチェックの意味も込めて受けておくのがおすすめです。
例えば、Unityの資格なら
• ユーザー:Unity初心者向け
• アソシエイト:Unityプロジェクトのポートフォリオを持つクリエイター向け
• プロフェッショナル:2年~4年のUnity関連の職務経験者向け
• エキスパート:5年以上のUnity関連の職務経験者向け
の4つの認定試験があります。
これらの試験に合格している実績を提示することで、リクルーターや採用担当に実力があることを示せます。また体系的な知識を学ぶ上でも、おすすめです!
6. まとめ
ゲームプログラマーの年収は約440万円~480万円、フリーランスの場合は約720万円~1080万円前後が目安です。未経験からゲームプログラマーになることは簡単ではありませんが、逆に言えば「実績」があれば平均年収以上の仕事を探しやすい職種でもあります。
ゲームプログラマーのフリーランス案件は、当サイト「プロエンジニア」でも多数扱っています。ゲームプログラマーとして独立することに関心がある方は、ぜひお気軽にお問い合わせください。