回答:
企業がゲームプレイプログラマーの雇用について話すとき、彼らが話しているのは、ゲーム体験に直接関係するコードを担当するプログラマーです。つまり、プログラマーは、エンジンやより大きなゲームシステムではなく、実際にゲームを構築する責任があります。しかし、それを超えて、状況は大きく異なります。
一部の企業は、ゲームプレイプログラマーがユーザーインターフェイスを実装することを期待しています。しない人もいます。一部の企業は、AIコードの実装を期待していますが、そうでない企業もあります。オーディオコードの実装を期待する人もいれば、そうでない人もいます。正直に言うと、ゲームプレイプログラマーの「ゲームプレイ」は、「専門家を雇っていないすべてのこと」の業界略語です。したがって、これらのプログラマーは非常に多才である必要があり、新しい分野を素早く学ぶことができる必要があります。
私は、5つの異なる企業で、商業業界のゲームプレイプログラマーとして15年近く過ごしました。
私の経験では、一部の企業では、ゲームプレイプログラマーはジュニアまたはエントリーレベルのポジションと見なされています。結局のところ、個々のゲームでのみ作業しているプログラマーは、多くの異なるゲームを同時にサポートする必要があるシステムで作業しているプログラマーほど洗練されている必要はありません。この種の会社では、ゲームプレイプログラマーが本当にうまくいけば、自分の価値を証明できれば、いつかエンジンチームに昇進するかもしれません。または、特定の分野に適性を示していれば、専門家になるかもしれません。
他の企業では、ゲームプレイプログラマーは中級レベルのポジションと見なされています。個々のゲームで作業するプログラマーは、ある程度の有用な経験を持ち、信頼できることが必要です。経験の浅いプログラマーは、データパイプライン、ツールなどの歯を切るために望ましくない仕事を与えられ、最終的には「ゲームプレイプログラマー」の仕事に就くことができます。この種のシステムでは、ゲームプレイプログラマーが非常にうまくやっていると、プロジェクトリーダーとしての役割、またはエンジンチームに転職する可能性があります。
さらに他の企業では、ゲームプレイプログラマーは上級職であり、ハーフデザインの職でもあると考えられています。これらのプログラマーは優秀で実績のあるプログラマーであることが期待されますが、プレーヤーのゲーム体験に最も強く影響するコードに直接触れているため、強力な設計感度と資格も持っています。この種のシステムでは、本当に優れたゲームプレイプログラマーは、おそらく永遠にゲームプレイプログラマーであり続けるでしょう。これは、彼が満たすことができる最も貴重なポジションであると考えられています。
一般的な経験則として、会社のゲームが良いほど、彼らはゲームプレイプログラマーであると考えるポジションがより上級になります(したがって、実際にそのような仕事に就くのはより困難になります)。
例で説明すると役立つことが常にわかっています。
ゲームプレイプログラマには、近接戦闘システムの実装、ヘルス再生メカニックの実装、またはプレーヤーのジャンプコントロールの実装というラインに沿ってタスクが与えられます。
エンジンプログラマー(具体的にはゲームプレイプログラマーではない人と呼ばれる)には、遅延照明の実装、アニメーションシステム、ネットワークレイヤーなどのタスクが与えられます。
重要な違いは、「顧客」が誰であるかです。ゲームプレイプログラマにとって、それは設計チームです。彼らの仕事は、設計を現実にすることです。エンジンプログラマーにとっては、一般的に他のプログラマーです。エンジンプログラマーは、ゲームプレイプログラマーやコンテンツクリエーターがデザインを実現するために使用できるテクノロジーとシステムを作成します。
エンジンプログラマは、主にゲームに依存しないコードを記述します。複数のゲームで同じ技術を使用できることがよくあります。ゲームプレイプログラマは、作成されるゲームに非常に固有のコードを記述する傾向があります。そして、常にオーバーラップがあります-ゲームプレイを実装するには、いくつかの新しいエンジンコードが必要な場合があります。
ゲームプレイコーディングは、エンジンコーディングより難しくも簡単でもありません。ただし、これは間違いなくわずかに異なるスキルセットです。多くの場合、より創造的になり、ソリューションを束縛する必要があります。あなたの目標は、完全な再利用可能なシステム(エンジンプログラマーにとって理想的)を作成することではなく、最高のゲーム実装を作成することです。そのため、エンジンプログラミング(細部への注意とよく設計された構造)の資産になる可能性があるものは、ゲームプレイプログラミングの妨げになる可能性があります(適応性と反復時間がより重要です)。優れたゲームプレイプログラマーは、いつそれを正しく行うべきか(設計がしっかりしていて、コードが多くの場所で使用されるとき)、そしていつそれを素早く行うべきか(設計がまだうまくいき、コードにチャンスがあるとき)を知っていますテスト後に破棄されます)。
何よりも、ゲームプレイプログラマーは、エンジンプログラマーができないレベルで設計チームと協力できる必要があります。明らかなコミュニケーションスキルは別として、エンジンプログラマーよりも他のゲームデザインに精通している必要があるため、デザイナーが「ゼルダのように動作させる」と言ったときに、彼らが話していることを知っています。
エンジンプログラマーになるためには、テクノロジーを掘り下げて、それがどのように機能するかを学び、独自のバージョンを実装します。このゲームは、テクノロジーを展示する場にすぎません。
ゲームプレイプログラマになることを学ぶには、他の誰かのエンジンを使用し、できるだけ多くの異なる方法で使用します。言い換えれば、ゲームプレイプログラマになりたいのであれば、テクノロジーではなくゲームを作りましょう。
ゲームプレイの仕組みを実装および保守するプログラマー。
http://en.wikipedia.org/wiki/Game_programmer#Gameplay_programmer