就職転職を考えているゲームプログラマーの心構えとプログラマーの可能性

プログラミング言語イメージ

ゲーム業界、IT業界、改めて日進月歩なんだなということ感じました。ゲーム業界で言えば、ファミコンの発売当初は、アセンブラというプログラミング言語から始まり、C言語、C++、C#と、ハードのスペック向上とともにプログラミング言語として制約が少ないものへとどんどん変化してきました。いまでは、ハードの性能が飛躍的に良くなったということもあり、開発をしやすいC++やC#などを使って開発が行われています。

それに加え最近では、ソーシャルゲームの普及により、今まで、家庭用ゲーム機ではあまり使われなかったサーバー系のプログラミング言語のPerlやPHPなどの言語も必要となってきました。

Gesturing businessman against data center

ゲームなのにサーバー?Perl?PHP?

今回は、常に変化し続けている、ゲームやIT業界において、プログラマーはどうあるべきかについてを、経営者や採用担当者とのやり取りの中で感じていることを書いています。

ついこの前も業界の変化を感じたことがありました。ある会社からお仕事の協力会社がないかということで弊社に相談があったのです。弊社も求人を行っているという立場もあり、色々な会社を知っているので、よく相談されるのことが多いのですが、その時相談された内容が

swift

Swift

を使える協力会社を探しているんだけど知らないですか?という相談だったのです。私はこの時、初めて聞いたプログラミング言語だったので、一瞬、大学院時代に研究で度々、お世話になった人工衛星の方が思い浮かびました

NASAの人工衛星Swiftでは・・・ない!

NASAの人工衛星Swiftでは・・・ない!

(Swift/BAT Hard X-ray Transient Monitor – Nasa : https://swift.gsfc.nasa.gov/results/transients/)

そんな感じで、あまり有名でない言語ということもあって、相談に来た会社のツテだけでは対応できなかったようです。

私の知り合いのゲーム会社でもSwiftを使っているという情報はなかったので、大丈夫かなと思いつつ、wikiに載っている程度の知識で、各社に電話をかけたのですが、意外や意外、複数社から前向きな返答をもらったのです。例えば、「聞いただけで実際触ったことはないですが、あれってObjective-Cがベースですよね、そちらならできるプログラマーがいるので、少しの試用期間があれば大丈夫です。」とか、「新しいこと覚えることが好きな子たちなので」とか。なので、意外にあっさりと何社か提案させてもらい、そのうちの1社に発注することになったのです。

使えないものも直ぐ覚えてしまう好奇心公正なプログラマー達

使えないものも直ぐ覚えてしまう好奇心公正なプログラマー達

他にも、あるゲーム会社で、求人のお手伝いをした時のことですが、その会社は、スマフォでのリアルタイム通信によるソーシャルゲームを製作すべく、Googleによって開発されたGo言語を使ってのゲーム製作しようということが決まったそうです。従来のソーシャルゲームでは、通信のための処理速度が遅いということもあり、スマフォ内で、ゲームイベントを処理し、その結果をゲームのサーバーへ転送するということが主流です。ソーシャルゲームをやっている時loadingの表示になるのはこの処理を行っているからです。しかしこの企業では、その通信での情報処理をGo言語で向上させ、オンラインゲームの感覚でソーシャルゲームをできるようなゲームを作ろうとしていました。そういうゲーム開発を行うにあたって、Go言語を使えるプログラマーを探しているとのことでした。しかしながら、まだまだマイナーな言語ということは担当者も最先端の技術でゲームを作ろうとしていることがわかっていたので、ある条件に合致すれば大丈夫ということを言ってました。それが、新しいことに関して前向きに取り組みができる人という条件でした。担当者曰く、本当にプログラミングが好きなプログラマーは新しい言語であったり、新しい技術を知ると自分から調べて吸収していくそうです。

new-google-logo

GoogleのGo言語ご存じですか?

なので、プログラマーとして持っていてほしいことは常に新しい技術にアンテナを張り、貪欲に知識を蓄えたいと思うことなのです。例えば、こんなゲームを作りたいと思うんだけど、こんな制約があってこれ以上のことができないということがあるとします。それが別の言語を使うことによって、その問題が解消し、今まで自分ではできなかったゲームを開発することができるようになるのです。それってすごくワクワクしませんか。

IT業界よりも遙かに多い人達が従事する建設業

IT業界よりも遙かに多い人達が従事する建設業

それにこのゲーム業界もまだまだプログラマー不足なのです。現在、日本には約7万6000人のプログラマーがいますが(平成17年度国勢調査)、総労働者6350万人と比べたら0.1%にしかならないのです。それに比べて日本の基幹産業たる自動車業と建築業の就業者数は

自動車産業 550万人(https://www.jama.or.jp/industry/industry/industry_1g1.html)
建設産業  502万人(平成24年度 国土交通省 建設投資見通し・建設業許可業者数調査、総務省 労働力調査より基金)

と約500万人、全体の8から9%のシェアを占めるのです。プログラマーはそれに対して100分の1ほどしかいないことになります。

自動車産業

自動車産業550万人と、プログラマーの72倍の人口が居る

逆にその0.1%の人たちによって、今、私が執筆をしているパソコンのOSやアプリケーション、連絡手段やソーシャルゲームをするためのスマートフォン、計算をするための電卓に組み込むプログラムに至るまでの、日本の全システムが構築されていたと考えたら、いかに人材不足かということがわかるのではないでしょうか。ゲーム業界でもC++のプラグラマーが足りない、Unityのプログラマーが足りない等々いろんな声が聞こえてきます。なのでスキルであったり、知識であったり、コツコツ積み上げていった人に関しては、引く手数多の業界となっているのです。

Working at home with laptop woman writing a blog. Female hands on the keyboard.

ゲームは0.1%の中からさらに限られた人たちによって作られています

最後に、ゲームのプログラミングはゲームの根幹部分になります。決して、パソコンと向き合うだけの地味な仕事ではありません。いくらいいキャラクターやいいサウンドがあったとしてもゲームプログラミングがなければ動かないのです。それに、すばらしいゲームのプログラムはゲームエンジンとして何度も使われるのです。例えば、Epic Gamesによって開発されたUnreal Enginやコーエー(現 コーエーテクモゲームズ)の無双エンジン、ソーシャルゲームであればUnityなどが有名です。それらのエンジンは、キャラクターを変え、背景を変え、シナリオを変え、サウンド変えて、多数のゲームが生み出されているのです。そんな縁の下の力持ちとしてゲーム業界を引っ張っていってもらえればと思います。