ゲーム会社 プログラマーやサーバーエンジニアの仕事内容とは?

今回はゲームプログラマーになりたいという人向けに、ゲームプログラマーとして仕事の内容とはどんなものなのか、について書いていきたいと思います。ゲームプログラマーといえばもちろん開発を担当することになったゲームのプログラミングをするということに他ならないのですが、そこをさらに掘り下げていきます。

ゲームプログラマーの仕事って何だろう?

ゲームプログラマーの仕事って何だろう?

ゲーム会社に就職して実際に仕事をする上で忘れてはならないのが、チームで開発を行うと言うことです。なかなか一人でいきなりすべてのプログラムを任されるという状況はないと思いますので、通常複数名での開発が基本となります。最小構成で言えばディレクター兼プランナー、デザイナー、クライアントプログラマー、サーバーサイドプログラマーといった感じでしょうか。最近は特にスマートフォンゲームの開発が多いので、スマートフォンゲームの開発を前提として話を進めていきます。

ゲーム開発を行う上でプログラマーとして肝になる部分はその企画の中でやりたいことがプログラムとして実現可能かどうかということです。もちろん納期までに間に合うかとか一般的な話として必要なポイントはありますが、そのあたりはどの職種にも言えることなので、ここでは割愛しています。それで先ほど書いた実現可能なのかということについて、プランナー出身のとある社長の言葉を引用します。

「新しく面白いゲームを作ろう!っていう時に一番水を差すのが、その機能は作れませんとか、その機能を作るんだったらかなり時間が必要ですとかいう人ね。もちろん実現不可能なことも企画に盛り込もうとする場合もあるため、絶対にできない場合はできないと言って構わないのだけど、できるかもしれないのにたいして検討もせずそのときの知識だけで判断されちゃうと気がそがれる。」

できない前提で発言すると会議を一瞬でつまらなくしてしまう

できない前提で発言すると会議を一瞬でつまらなくしてしまう

ゲームプログラマー、サーバーエンジニアとしてNGなのは、できないことを前提にしてしまうことです。ゲームプログラマーに限った話ではないですが、特にできるかできないかが問われやすいのが、プログラマー、エンジニアといった職種の人になりますので、そこでストップが安易にかかってしまうと会議全体の雰囲気が悪くなったり、開発の意気込みが一気に消えてしまいます。できるかどうかわからない時でも、いったんできる前提で考えてみてその場ではすぐには判断がつかないので後ほど回答しますと言えば良いんです。これまで培ったスキルだけで何とかしようとする人ほど、すぐに無理といってしまう傾向が強いです。将来にわたって活躍できるプログラマーになるためにも、まずはできるという前提で考えるのを癖にしましょう。

実際にゲームのプログラムを組むときは多くの人と関わることになります。企画の人から仕様書をもらったり、仕様書がない場合は(といってもこのパターンがほとんどですが)口頭で説明を受けてメモを取りそれに乗っ取って開発を進めます。デザイナーから上がってきた画像データを組み込んだり、音楽制作会社ないしはサウンドデザイナーから音源となるデータをもらって組み込んだりと多岐にわたります。UIと呼ばれるユーザーインターフェース周りも専門のプログラマーが配置されるぐらい重要な部分で、UIデザインの反映についてプランナーやデザイナーと作っては直すという感じでゲームそのものと同様に試行錯誤を繰り返しながら作り上げていきます。ゲーム開発の終盤にさしかかるとプログラムのバグつぶしのため、デバッガーからあがってきたレポートを元に不具合の発生している箇所を直して最終的に商品としてリリースできるところまで完成度を上げていきます。

いろんな人と協力しながらゲームを作り上げていく

いろんな人と協力しながらゲームを作り上げていく

そうして作品を完成させたのち、運営期間に入っても追加の機能開発やイベントの組み込みなどをしつつ売上が上がってゲームサーバー自体の負荷が高まってくるとサーバーの負荷を減らすべく様々な施策をとって対応していきます。主にサーバーエンジニアがその領域を担当しますが、クライアント側にも処理を軽くできる箇所がどこかにありますので、場合によってはクライアントプログラマーとサーバーエンジニアが協力して負荷軽減対応を進めていきます。

以上のように作品をリリースしてサービス提供を終了し、また新しい開発に入るというサイクルを通じて一人のプログラマー、クリエイターとして成長していくのですが、その先のキャリアプランはどうなっているのでしょうか?多くの場合、プログラマーはプログラムリーダーとしてそのまま現場に居続けたり、ゲームディレクターになったりすることが多いです。いずれの場合においてもプログラムをわかっている人がマネジメントを担当することで、実際にできるできないの判断が早かったりとメリットもあります。そして何より、ゲーム制作における自由度というかゲームへの影響度が高くなります。それはゲームとしての完成度への責任も同時に発生するのですが、それは自分の考える面白さを追求するためには当然の事として受け入れる必要があるでしょう。

世界を相手にやっていけるクリエイターを目指して!

世界を相手にやっていけるクリエイターを目指して!

そして更にその先として、ゲームというプロジェクトのとりまとめではなく、会社という単位でとりまとめていくために役員や幹部と言われるポジションにつき、最終的に会社全体の経営責任を負う社長になるという道があります。もちろん、途中で独立して自分で会社を立ち上げるという方法もあります。実際ゲーム開発会社の社長の多くは、ゲームディレクターやプロデューサーなどある程度マネジメントする立場にいた方が多いです。そのためにも現場でしっかり経験を積むことはとても重要な事といえるでしょう。

自分が考えるゲームを世に問うてみたい、こんなゲームを自分でも作れるようになりたい、あの有名な作品に携わりたい、あの人と一緒に開発がしてみたいなどなど、ゲームプログラマーを目指したきっかけが何かあると思いますが、それを叶えるためにはどういう風に成長して行くのが良いのか、そこをじっくり考えてイメージ出来るところまで落とし込んでおくと、実際仕事をするときにも最終目的地に向かう過程でブレがなくて、自分の夢を実現しやすいと思います。