|

2分野の違いは?
(1)コンテンツ(ゲーム)開発
アイデアをプログラムで形にしていく、いわばゲームに命を吹き込む役目
[主な内容]
・ゲームグラフィックの描画処理やメニューの表示・制御
・ゲームで起こるイベントの処理、サウンドプログラム
・ネットワーク周辺の設計やサーバプログラム
・プロジェクト内で必要な開発環境を整備するためのツール開発 など。
企画職やゲームグラフィックデザイナーが作りたいと考えているものを、システムに落とし込み、プログラムで実装していきます。ゲームを開発する上でのさまざまな制約(期間・人員・コスト・ハードの性能等)を考慮した上で、最大限のおもしろさを実現するため、相手の意図を汲み取り、あるいはアイデアをプラスさせながら、作り上げていきます。
(2)開発環境構築・整備(ツール開発・技術研究)
開発全体の効率やクオリティを上げるのが役目
[主な内容]
・開発者の制作支援ツール、プラグイン・ライブラリの開発
・開発環境構築(フレームワーク、情報システム整備等)
・ネットワーク設計やデータベース構築
・技術研究
・教育研修 など。
開発者がより多くのアイデアを実現することに注力できる開発環境を目指し、開発の効率化を目的としたツールやライブラリなどを開発・整備を行います。
技術研究は、ハードウェアの性能を引き出すための研究や、AI・自動生成等をゲームコンテンツへ応用するための研究などを行っています。技術研究によってこれまで実現できなかったことを実現できたら、それがゲームの新しいおもしろさになります。
こうした開発環境の整備や技術研究は、ゲームをよりおもしろくすることに直結しています。
メインプログラマとは?
リードプログラマとしてコンテンツのプログラムも行いますが、それ以上の役目があります。
それは、「開発の効率化」という視点を持ち、顕在的・潜在的な問題を見つけ出して、解決の指標を示すことです。
具体的には、プロジェクト内の開発をより効率化するため、開発環境構築を担当するプログラマと連携・協力して、プロジェクトの環境を整えたり、その一環として、新しい開発支援ツールやライブラリを開発するといったことを行います。
実際のプログラム業務は必ずしもメインプログラマのみが担当する業務ではありませんが、開発上の問題の発見や解決の指標を打ち出す重要な役割を担っています。
必要な知識・求められる人材とは?
プログラムをすることが仕事なので、プログラム言語とアルゴリズムの知識は必須です。
開発言語としては現在主にC++を使用していますが、C++でなくても、何かしらの言語を一通り習得しておく必要があります。アルゴリズムの知識は、解決手法を考える際の大元の知識になりますので、クオリティの高い仕事をするために必要となります。
またゲーム開発の際は、数学(ベクトル・行列など)や物理(速度・加速度・力学など)、ネットワーク、データベース、ハードウェアの知識なども必要です。
とはいえ、非常に広範囲の知識が必要になるため、現役の開発者であっても、日々調べたり学びながら業務をしています。つまりゲーム開発をする上では、現時点での知識以上に、必要なものを、自ら学びとる姿勢が重要です。
なお、ゲーム業界のプログラマというと、入社前からゲーム開発のための専門的な知識が必要だと感じる方も多いようですが、そうした専門知識や技術自体は日々の業務を通じて身に着けられます。ですから新卒採用では、そのために必要となる基礎力(プログラマとしての分析力・応用力・積極性)を重視した採用をしています。
▼プログラマとしての分析力・応用力・積極性とは
・分析力:ある問題に対して、的確な仕様を提案し、相手に伝えることができる
・応用力:現時点での知識や状況を踏まえ、新しい技術を自ら習得できる
・積極性:不明点や問題点を自ら率先して発言し、改善のため働きかけられる
|