ゲーム開発案件特集
2022/09/15
ゲーム開発に関わる職種には、プランナーやデザイナーの他に、実際にゲームを作るゲームプログラマーという職種があります。
ゲームプログラマーに興味がある方は「ゲームの種類によって開発手法は違うの?」「未経験でゲームのプログラミングはできる?」など具体的な内容を知らない方も多いと思いですよね。
この記事では、ソシャゲやコンシューマゲームに焦点を当てつつ、ゲームプログラマーの仕事内容や年収相場、そして必要なスキルについてお話しします。
ゲームプログラマーに関心がある方は、ぜひ参考にしてみて下さいね。
ゲームの種類
ゲーム開発の話をする前に、ゲームの種類について簡単にご説明します。細かく分類すると種類はたくさんありますが、ここでは代表的な3種類のゲームを紹介します。
ソーシャル(スマホ)ゲーム
SNSにプラットフォームがあるゲームをソーシャルゲームといいます。LINEやFacebookのようなSNSのアカウントがあれば、SNS上の名前やアバターをそのまま使うことができ、友達同士でプレイすることができます。
具体的には、「パズル&ドラゴンズ」や「モンスターストライク」、「怪盗ロワイヤル」などが該当します。
ソーシャルゲームと似たものとしてスマホゲームがあります。スマホゲームはゲームアプリをダウンロードして楽しむもので、SNSとの連携も必須ではありません。
ただ、ソーシャルゲームもスマホで楽しめるので「スキマ時間で気軽に楽しめるゲーム」として、ともに需要が拡大しています。
近年では、3Dキャラクターも登場するなどデザインや演出が高度なものが登場し、コンシューマゲームに引けを取らないソーシャルゲームがたくさん誕生しています。
コンシューマゲーム
プレイステーションや3DS、Nintendo Switch、XBOXといった、家庭用ゲーム機です。専用のゲーム機が無いとプレイができないうえ、ゲーム1つ1つの単価も高く、ソシャゲやスマホゲームと比べて汎用性に劣ります。
ゲームを開発するの側から見ても、制作して販売するにはライセンス契約が必要となり、小規模でコンシューマゲームを開発されることは多くありません。
ソシャゲやスマホゲームの登場により、コンシューマゲームの需要は減少傾向にあるため、コンシューマゲームは、コアユーザーを満足させる高度なデザイン性とプログラミングが求められます。
ブラウザゲーム
「Internet Explorer」や「Google Chrome」といったブラウザを通してインターネットに接続していればできるゲームです。
PC、スマホ、タブレットなど、デバイスを問わずプレイでき、ダウンロードも不要です。主にHTML5とJavaScriptを使用して開発します。
具体的には、「刀剣乱舞」や「艦隊コレクション」などが挙げられます。
ゲーム業界の変化
上で紹介したゲーム以外にもオンラインゲームやVRゲームもありますが、今はソシャゲやスマホゲームへの需要が圧倒的に多数を占めています。
ただ、ソシャゲやスマホゲームは、課金システムで継続的に収益を得られる一方、3Ⅾアニメーションなど高度な演出も求められてきているので、近年は開発費・運営費がかさむ傾向も。
一方で、『あつまれどうぶつの森』が爆発的にヒットしたNintendo Switchのように、買い切り形で利益を出せるコンシューマゲームに対する需要も根強く残ります。
5Gの普及によるゲーム業界の変化は著しく、引き続き業界の流れを注視していく必要があります。
ゲーム開発に関わる職種
ゲーム開発には、主に以下の6種類のクリエイターが関わっています。
ゲームディレクター
ゲーム開発のプロジェクト全体を取りまとめるのがディレクターです。
プロジェクト全体を統括する役割で、予算管理・スケジュール組み・人員編成・販売戦略など幅広い業務に携わります。
ゲームプランナー
実際にゲーム内容を考えるゲームプランナーは、ターゲット層やゲームの内容、使用するシステムやゲーム画面のイメージなどを企画します。
この企画をもとに仕様書が作られ、デザイナーやプログラマーなどがゲームを作成します。
シナリオライター
シナリオライターは、企画書をもとにゲームのストーリーを考える仕事で、物語の構成・キャラクターの特徴・セリフまで細かく作りこんでいきます。
特に、シミュレーションゲームやRPGなどでは、ユーザーに次の展開を楽しみにしてもらうようなストーリーやキャラクターを考える必要があり、シナリオのクオリティは重要です。
サウンドクリエイター
サウンドクリエイターは、ゲーム中の音響に関わる職種です。ゲーム内のBGMだけでなく、効果音も全て担当します。
グラフィックデザイナー
ゲーム内のキャラクターや背景、アイテムなどをプランナーやシナリオライターのイメージを元に、実際に具現化していくのがグラフィックデザイナーです。
動きやエフェクトに関する技術も求められます。
ゲームプログラマー
ゲームプログラマーは、クリエイターやデザイナーと共に考案したゲームが実際に動くようにプログラムを組んでいきます。
ゲームプログラマーは、厳密にはゲームのフロント部分を扱う「クライアントプログラマー」、バックエンド側を扱う「サーバープログラマー」などに細分化されますが、小規模な開発現場の場合は、1人のプログラマーが全てを担当することもあります。
ゲームプログラマーの仕事
ゲームプログラマーは下記のような流れで仕事を進めていきます。
ゲームプログラマーの仕事内容
ゲームの仕様を考える
ディレクターやプランナー、シナリオライターと一緒にゲームの具体的な仕組みや仕様を決めていきます。
このキャラクターをここで登場させたい、この動きをさせたい、このタイミングでこういう音楽が欲しい、といった形で組み立てていきます。
ゲームの操作方法やメニュー画面の機能といったゲームの仕様も決めていきます。
開発環境の整備
ゲームの企画が決まったら、動作環境(ソシャゲ、スマホ、PC、コンシューマなど)に合わせて仕様を決めます。 それぞれに合ったストレージやメモリの容量、OSやゲームエンジンの環境、統合開発環境の整備を行います。
ゲーム制作・プログラミング
仕様書をもとに、ゲームシステムの構築、メニュー画面やシナリオ動作、効果音などのサウンドの設定など、機能やフェーズごとに細分化し、実装していきます。
リリース・デバッグ・アップデート
実装が完了した後は、ゲームのシステムが問題なく動作するかをチェックし、不具合やバグの修正等をしていく作業「デバッグ」を行います。
ソーシャルゲームやオンラインゲームのようなインターネットがベースのゲームは24時間世界中のユーザーがプレイすることもあるため、一気にアクセスが集中しても負荷に耐えられるサーバーにすることも重要です。
リリース後は、ユーザーからの「使いにくい」「こんな機能が欲しい」といったフィードバックを元に、改善点・変更点を洗い出し、修正を重ねます。
ゲームプログラマーのやりがい
ものづくりの喜びを感じられる
ゲームプログラマーの大きなやりがいの1つが、自分が作ったゲームが世に出ることによるものづくりの喜びと達成感を味わえることではないでしょうか。
また、基本的にプランナーやデザイナーなどとチームになって一緒に作り上げていくので、チームプレイが好きな方も、やりがいを感じられるでしょう。
最新技術に触れられる
ゲーム開発には、3DCGやVRといった最先端のIT技術が導入されることが多く、最新の技術に関心が強い方にもやりがいのある職種といえます。
また、膨大な数の人がアクセスするソーシャルゲームには、負荷の高いシステムをトラブルなく動かすためのデータベースの知識も必要になります。
コードの書き方はもちろん、ミドルウェアのチューニングなど様々なことを気にする必要があります。修正とアップデートのスパンが短いため、エンジニアとして短期間でスキルアップすることができます。
ユーザーからのFBが受けられる
ソーシャルゲームやスマホアプリでは、アプリストアのレビュー欄やカスタマーサポートに多数の意見が寄せられます。 率直な意見をもらってすぐに改善を図れるので、良いものをスピーディーに改善させたい、という意欲がある方にとって有意義な仕事でしょう。
ゲームプログラマーの大変さ
年末年始や土日・祝日に休みにくい
ゲームプログラマーが忙しいのは、デバッグ作業が増えるリリース前後だけではありません。
年末年始や土日・祝日は、特別なイベントを開催することで売上を伸ばそうとするため、いつも以上にサーバーの監視やトラブル対応が求められます。
例えば、Cygamesが手がける「グランブルーファンタジー」は2021年7月時点で登録者数が2,800万人を突破しています。仮にイベント開催時に登録者の30%が同時にプレイするとすれば、840万人からのアクセスが一気に集中することになるため、サーバーの負荷対策は必須です。
深夜作業がきつい
いつでも手軽に遊べるソシャゲやスマホゲームは、多くの人が就寝前やちょっとした家事の合間にプレイしています。
中には夜中に遊ぶ人も少なくないため、夜中にバグが発生してしまうとプログラマーはすぐに対応しなければいけないことがあります。
また、大規模な既存システムの改修などを行う場合は、深夜帯に作業することも。
体力勝負の仕事ともいえるでしょう。
ゲームプログラマーの年収
ここからは、ソシャゲとコンシューマゲームの違いに焦点を当てつつ、ゲームプログラマーの年収と年収を上げる方法についてお話ししていきます。
ソシャゲ開発とコンシューマゲーム開発の違い
同じゲーム開発でも、ソシャゲとコンシューマゲームでは開発の仕方や目標は異なります。
ソーシャルゲーム
ソーシャルゲームを開発するには、ゲーム初心者にも知ってもらうための広告戦略→ゲームを楽しんでもらうゲーム内容の企画→課金して長く楽しんでもらうという一連のビジネスモデルを考える必要があります。
そのため、ゲームの完成度の高さよりは拡張性が高く長期的に楽しめるゲームになるように戦略を立てることが優先されます。
スケジュール通りに開発していくウォーターフォール型ではなく、簡単な仕様書をもとに必要に応じて変更しながら開発していくアジャイル型で進めていきます。
コンシューマゲーム
一方でコンシューマゲームは、コアユーザーに買ってもらうことが目標です。プロモーションはプロデューサーに任せて、プログラマーは完成度の高いゲームを開発することに集中します。
プログラマーはリリース戦略まで考える必要がない代わりに、コアユーザーが満足できるような映像美や複雑な仕組みを作るために、より高いプログラミングスキルが求められます。
年収の違い
【26歳第二新卒者の平均年収例(クリーク・アンド・リバー社調べ】
- 業界
- 平均年収
- ソーシャルゲーム
- 350〜450万円
- コンシューマゲーム
- 350〜450万円
※参考サイト:https://www.creativevillage.ne.jp/21257
ソシャゲの課金システムで継続的に1つのゲームで利益を生み出すことができるので、多くのファンに長くプレイしてもらうことができれば、莫大な利益を得られます。
正社員で勤務している場合は、その利益をボーナスで還元されることも多いため、コンシューマゲーム開発プログラマーよりも相対的に年収が高くなります。
案件数はコンシューマよりもソシャゲの方が多いので、これからゲーム開発を始めるならソシャゲ開発からスタートさせましょう。
年収アップを目指すには
ゲームプログラマーには、フロント部分を扱う「クライアントサイド」とサーバー部分を扱う「サーバーサイド」があります。
クライアントサイドではUnityを代表とするゲームエンジンの知見は必須ですし、サーバーサイドならデータベースの知見が求められます。
中には、クライアントサイド・サーバーサイド両方の経験を求められる案件もあるので、両方を扱えるエンジニアは必然的に高収入を目指せるでしょう。
ゲームプログラマーに必要なスキル
ゲームプログラマーには、開発技術のほか、数学・物理の考え方やコミュニケーションスキルも求められます。1つずつ紹介していきます。
ゲームエンジン
ゲーム開発には、効率的に開発が進められる総合環境「ゲームエンジン」に関する知識は必須です。ノンプログラミングでも開発できるので、ある程度までならデザイナーやプランナーが枠組みを作ることができます。
スマホゲーム開発に向くものや、映像美に優れていてコンシューマゲームに向いているものなどがあるので、開発したいゲームに合わせて習得しましょう。
Unity:ソシャゲ・スマホゲーム開発に
個人開発で最も使われているゲームエンジンです。3D、2D両方のゲーム開発ができ、ゼロから実装する必要がありません。
オールマイティに開発できますが、動作が軽い、広告・SNS連携がしやすいという特徴から、ソシャゲ・スマホゲームの開発に向いています。
クロスプラットフォーム対応なので、Windows/Mac OS/Linux、プレイステーション/Xboxなど、iOS/Androidなど様々なプラットフォームやゲーム機器に対応しています。
デザイン調整、UIの変更といった高度な開発には、C♯やJavaScriptが必要になります。
【事例】Pokemon GO、スーパーマリオラン、白猫プロジェクトなど
Unreal Engine:ハイエンドのゲーム開発に
写実的な描写が得意なゲームエンジンです。
3Dゲームの開発や、ハイスペックなグラフィック性能を求められるハイエンドゲームの開発に向いています。
視覚的にスクリプトを追加する「ブループリント」が搭載されているため、プログラミング知識が浅くても開発が可能です。
高度な開発やカスタマイズの際には、C++を使用します。
【事例】キングダムハーツⅢ、フォートナイト、ドラゴンクエストⅪなど
Cocos2d-x:ソシャゲ・スマホゲーム開発に
2Dゲーム開発におすすめなのがCocos2d-xです。他のミドルウェアと比べて動作が軽く、開発環境も小型で済むため、ソシャゲ・スマホゲーム開発において人気の高いフレームワークです。
ソシャゲ・スマホゲームの人気が出てきた頃に地位を確立してきたゲームエンジンのため、「2Dゲーム=Cocos2d-x」と認識しているエンジニアも多いはず。
単一のソースで複数のOSが開発できるクロスプラットフォーム対応で、同時にiOSとAndroidの開発が可能です。
iPhone・iPad・Macのゲーム開発に特化した「Cocos2d for iPhone」、Android向けの「Cocos2d for Android」、ブラウザゲーム向けの「Cocos2d-js」など、それぞれのOSに合ったフレームワークが存在します。
【事例】モンスターストライク、ディズニーツムツムなど
プログラミング言語
規模の大きなソシャゲ開発やオリジナリティが求められるゲームの開発には、プログラミングの技術も必要になります。
画面のUIを開発するクライアントサイドと、サーバー部分の開発を担うサーバーサイドに分けて説明していきます。
クライアントサイド
C♯:Unityとともに必須。特にソシャゲ開発に
ゲーム開発で圧倒的に需要が高いのは、C言語です。その中でも、Unityと互換性のあるC♯はC++と比べて習得難易度が下がるので、初心者でも使いやすいでしょう。
複雑なプログラムを効率よく作成でき、オブジェクト指向なので後々変更する可能性があるもの、拡張性が高いものの開発に向いています。
ソシャゲ、スマホアプリを始め、コンシューマゲーム、PCゲームなどと対応範囲は幅広く、Unityと共にゲーム開発には欠かせない言語です。
C++:コンシューマゲーム・3Dゲーム開発に
コンパイル言語なので習得難易度は高まりますが、処理が速くなめらかに動きを付けることができるため、高速な動きが要求されるゲームの開発におすすめです。
Unreal EngineやCocos2d-xといったゲームエンジンで採用されているほか、XboxもC++がベースとなっているなど、汎用性が高いことも特徴です。
PlayStationやXbox Series、Nintendo Switchといったコンシューマゲームの開発には欠かせない言語です。
Java:Androidゲーム開発に
Android向けのアプリで標準開発環境となっているプログラミング言語です。Androidでは、ゲームエンジンを使用して開発した場合も、最終的な出力はJavaの「APK」ファイル形式で行います。
Javaは多くのOSに対応できるほど汎用性が高く、拡張性が高いので大規模な開発に向いています。
JavaScript:Unityと互換性アリ・2Dゲーム開発に
JavaScriptは、ゲーム開発に限らず動的なWebサイトの開発では必ず使用されます。
HTMLやCSSとの関連性が高く、ブラウザゲーム開発にはHTML5と合わせて習得した方がいいでしょう。
enchant.js・CreateJS・Kiwi.jsなどゲーム開発に適したライブラリがたくさんあり、2Ⅾゲーム・シューティングゲーム・アクションゲームなどを作ることができます。
ゲーム開発に使用されるだけでなく、社内向けWebサイトもJavaScriptで作成されることがあるので、クリエイターが仕事の進行状況を確認するプラットフォームとしても活用できます。
サーバーサイド
PHP:ブラウザを使うソーシャルゲームに
ソーシャルゲーム・スマホゲームのサーバーサイドの開発で最もよく使われる言語です。
HTML内に埋め込むことができるので初心者でも扱いやすく、上級者にとっても様々な機能を盛り込むことができるので、サーバーサイドエンジニアとしてキャリアを積みたい方には必須といえます。
サーバーにデプロイするとすぐに反映させられるので、ホットデプロイが求められるゲーム開発に向いています。
Python:スマホアプリ・コンシューマーゲームに
データ解析やAIの開発に使用されるPythonは、スマホゲームやコンシューマゲームの開発ができます。
ゲーム・映像業界で広く使われる3DアニメーションのCGツール「Autodesk Maya」の中で使用でき、繰り返し作業を自動処理化して効率化をはかることができます。
Pythonで2Dゲームを開発する時に便利なゲームライブラリ「PyGame」を使用すれば、ブロック崩しやRPGゲームなどが開発できます。
数学・物理の知識、考え方
プログラミング言語は、関数・変数・配列といった数学の構成要素から成り立ち、ゲームは物理演算や座標計算など物理・数学によって成り立っています。
近年人気を集めている3Dアニメーションを使ったゲームでは、ゲームキャラクターのリアルな動きやアクションの軌道を表現するために、ベクトルや力学、内積・外積の知識を活用します。
座標や三角関数、ベクトル、行列、力学といった線形代数学を理解しておくと、作りたいゲームの実装がしやすくなります。
コミュニケーションスキル・柔軟性
ゲームプログラマーは、ゲーム設計が実現可能かを検討し、プランナーやデザイナーと協力して仕様の変更に対応します。
時には新しいアイデアや柔軟な発想力が求められることもある上、相手の意図を汲み取り、それに応える力はゲーム開発において無くてはならないスキルです。
ゲームプログラマーになるには
キャリアの積み方
多くのゲーム開発案件は経験者のみを対象としているので、ゲーム開発の実務経験が無いフリーランスは案件を受注しにくいのが現状です。
まずゲーム開発会社に就職し、ゲーム開発の経験を積んでから独立する方がいいでしょう。ちなみに、就職先は開発業務が少ないゲームメーカーより、ゲーム開発会社がおすすめです。
また、スタートアップ企業よりゲーム開発や運用の実績がある会社でノウハウを学びながら経験を積む方が効率的です。
他にも、Webの開発エンジニアとしてサーバーサイドの経験を積んでからゲームプログラマーに転身する方法もあります。
積極的にアウトプットを
ゲーム開発技術は独学で習得可能
プログラミング言語やゲームエンジンのスキルは、独学で習得可能です。
上で紹介した技術を全て習得する必要はなく、ベースとなる言語を1つ極めることで、他の技術へ応用ができるようになります。
独学で進めるのは難しい、整った設備環境で習得を目指したいという方は専門学校やプログラミングスクールに通うのもいいでしょう。
ただ、プログラミングスクールに通えばそのまま仕事を紹介してもらえたり、実務経験が積めたりするわけではないため、営業活動やキャリア形成は自主的に行いましょう。
積極的に作って実績を作ろう
プログラミングは、いかに「手を動かして実際に作ったか」が重要です。
GitHubのような世界中の人々とプログラムコードやデザインデータを公開・共有できるWebサービスに自分が作ったものを載せていくことで、保有スキルを示すことができます。
ちなみにゲーム開発に活かせる資格として「Unity 認定技術者」があるので習得を目指すのも有効的ですが、実際の案件では資格よりも実績の方が重視されます。
資格取得の勉強をしつつ、実際に自分でゲームを開発しリリースしてみるといった一連の流れを経験しておくといいでしょう。
勉強会に参加する
以下のエンジニア向けプラットフォームでは、ゲームプログラマーに役立つイベントや交流会が開催されています。
connpass
エンジニア向け勉強会やセミナーの情報を載せるプラットフォームです。
プログラミングを学ぶオンライン学習サービス「PyQ(パイキュー)」を運営する会社のサイトで、イベント数も1日30~60個と膨大です。
「Unity勉強会」や「PHP TechCafe」など、ゲーム開発に使う言語やゲームエンジンについて仲間と一緒に習得を目指せる勉強会も頻繁に開催されています。
TECH PLAY
エンジニアのスキルアップを目的とした勉強会やイベントを開催するメディアです。各分野のスペシャリストが登壇するトークイベントも頻繁に開催しているので、現場の生の声を聴くことができます。
ここでも「C言語勉強会」や「Unityで作るVR集中講座」などが開催されています。
まとめ
今回は、ゲームの種類からゲーム開発に関わる職種、そしてゲームプログラマーの仕事内容やスキルについてお話ししてきました。
ますます需要が高まっているソシャゲ開発には、プログラミングスキルはもちろん、システムのアップデートや改善に対応する柔軟性やコミュニケーションスキルなど、多くのスキルが求められます。
ただ、その分多くの人が長く遊べるゲームを作ることができれば、開発に携わるやりがいを感じることができます。
まずはゲーム開発でよく使われているUnityやC♯などを独学で習得し、実際にゲームを作ってみましょう。
今のキャリアではどのゲーム開発案件に参画可能かな?ゲーム開発の案件に関してもっと情報が欲しい!と思ったら、ぜひエージェントを活用してみてください。
・フリーランスだけど安定して働いていきたい
・年収アップするためにはどうしたらいいのだろう
気になることは、どんな些細なことでも
お気軽にご相談ください。
IT業界において経験豊富な弊社キャリアサポーターが、1対1でお話をさせていただきます。フリーランスの皆様のスキル、過去のご経験を元に今後のキャリアプランを一緒に築いていくためのご提案させていただきます。
今後のキャリアや、技術面において不安な事もお気軽にご相談下さい。
60秒で登録完了!