IT業界を希望する多くのキッカケは「ゲーム」?憧れのゲーム業界で働くために必要な能力とは

ゲーム業界といえばかなりの数のエンジニアが憧れる世界です。

エンジニアに「IT業界に入るキッカケを教えてください」と聞くと「ゲーム」と答える人が多いです。人気シリーズの作品のスタッフロールに自分の名前が載ったときには鼻が高いでしょう。

スマホゲームでもアプリストアでレビューが高かったり、ダウンロードランキングや売上ランキングで上位に入ったら物凄く自慢が出来ます。

そんなゲーム業界ですが当然ながら光の部分と影の部分があります。 この記事では光と影について話ながら、現在のゲーム業界の開発のトレンドであったり、実際にどのような人材が求められているかを解説していきます。

ゲーム業界の光と影

いきなりダークな話になりますが、ゲーム業界はスポットライトを浴びることが多い分、実は影の部分も多い世界です。

今でこそ三六協定や働き方改革という言葉が出てきてかなり改善されていましたが、一昔前まではゲーム業界はブラックな印象がかなり強かったです。勿論、楽しい現場もありますし、全ての会社がブラックだったというわけではありません。

最近のゲームは追加コンテンツによるストーリー追加であったり、軽微なバグであれば次のメンテで修正などエンジニアにとっても比較的働きやすい職業になっており、月の平均残業時間20時間前後が一般的となっています。

1-1:プロデューサー、ディレクターが光と影を分ける

配属されたプロジェクトがホワイトなプロジェクトになるのかそれともブラックなプロジェクトになるのかは、各従業員のスキルやチームワークもそうですがそれ以上にプロデューサーやディレクターに掛かります

2-1で詳しくそれぞれの役職についてお話しますが、ゲーム開発ではプロデューサーとディレクターがかなりの権力があります。但し当然その分の責任が彼等にはあります

ゲーム業界ではリリースが近くなったり、プロうグラム作成が終了したにも関わらず鶴の一声ならぬプロデューサー・ディレクターの一声で作っていたものが完全に無駄になってしまうことも珍しくありません。

「次のイベントなんだけど、この部分を省く代わりにこういう要素がほしい」そんなことがプログラミングが終了した後に言われます。

そうなると次のイベントまで1カ月しか時間が無くてもプランナーを交えて機能をどうするか、レベルデザインをどうするか、報酬をどうするかなど練り直して、プログラムも作り直さなくてはいけなくなります。

一方で、毎日進捗を確認し、「こういう機能とかつけられない?」と確認をしてくるプロデューサーやディレクターもいて、そういうチームに寄り添った人の下での仕事は物凄くしやすいです。

しかし、現実的にプロデューサーやディレクターは複数のプロジェクトを同時進行で見ており、一つのプロジェクトにそこまで時間をかけられないという問題もあります。

出来ればチームに寄り添った人の下で仕事をしたいですが、残念ながら面接や案件の受託面談などでそれを見極めることは物凄く困難です。

直感で「なんとなく危ないプロジェクトかもしれない」というのは業界に長くいれば分かるようになりますが、正直なところこればかりはとしか言いようがありません。

1-2:大手ゲーム会社は実力があるとは限らない

大手ゲーム会社では優秀なエンジニアが多いと思われますが、実は大手ゲーム会社は企画力とブランド力が高いですが、優秀なエンジニアがそこまで多いとは限りません。

優秀なエンジニアは在籍していますが、基本的に大手ゲーム会社は企画やシナリオ作成、ゲーム開発のマネジメントや販促に力を入れていることが多く、開発の殆どはアウトソーシングもしくは協力会社のメンバーを常駐させて開発を進めています。

もし開発の最前線で仕事をしたいというのであれば大手ゲーム会社よりもその会社を主要取引先に掲載しているゲーム会社に就職したほうが開発の現場で仕事ができるようになります。

では、大手ゲーム会社のエンジニアは何をしているのかというと、最初の3年は大体開発を行います。その後は上流工程と言われる要件の整理であったり、企画書をプログラマ向けの設計書に落とし込んだり、ゲームを動作させる筐体の選定を行うためにスペックの見積を立てたり、開発工程を作成するといったプログラマとしての仕事ではなくシステムエンジニアとしての仕事がメインになってきます。

エンジニアとして新卒や中途で入社するのであれば当然プログラミングの知識やスキルが問われますが、入社後暫くするとプログラミングのスキルよりマネジメントのスキルが問われるようになります。 成功しいる大手ゲーム会社は、エンジニアのプログラミングスキルが高いというからではなく、チームを管理できるエンジニアのが多く、企画担当と協力会社のエンジニア間の仕様の橋渡しであったり、正当な工数を算出しだり出来るエンジニアが多いからになります。

1-3:ゲーム会社は緩いのか厳しいのか

一昔前まではゲーム会社というよりは業界そのものがブラックとされていましたが、現在はどうなのかという不安を感じる方も多いです。

極端なことを言ってしまえば1-1で述べた通りプロデューサーやディレクター次第ではありますが、業界全体の流れとしてはかなりホワイト化しています。

ただ、それでも重大な不具合であったり、リリース間際になると労働時間は上がる傾向にあります。

ゲーム業界はゲームを作っている業界というだけであり、その実態はIT業界となんら変わりはありません

そのためIT業界と同様に設計ではシステムエンジニアの稼働時間が上がり、開発中はプログラマの稼働時間が上がり、テスト中はシステムエンジニアやテスタの稼働時間が上がり、不具合発生時はテスタとプログラマの稼働時間が上がります。

担当する開発フェーズではその担当者の稼働時間が上ってしまうことは仕方が無い事です。会社全体としては、業務システム開発に比べるとかなり緩い傾向にあります。

私服OK、染髪OKは大多数の会社で導入していますし、リフレッシュコーナーにゲーム機があって自由に遊べたり、お菓子屋飲み物が無料の会社もあります。

出社時間も業務システム開発会社が定時出社にしている会社が多い中、ゲーム会社では殆どがフレックスタイムを導入しています。

ただ、ゲーム会社は基本的にどこも即戦力を求めており、協力会社の社員も自社の若手同様にOJTで研修をしようというとことはまずありません。そのため、「ちょっと人よりプログラミングが出来る」レベルの人がゲーム業界に飛び込んでくることがありますが、要求されるスキルの高さについていけず退職をしてしまう人が多いことも事実です。

ゲーム業界での仕事

次にもう一歩踏み込んでゲーム業界での仕事の話をします。

職位については紹介しますが、この記事はエンジニア向けに書いているため、エンジニアに直接関係のない内容については割愛しています。

2-1:ゲーム開発に携わる人の紹介

ゲーム開発と一言で言ってもそこには数人規模から数百人規模が携わっています。

プランナーだけではゲームは作れませんし、プログラマだけでもゲームを作ることはできません。

ゲーム開発は必ずプロジェクトチーム単位で行っています。

当然チームですからメンバーそれぞれ役割が明確にあります。簡単にではありますが、ゲーム開発に関わっている人(職位)を以下の通り紹介します。

当然会社によって紹介する以上に複数の人が関係しているところもありますし、少ないケースもありますが、一般的にこれくらいの人達が関わっているというイメージを持ってください。

2-1-1:プロデューサー

ゲーム開発プロジェクトの統括から販促の統括といった全ての統括を任されている人材です。

そのゲームがヒットしない場合はほぼ全責任がプロデューサーに圧し掛かります。

プロデューサーはゲーム開発において一番の権限を持っており、企画からリリースまでの間、そのプロジェクトがブラックになるか、ホワイトになるかはこの人にかかっていると言っても過言ではありません。

プロデューサーと最も関わる仕事はディレクターやプランナーであることが多いですが、より技術的な議論をする場合はシステムエンジニアやプログラマが関わることもあります。

2-2-2:ディレクター

ディレクターは現場レベルを統括するプロジェクトマネージャ的な人材です。

プロジェクト全体の進捗であったり、プロデューサーとリリース時期を話し合ったり、現企画やシナリオの現場レベルでの決定権を持っています。

また、ゲームに不具合が発生したときのメンテナンススケジュールを立てたり、バージョン管理の責任があったりするのでプロジェクトが予定工数通りに進むかどうかはこの人に掛かっています

小規模な開発現場ではディレクターとプロデューサーを同じ人が兼任するということもあります。

2-1-3:プランナー

プランナーはレベルデザイン(経験値を幾つ積めばレベルが上がるか)、ステージがあるならそのステージの報酬ストーリー全体の流れ(小規模のゲーム会社であればシナリオライターはおらず、プランナーがシナリオを作成するケースもあります)、イベントの企画などゲームの器を作る人材です。

最終責任としてはプロデューサーやディレクターにありますが、神ゲーと言われるかクソゲーと言われるかはこの人の腕に掛かっています

他にも、スマホゲームであればどのようにして課金をさせるかなど課金への誘導も任されているので売上の戦略を担うかなり責任の大きな仕事です。

2-1-4:システムエンジニア

システムエンジニアはプロデューサーやディレクター、プランナーが考えたシナリオであったりゲームデザインをプログラマがプログラミングできるように設計書を作成したり、データ容量の計算やアップデートサーバが落ちないようなインフラの設計を行います。

自らがプログラマとしてプログラムを作成することもあります。

しかし、実際にプログラムを作成する時間は少なく、サーバは何台配置するか、データはどのように管理するか、プログラムをどのように配置するかなどシステムの全体像を把握しながらプログラマに指示を出したり、ディレクターに提言したりするのがメインの仕事になります。

アップデート後もサクサク動く、通信が軽いなどゲームが快適に動かすことがシステムエンジニアの使命になります。

2-1-5:プログラマ

ゲーム開発の花形であるゲームプログラマはその名の通りプログラムを作成する仕事をする人材です。

システムエンジニアが作成した設計書を元にプログラミングの専門知識を駆使しゲームに命を吹き込みます。

一見すると立場が一番弱いようにも見えますが、技術的に実現ができるかどうかはこの人に掛かっているため、プログラマが「こんな仕様は物理的に作れない」と根拠を持って示した場合はプロデューサーやディレクターですら反論することは出来ません。実際にプログラマがNGを出したことにより企画をやり直したという事例も存在します。

ただ、そこまでになるには相当なキャリアが必要で、たまにスタッフロールに出てくる「チーフプログラマ」や「リードプログラマ」と呼ばれる人たちはシステム全体を把握しているシステムエンジニアよりも広く深い知識を有していることは珍しくありません。

また一般的に収入面でもプログラマはシステムエンジニアよりも低いですが、そこまでスキルを高めたプログラマはディレクターやプロデューサーに匹敵する収入を得ていることもしばしばあります。

2-1-6:デザイナー

デザイナーはステージのデザインキャラクタのデザインに加え、動画であったりプロモーション映像などグラフィックに関わる仕事をする人材です。

原則的はデザイナーは専用のソフトでデザインしていますが、会社によってはUnityUnreal Engineといった開発用のソフトでデザイン処理をすることもあるため最低限のC#やC++の知識を有しているもいます。

美麗なゲームであったり可愛いゲームなどまさにデザイナーのセンスが問われる仕事で、ヒットするようなキャラクタ物のゲームはこのデザイナーが大活躍した結果と言えるでしょう。

2-1-7:テスタ

テスタとはゲームが正しく動作するかテストをする人材です。

よくロースキル者がステップアップの為にテスタから開始すると言われ、実際にそういう現場もありますが、テスタを生業とするベテランテスタも数多く存在します。

テスタは品質管理に於ける最後の砦で、リリースしたゲームにバグが多いか少ないかは全てこの人に掛かっています

そのため、リリース前のゲームをプレーすることもありますが、ゲームとして楽しんでいる人は少なく、「自分が品質を担保する」という高い意識を持って仕事をします。

実際に現場ではテスタに不具合摘出数のノルマを設けているところもあり、そのノルマを達成でいないと品質管理能力がない欠如しているというレッテルを貼られることもあります。

このノルマは決して無茶苦茶な物ではなく、品質指標というものがあり、「1000行のプログラムであれば200個以上のテスト項目があり、単体テストではそのうち20%は不具合である。結合テストであれば全テスト項目に対して3%~5%の不具合が存在する」とされており、それをベースにノルマが算出されています。

業務システムの現場では結合テストの不具合は3%未満に抑えるという品質指標を立てることもありますが、ゲームの現場では3%以上の不具合を摘出するという現場もあります。

皆さんが「このゲームバグが少なくてやりやすい」「緊急メンテが少ない」と安心してプレーできるのはこのテスタが与えられた仕事を的確にこなしているからです。

2-2:開発現場で主流な環境・言語

スマホアプリがゲーム市場全体の過半数の売上を占めるようになってから、2020年現在で主流な開発環境はUnityです。Unityを使う上で必要になってくるプログラミング言語のスキルはC#になります。

あわせて読みたい

今回は初心者でもUnityを使ってゲーム・3Dの制作の楽しみをご紹介します。 Unityというのは、現在スマートフォンのアプリを開発するためにもっとも多く利用されているゲームエンジンとなります。そのUnityを初心者の方でもわかりや[…]

ただ、コンシューマゲームの中では美麗なグラフィックを表現するためにUnreal Engineが使われています。

Unreal EngineはC++で開発する環境になっており、未だコンシューマ向けゲームではC++を含むC系の言語が幅を利かせています。

他にもゲーム開発をする上でプレイヤーが直接見るフロントエンドだけではなく、サーバサイドのエンジニアというのがあります。

サーバサイドエンジニアの仕事は、顧客のクレジットカード情報を暗号化するなどの安全管理であったり、最新のバージョンの配布であったり、定期的なデータ保存であったり幅広い仕事があるのですが、大抵の人はフロントエンドの仕事をしたいと思うためサーバサイドのエンジニアの人数が不足しているという現状があります。

サーバサイドではPHPC#Javaといったメジャーな言語に加えてスマホ向けゲームではSwiftであったりPythonが使われています。また、ここ最近ではJavaをベースに開発された言語であるKotlinが出てきて、開発環境や言語の幅が広がっています。

2-3:ゲーム会社はスピードが命

ゲーム会社が生きるか死ぬかはそのスピードに掛かっています。

スピードとは色々な捉え方がありますが、大きく分けると「時代のトレンドを先取する分析力と先見力」、「他社よりもいち早くトレンドの開発を行うフットワークの軽さ」がありますが、それよりも大事なのは「開発環境や開発言語の進化に追い付ける適応力」になります。

トレンドやフットワークについては、ゲーム開発の技術であったりノウハウについては先に開発して特許を取得してそれをパッケージ化することで他社が同様の機能を使いたい場合はライセンス料金を払ったり、時にはパッケージを買わなくてはなりません

実際に、類似技術を無許可で使ったとして著作権を侵害したとして裁判にまで発展したケースがあります。

しかしそれ以上に大事になってくるのが適応力になります。

技術は幾らでも知識を組み合わせればカバーできますし、廃れてしまえばそれまでです。

しかし、開発言語や開発環境については毎年開発言語が発表されたり短期スパンで開発ソフト(IDE)の新しいバージョンが出るなど、想像を超えるスピードでゲーム開発というのは進化しています。

これは業務システムにも言えることではあるのですが、業務システムよりゲーム開発の方が最新の言語や環境での開発に力を入れている傾向にあります。

わずか10年足らずの間にゲーム開発の言語は大きく変わりました。

10年前まではJavaで全てを開発している会社が多かったですが、現在ではJavaだけでゲームを開発している会社はまずどこにもありません

その後、iOS向けにObjective-Cという言語が発表されました。これも出た当初は物凄い話題になりましたがObjective-Cはゲーム開発の最前線では殆ど聞かなくなりました

これは本当に一例であり、実際にはもっと多くの言語が出てきては廃れという流れをこんな短期間で繰り返しています。そのためエンジニアは常にこのスピードについていくために、業務時間外に自主的に最新の言語について調べたり、独学で勉強しているのです。

あわせて読みたい

昨今話題になっているプログラミング、そのプログラミングを行っているのがプログラマです。  「プログラマに転職したい」  「IT業界に就職したい」  人気職業ランキングでも上位にランクインしてくるプログラマですが、仕事で使[…]

まとめ

一番大事なのは「ゲームを作りたい」という強い意志ではありますが、エンジニアにとって現在の技術で妥協をしてしまったり、勉強することを止めてしまう人はすぐに取り残されていきます。

一般的にゲーム会社の求人倍率は50倍~100倍と言われていますが、その狭き門を通り抜けたにも関わらず今までの技術に縋っていたために取り残されて挫折した人を何人も見てきています。

ゲーム業界に就職することは確かに大変なことですが、本当に大変なのは就職した後です就職するために勉強していた時代の何倍も勉強をしないといけなくなります。

しかしその先には必ずヒット作品というものが待っています。そして一人の現役ゲームエンジニアから言えることとしては

ゲームってやるよりも作る方が何倍も面白いです

作った後の達成感はかなりのものです。