プログラマ
CFNGAME FREAK Inc.
Job description
ゲームプログラマとシステムプログラマの2つのコースに分かれ、
ゲーム開発および関連するツールに関わるプログラミング業務を行います。
━━━━━━━━━━━━━━━━━━━━
■ゲームプログラマの業務例
ゲームプログラマはチームに分かれ、ゲームの実装に携わります。
▼イベントチーム
・イベントのフローや演出を作成するための機能や環境を整備する
・イベントをどのような順で遊んでも破綻なく、安全に遊べるようにする
▼バトルチーム
・バトルのロジック・ルールの実装を行う
・バトル演出に必要となる機能や、環境の拡張を行う
・バトルで使われるグラフィックリソースを組み込む環境を整える
▼キャラクターチーム
・坂を滑り降りる、技を使うなど、キャラクターのアクションを作る
・周囲の地形、近くの敵など様々な情報から、NPCの次の動きを決めるロジックをつくる
▼通信チーム
・通信交換、通信対戦など、通信機能を使ったコンテンツの実装をする
・データの改ざんや通信に関する不正対策を講じる
▼フィールドチーム
・地面、海、建物などゲームの舞台となるフィールドを作る
・物理エンジンを使ったミニゲームなど、フィールド上で遊べるコンテンツの実装を行う
・天候や時間帯、天体現象などに伴うライティング表現などを実装する
▼UIチーム
・図鑑や、メニューなど、UI(ユーザーインターフェイス)を実装する
・様々な国の人が遊べるように、文字を他言語に切り替えたりなどのローカライズを行う
━━━━━━━━━━━━━━━━━━━━
■システムプログラマの業務例
システムプログラマは専門分野に特化して、
最新技術の研究および開発環境の構築に携わります。
▼グラフィックスプログラマ
・グラフィックスAPIやシェーダを使った描画機能の開発や最適化を行う
・デザイナーがオブジェクトの見た目をコントロールするためのエディタを開発する
▼ゲームAIプログラマ
・NPCの振る舞いを作成できる機能(キャラクターAI)を開発する
・NPCにとって適切な移動経路を設定できる(ナビゲーションAI)ライブラリを開発する
・プランナーがAIをコントロールするためのエディタを開発する
▼エンジンプログラマ
・内製エンジンの各種機能をグラフィカルに扱えるようにし、効率的にゲーム開発ができる環境を開発する
・シーンシステムやストリーミング機能など、必要なコアシステムを開発する
▼バトルロジックプログラマ
・ポケモン関連のデータ管理やパラメータ制御に関するライブラリの保守や運用を行う
・バトル関連のデータ管理、バトルの状態管理、技や特性等のバトル内事象に関する計算処理を実装する
・技演出やポケモン・バトル関連のデータなどの編集ツールを開発する
▼ライブラリプログラマ
・ハードウェアの機能をより簡単に安全に使いやすくする機能を開発する
・メモリ管理を始めとした低レイヤーのライブラリを開発する
▼ビルドエンジニア
・自動化すべき開発プロセスを考え、ビルドやテストなどを自動化する
・システムに応じたテストケースを考え、実行するテスト効率化のための仕組みを開発する
▼テクニカルアーティスト
・各種DCCツールが使いやすくなるようなプラグインを開発する
・ゲーム内の地形やエフェクトなどをルールやアルゴリズムに基づいて生成する
▼機械学習エンジニア ※他の専門分野と兼務
・機械学習をゲームに応用できるよう、調査研究する
━━━━━━━━━━━━━━━━━━━━
▼社員インタビュー
・プログラマ対談:https://www.gamefreak.co.jp/recruit/crosstalk-programmer/
・ゲームプログラマ対談:https://www.gamefreak.co.jp/recruit/crosstalk-game-programmer/
・システムプログラマ対談:https://www.gamefreak.co.jp/recruit/crosstalk-system-programmer/