ゲーム業界職種辞典 ― クライアントエンジニア(ゲームプログラマー)

【ゲーム業界職種辞典】
クライアントエンジニア(ゲームプログラマー)

ゲーム開発におけるプログラマーの職域は多岐にわたりますが、ユーザーがゲームをプレイしたときに 目に見える部分の制作を担当しているのが「クライアントエンジニア(ゲームプログラマー)」です。

ゲーム業界職種辞典 ― クライアントエンジニア(ゲームプログラマー)

クライアントエンジニア(ゲームプログラマー)の仕事

クライアントエンジニアは、確定した仕様を基に「ゲームがしっかり動作するようにプログラミングを行う」役割を担います。 コンシューマーのAAAタイトルもスマホのアプリでも、基本となるのはゲームの設計図である「仕様書」です。

例えば、アクションゲームでは、Aボタンを押したらジャンプ、Bボタンで攻撃を繰り出すといった基本操作(動作)が決められていますが、 これらはすべて仕様書で規定されています。そして、実際のゲームにおいて、ユーザーが操作を行ったとき、 画面内のキャラクターがそのとおりに動く必要があります。この「操作(入力)」が「動作(アクション)」であることをコンピューターに理解させ、 そのとおりに表示させるために行われるのがプログラミングです。その領域はアクションに限らず、ある場面で特定の音を鳴らす、 ムービーを再生する、メニュー画面でカーソルに指定されたものを呼び出す等々、ゲームにおけるすべての場面において、 クライアントエンジニアが作ったプログラム(コード)が動いています。

近年は、ミドルウェアやゲームエンジンの発達により、ゲームの基礎的な部分は半自動的に構築できるようになっています。 しかし、細かいチューニングや最適化が行われなければ、表示に時間がかかる、動作が気持ち良くないといった問題が発生し、 ユーザーが快適に遊べるゲームにはならないでしょう。 誰もが楽しく遊べるゲームを実現するには、 クライアントエンジニアの力が欠かせません。

クライアントエンジニア(ゲームプログラマー)に求められる能力や経験

ゲームで多く使われるプログラミング言語として、「C++」「C#」「Objective-C」「Swift」「JAVA」が挙げられます。 ゲーム開発の現場でクライアントエンジニアとして働くためには、これらの言語のうち最低でも1種類を扱えることが必要です。 もちろん、複数の言語を扱えれば、対応できる(PC、コンシューマー、スマートフォンなどの)プラットフォームが広がりますので、 転職等で有利になりますし、報酬が高くなることも期待できます。
プログラミング言語は、実際にコードを書いて覚えるのが一番です。特に特定の言語しか使えない人は、 終業後の時間を利用してスクールに通ったり、 書籍やウェブを参考に身に付けたりしましょう。

なお、「Unity」や「Unreal Engine」などのゲームエンジンを使用する現場も増えています。 これらのツールは無償でダウンロードができますし、世界中の開発者が提供しているソースコードやHow toも充実していますので、 常に最新の情報にふれ、実際に動かしておくようにしてください。

また、3DCGソフトウェアのプラグインを開発した経験や、「DirectX」「OpenGL」などのグラフィックスAPIに関する知識があると、 クライアントエンジニア(CGエンジニア)としての需要が高まります。
高精度のCGはゲームの重要な要素のひとつですが、きれいなCGをより美しく見せたり、 滑らかに動かしたりするのはクライアントエンジニアの仕事です。業務上、これらの分野に携われるときは、積極的に参加しておくといいでしょう。

未経験からクライアントエンジニア(ゲームプログラマー)を目指す方法

どの職種でも共通ですが、業界の需要を知った上で、必要なスキルを身に付けることが求められます。 スマホアプリの開発会社であればゲームエンジンを使用している場合が多いので、 志望する会社のアプリがどのエンジンを使って作られているのかを調べ、そのエンジンを学ぶところから始めましょう。

PCやコンシューマー、アーケードなどのハイエンドタイトルを制作している会社の中途採用では、「ゲーム開発経験者=一定のプログラミングができる」ことが最低条件になっているケースが大半です。関わったタイトル(どの部分を担当したか)は必ず聞かれますし、コードに関する実務的な問題が出されることも多いので、プログラミング言語がわからない状態で臨むのは無理があります。

未経験者を採用しているゲーム開発会社にクライアントエンジニア希望として入社し、実務の中で覚えていく道もありますが、どうしても年齢の壁が出てきます。そこで、少し遠回りですが、ウェブ・IT系企業に勤めて基礎知識を学び、実務経験を積みながら自主制作ゲームを制作。その作品を提出して、「プログラミングができる/ゲームエンジンを理解している」ことを示すという方法もあります。
このとき、ただ動くゲームを作るのではなく、「ゲームのおもしろさを分解(理解)できている」ことが大切です。

クライアントエンジニア(ゲームプログラマー)のキャリアパス

クライアントエンジニアは、ゲーム開発の第一線に長く関わっていたい「現場主義の人が多い職種」ではありますが、 キャリアアップはもちろん可能です。
入社後、いくつかのタイトルに携わったら、リーダーになって人をまとめる術を学び、プロジェクト全体を見るマネージャーを経て独立したり、 企業の代表になったりといったキャリアパスがあります(実際、クライアントエンジニア出身の社長という例は非常に多い)。

さらに、ビジネスレベルの英語が使えると、次のステップへの選択肢が大きく広がります。 国内の開発現場にも外国人エンジニア(プログラマー)の採用が増えていますが、彼らとの交流に役立つだけでなく、 より報酬の大きい世界の開発会社への道も開けるからです。

また、ハイエンド作品(AAAタイトル)の制作や、大規模開発を行う企業では、 「スキルアップ」「ノウハウの共有」「新機能の研究開発」に熱心な人ほど高く評価される傾向があります。 最新情報を常に追い、実際に試し、過程や結果を惜しみなく公開できる人材であるようにしましょう。

お問い合わせ

お気軽にお問い合わせ・ご相談ください!

メールフォームでのお問い合わせ

お問い合わせフォーム

お友達紹介キャンペーン!Amazonギフト券など 選べるe-GIFTがもらえる!