ゲームスタジオがゲームエンジンを使用しているのに、なぜグラフィックプログラマが必要なのですか?


55

私がプレイするゲームのクレジットセクションには、グラフィックプログラマーの名前があります。ゲームエンジンを使用している場合、グラフィックプログラマが必要なのはなぜですか?ゲームエンジンは仕事をしていませんか?


15
ゲームを他の全員とまったく同じにしたい場合は、エンジンを使用します。エンジンを何らかの方法で異なるものにしたい場合は、エンジンを開始点として使用してから変更します。私はゲームエンジン(jmonkeyエンジン)を使用しますが、シェーダーを作成して、特に気にしたことのデフォルト動作の一部をオーバーライドしました)
リチャードティングル

29
これは、建設作業員が橋を建設するのであれば、なぜ土木技師が必要なのかを尋ねるようなものです。橋は、コンクリートと金属を単に叩くだけではありません。建設労働者が知らない詳細な物理学および材料分析がたくさんあります。深刻な複雑さや負荷の橋の場合、その知識なしで構築しようとするとうまくいかない可能性があります。同様に、コンピューティングとエンジンがどのように機能するかについてのソフトウェア開発者の知識は、ゲームを構築する上で非常に貴重です。(極端な場合、低レベルのハードウェアの知識が必要になります。)
jpmc26

2
@RichardTingle技術的にシェーダーを記述することは、実際にエンジンを変更することではなく、エンジンに新しいコンテンツを提供することです。
ファラプ

11
関連:電卓とコンピューターを持っているのに、なぜ企業に数学者とエンジニアが必要なのですか?
xDaizu

1
シェーダーを書くことは、グラフィックエンジニアではありません。@ShuvoSarker-「または、すべてのゲームエンジンには独自の方法があります」ゲームの「低レベルエンジニアリング」には、任意の数のスキルを含めることができます。(タイトル「グラフィックプログラマー」は何も意味しません。それは単に* Unityで「グラフィック関連のもの」を行う人である可能性があります。
ファッティ

回答:


94

エンジンを使用している場合でも、画面上に表示するものを思い通りに表示することは必ずしも簡単ではありません。グラフィックを正しく表示するために、プログラミングの知識を持つ人が必要になる場合が多くあります。これらの人々は、クレジットでグラフィックプログラマと呼ばれる場合があります(グラフィックプログラマは認定または保護されたタイトルではなく、異なるタイトルの違いは会社によって大きく異なる可能性があります)。

具体例を挙げましょう。次のように、アニメーション化された回転円が必要です。

ここに画像の説明を入力してください

オプションには次のものがあります。

1ビルボードに円を置き、ビルボードを回転させるスクリプトを記述します。

2アニメーションgifをソースとして使用します。

3シェーダーですべてを実行します。これにより、2つの異なるオプションが可能になります。

  • 頂点シェーダーでビルボードを回転させる
  • フラグメントシェーダーで回転した円を描画します。

1.では、誰かがそのスクリプトを書く必要があります。これは、グラフィックスに関係する何らかのプログラミングタスクです。2.では、エンジンが(ほとんどの場合と同様に)アニメーションGIFのインポートをサポートしていない限り、プログラマーは必要ありません。その場合、誰かがその部分をプログラムする必要があります。3.では、誰かがシェーダーをプログラムする必要があります。シェーダーは、アーティストまたはプログラマーです。

投票に対処するための編集:

ダウンボットは、効果が単純すぎるため、「実際の」グラフィックプログラマーによって実装されないためと思われます。チームに専用のグラフィックプログラマーがいる場合、他に誰が実装するのか本当にわかりません。また、シェーダーにそのような回転効果を実装することもあります-通常、回転は、この例


コメントは詳細なディスカッション用ではありません。この会話はチャットに移動さました
ジョシュ

65

ゲームエンジンはキッチンのようなものであり、開発者(プログラマー)は料理人のようなものです。

ゲームエンジンは可能性を提供しますが、プログラマはこれらの可能性をゲームのニーズに合わせて活用します。

したがって、ゲーム会社には、エンジンのグラフィックの可能性をゲームのニーズに合わせて調整するグラフィックプログラマが必要です。

ゲームエンジンが調整せずにすべてを管理する場合、そのエンジンによって生成されるすべてのゲームは同じ型から出てくるように見えます。これらのグラフィックに対するゲーム内のカスタマイズは、エンジンが提供するものに制限されます。


一部のゲームエンジンでは、使用するアートを変更できますが、他のグラフィック要素をゲームのニーズに合わせて調整する機能を提供していないことに注意してください。RPG Makerはそのようなものだったと思います。アートを変えることができましたが、非常に独特なタッチを与えるためにゲームを微調整する方法が制限されていました。私はしばらくそのソフトウェアに触れていないので、これは過去数年で変わったかもしれません。


コメントは詳細なディスカッション用ではありません。この会話はチャットに移動さました
ジョシュ

20

ゲーム業界のほとんどのタイトルの具体的な意味は、スタジオごとに大きく異なるため、その点に留意してください。あるスタジオで「グラフィックスプログラミング」を構成するものは、シェーダーやマテリアルを微調整することを意味する場合があります。

とは言っても、大きなスタジオでは、エンジンミドルウェアを使用して、まったく変更せずに使用することは比較的まれです。ほとんどの場合、エンジンの特定の側面は、要件を完全に満たしていないため、またはそのバージョンにバグがあり、バグを修正できる新しいバージョンにまだアップグレードできないため、調整する必要があります。セテラ。

グラフィックは、人々がかなりの微調整を行う傾向があるそのような領域の1つです。エンジン内でのDirect3Dなどの使用の書き換えは含まれない場合がありますが、シェーダーのカスタマイズまたは最適化、グラフィックリソース管理の改善による特定のゲームの使用プロファイルの説明、新しいレンダリング機能またはオプションの追加、スタジオのワークフローなどにより適したグラフィック資産パイプライン。

さらに、スタジオが追加のグラフィックス関連ミドルウェアの統合を希望する場合が多くあります。Granite、Enlighten、TrueSkyなどのミドルウェアパッケージがあり、さまざまなグラフィック関連機能(テクスチャストリーミング、グローバルイルミネーション、スカイシミュレーションとレンダリングなど)を提供します。これらのミドルウェアパッケージはすべてUnrealと統合されますが、統合するには作業が必要です。それらのいくつかは互いに競合するか、うまく動作するように調整する必要があります。それらはすべて異なる会社によって開発されているからです。グラフィックプログラマーもそのような作業に関与する可能性があります。


7

すべてのエンジンのために、今日ではグラフィックプログラマなしでゲームを非常に簡単に出荷できます。一般にグラフィックプログラマが必要なのは、次のようなものです

  1. 最適化

    グラフィックプログラマーは、特定のエンジンがどのように機能するかを理解および/または学習し、アーティストに指示したり、マテリアルを変更したり、モデルをマージしたり、他の手法を使用してエンジンのパフォーマンスを向上させることができます。

  2. 理解と指導

    アーティストは特定の効果を達成したいと考えています。エンジンの仕組みを理解しているグラフィックプログラマーは、その効果を実現する方法を説明できます。

  3. カスタマイズと効果

    特定の効果にはプログラミングが必要な場合があります。Boundのレンダリングの多くはカスタムです。

これは映画と変わりません。何百人ものプログラマー、多額の予算、悪い書き方で、スターウォーズ:ファントムメナスを手に入れるかもしれません。プログラマーがいなく、優れた文章があれば、Primerを入手できます。プログラマー(または他の技術者)は、新しいものを許可できます。プログラマーはCGの泥をシュレックに、CGの髪をMonsters Incに、Bullet TimeをThe Matrixに、などをもたらしました。しかし、映画のテーマはエフェクトについてではなく、エフェクトや新しいカスタム技術なしで素晴らしいムービーを作成することは完全に可能です。

同じことが今やゲームにも多かれ少なかれ当てはまります。グラフィックプログラマーは、Pixel Junk Shooterの流体またはBoundのすべての動的ジオメトリを許可するかもしれませんが、多くのゲームはグラフィックプログラマーなしで標準のエンジン技術で作成できます。


それは彼らの作品を些細なものにしますか?
シュボサーカー

2
30年以上ゲームを作った今、ゲーム開発には多くの重要な仕事があります。しかし、グラフィックプログラマの仕事は些細なことだとは思いません。実際、実際に必要な場合は、ほとんどの場合、3つではありません。
-gman

1
@immibisあなたの言っているゲームのバランスは取るに足らないものであるように聞こえます。些細なことは、重要性がほとんどないことを意味します。
不機嫌そうは

2
@GrumpyCrouton些細な作業は、その重要性とは何の関係もありません。些細なタスクとは、タスクと呼ばれるほど単純すぎることを意味します。また、バランスの設計は難しく、その一部を実際に実装するのは簡単です。
ブライアンH.

1
@GrumpyCroutonキーはあなたが言ったようにほとんど価値がありません。文字通り定数の値を変更すれば完了です。
ブライアンH.

4

多くの場合、ゲームエンジンはゲームプロジェクトの要件と仕様の100%を満たしません。これは、ゲームテクノロジーの限界を常に押し広げているトリプルAタイトルには特に当てはまります。ゲームエンジンのグラフィックスの一部が、アーティストやデザイナーがすぐに実現したいものと一致しない場合、彼らは期待が実現可能かどうかを判断するのに役立つグラフィックプログラマー/スペシャリストを雇うかもしれません。もしそうなら、それを達成する方法。シェーダー/アートアセットを微調整したり、レンダリングの一部を修正したり、ミドルウェアを使用したりすることもあります。またはそれらの組み合わせ。


3

ほとんどの標準的な手法は、FXAA、照明、セルシェーディング、法線マッピングなど、まともな商用エンジンに実装されますが、すべてではありません。

ゲームデザイナーが特定の効果を発生させる必要があると指定した場合、既存の効果からそれを構築するか、新しいシェーダーをコーディングするか、グラフィックエンジンを変更してそれを許可します。どちらのシナリオでも、グラフィックプログラマが必要です。


-8

エンジンを定義してから、グラフィックエンジンを定義します。既存のエンジンを使用してゲームを作成する場合、コードでゼロからゲームを作成することとは異なります。コードを通じてグラフィックスまたはエンジンとは何かを定義できれば、コードが強力であればそれを何と呼んでも問題ありません。上記のエンジンでゲームを作成する場合、その制限や長所は、純粋にプログラマーの能力に基づいています。UnityやUnrealなどのプロエンジンを使用しても能力は定義されません。ゲームエンジンは純粋なC ++ではなく抽象化コーディングです。たとえば、プログラマーを雇うこともできますが、アーティストであっても、エンジンのビジョンや制限に制限されます。したがって、最初からコーディングしてから、すでに存在するものを使用する方が適切です。問題はあなたです」Stackexchangeのようにオンラインで答えを見つけることはできません。多くの人が2dプロジェクトを完成させただけでなく、ゲームをコーディングすることさえ気にしていないのではないでしょうか。私は少し先延ばしにしています。つまり、多くの自己奉仕の答えがそれを詳しく述べているわけではありません。最善の方法は勉強と練習です!


これは、ゲームメーカーなどのエンジンのプロジェクトにグラフィックプログラマーが必要な理由である質問を完全に無視します。
グレートダック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.