Dans la section des crédits des jeux auxquels je joue, il y a des noms de programmeurs graphiques . S'ils ont utilisé un moteur de jeu, pourquoi ont-ils besoin d'un programmeur graphique ? Le moteur de jeu ne fait-il pas son travail?
Dans la section des crédits des jeux auxquels je joue, il y a des noms de programmeurs graphiques . S'ils ont utilisé un moteur de jeu, pourquoi ont-ils besoin d'un programmeur graphique ? Le moteur de jeu ne fait-il pas son travail?
Réponses:
Même avec un moteur, afficher quelque chose à l'écran comme vous le souhaitez n'est pas toujours anodin. Il y aura de nombreux cas où quelqu'un avec des connaissances en programmation est nécessaire pour que les graphiques s'affichent correctement. Ces personnes peuvent être appelées programmeurs graphiques dans le générique (le programmeur graphique n’est pas un titre certifié ou protégé, et la différence entre les différents titres peut varier beaucoup selon les sociétés).
Apportons un exemple concret. Nous avons besoin d’un cercle animé tournant comme suit:
Certaines de nos options sont:
1 Placez le cercle sur un panneau d'affichage, écrivez un script pour le faire pivoter.
2 Utilisez un gif animé comme source.
3 Faites le tout dans un shader, ce qui permet 2 options différentes:
Dans 1. quelqu'un a besoin d'écrire ce script, qui est une sorte de tâche de programmation liée aux graphiques. Pour 2. nous n'avons pas besoin d'un programmeur, à moins que le moteur - comme la plupart - ne supporte pas l'importation de gifs animés, auquel cas quelqu'un doit programmer cette partie. Dans 3. quelqu'un doit programmer le shader, qui peut être un artiste ou un programmeur.
EDIT pour adresser les votes négatifs:
Les votes négatifs semblent être dus au fait que l'effet est trop simple et ne pourrait donc pas être mis en œuvre par un "vrai" programmeur graphique. Je ne sais pas vraiment par qui il sera implémenté s'il y a un programmeur graphique dédié dans l'équipe, et j'implémente parfois de tels effets de rotation dans les shaders - bien qu'en général la rotation ne soit qu'une partie d'un tout plus grand, comme dans cet exemple .
Les moteurs de jeu sont comme des cuisines et les développeurs (c.-à-d. Les programmeurs) sont comme des cuisiniers.
Les moteurs de jeu offrent des possibilités, tandis que les programmeurs exploitent ces possibilités pour répondre aux besoins du jeu.
Les sociétés de jeux ont donc besoin de programmeurs graphiques pour adapter les possibilités graphiques du moteur aux besoins du jeu.
Si le moteur de jeu devait tout gérer, sans aucun ajustement, tous les jeux produits avec ce moteur auraient l'air de sortir du même moule: les artistes peuvent produire différents modèles 3D et des illustrations en 2D adaptées à la vision des concepteurs, mais les la personnalisation en jeu de ces graphiques sera limitée à ce que le moteur offre hors de la boîte.
Notez que, même s’ils vous permettent de modifier l’art utilisé, certains moteurs de jeu ne permettent pas d’adapter les autres aspects graphiques aux besoins du jeu. Je pense que RPG Maker était comme ça: cela vous permettait de changer d’ art, mais vous étiez limité quant à la façon de modifier votre jeu pour lui donner une touche très distinctive. Cela a peut-être changé au cours des dernières années car je n’ai pas touché à ce logiciel depuis un moment.
La signification spécifique de la plupart des titres dans l'industrie du jeu varie beaucoup d'un studio à l'autre, alors gardez cela à l'esprit. Ce qui constitue une "programmation graphique" dans un studio peut signifier simplement faire des ajustements de matériaux ou de matériaux, alors que dans un autre studio, cela pourrait signifier de faire un travail d'optimisation de niveau relativement bas près de l'API graphique sous-jacente, et cetera.
Cela dit, dans les grands studios, il est relativement rare de prendre un middleware de moteur et de l’utiliser sans y apporter de modification. La plupart du temps, certains aspects du moteur devront être peaufinés, car ils ne répondent pas parfaitement aux exigences ou parce qu'il y a un bogue dans cette version et que la société ne peut pas encore passer à une version plus récente susceptible de corriger le bogue, et cetera.
Les graphiques sont un domaine dans lequel les gens ont tendance à peaufiner. Cela pourrait ne pas impliquer une réécriture de l’utilisation de Direct3D ou similaire dans le moteur, mais également du travail de personnalisation ou d’optimisation des shaders, une amélioration de la gestion des ressources graphiques afin de mieux tenir compte des profils d’utilisation du jeu spécifique, l’ajout de nouvelles fonctionnalités ou options de rendu, la rationalisation des fonctions. pipeline d'actifs graphiques pour mieux correspondre au flux de travail du studio, et cetera.
De plus, il existe de nombreux cas où un studio voudra intégrer des intergiciels supplémentaires liés aux graphiques. Il existe des packages middleware, tels que Granite, Enlighten et TrueSky, qui offrent diverses fonctionnalités graphiques (streaming de texture, éclairage global, simulation et rendu du ciel, etc.). Tous ces packages de middleware s'intègrent à Unreal, mais leur intégration nécessite un travail supplémentaire. Certains d'entre eux peuvent entrer en conflit ou nécessiter quelques ajustements pour bien fonctionner ensemble, car ils ont tous été développés par différentes sociétés. Les programmeurs graphiques seront probablement impliqués dans ce type de travail également.
Vous pouvez expédier des jeux sans programmeur graphique assez facilement maintenant à cause de tous les moteurs. Ce dont vous avez généralement besoin d’un programmeur graphique, ce sont des choses comme:
optimisation
Un programmeur graphique saurait et / ou apprend comment fonctionne un moteur particulier et peut diriger les artistes, modifier les matériaux, fusionner des modèles ou utiliser d'autres techniques, etc. pour obtenir de meilleures performances du moteur.
compréhension et instruction
Un artiste veut obtenir un certain effet. Le programmeur graphique qui comprend le fonctionnement du moteur peut expliquer comment obtenir cet effet.
personnalisations et effets
Certains effets peuvent nécessiter une programmation. Une grande partie du rendu de Bound est personnalisée.
Ce n'est pas différent des films. Avec des centaines de programmeurs, un budget important et une mauvaise écriture, vous pourriez avoir Star Wars: La Menace Fantôme. Sans programmeur ni bonne écriture, vous pourriez avoir Primer. Les programmeurs (ou autres techniciens) peuvent permettre de nouvelles choses. Les programmeurs ont apporté CG boue à Shrek, CG Hair à Monsters Inc, Bullet Time à Matrix, etc. Mais les films eux-mêmes ne traitent pas des effets et il est tout à fait possible de faire des films étonnants sans effets ni nouvelle technologie personnalisée.
La même chose est plus ou moins vraie pour les jeux maintenant. Les programmeurs graphiques peuvent autoriser les fluides dans Pixel Junk Shooter ou toute la géométrie dynamique de Bound, mais de nombreux jeux peuvent être créés avec des technologies de moteur standard et aucun programmeur graphique.
Bien souvent, les moteurs de jeu ne répondent pas à 100% aux exigences et spécifications d’un projet de jeu. Cela est particulièrement vrai pour les titres triple-A qui repoussent sans cesse les limites de la technologie des jeux. Si certains éléments graphiques du moteur de jeu ne correspondent pas à ce que les artistes et les concepteurs souhaitent réaliser immédiatement, ils peuvent engager un programmeur / spécialiste en graphisme pouvant les aider à déterminer si leurs attentes sont réalisables, et si c'est le cas, comment y parvenir. Cela peut impliquer de peaufiner les actifs de shader / art, de retravailler certaines parties du rendu ou même d’utiliser un middleware. Ou une combinaison d'entre eux.
La plupart des techniques standard seront appliquées à n’importe quel moteur commercial décent, comme le FXAA, l’éclairage, l’ombrage des cellules, la cartographie normale, etc., mais pas toutes.
Dans le cas où un concepteur de jeu a spécifié qu'un effet particulier doit se produire, vous le construisez à partir de ce qui existe déjà, ou vous codez un nouveau shader, ou vous modifiez le moteur graphique pour le permettre. Dans les deux scénarios, un programmeur graphique est requis.
Définir le moteur, puis définir le moteur graphique. Si vous utilisez un moteur existant pour créer un jeu, ce n'est pas la même chose que d'écrire un jeu à partir de zéro dans le code. Si à travers le code, on peut définir ce que sont les graphiques ou le moteur, peu importe comment vous l'appelez si votre code est puissant. La création de jeux dans ledit moteur, ses limites et / ou ses points forts reposent uniquement sur la capacité du ou des programmeurs. Utiliser quelque chose comme Unity ou même Unreal ou tout autre moteur professionnel ne définit pas vos capacités, les moteurs de jeu ne sont que des abstractions codant en C ++ pur. Vous pouvez par exemple engager des programmeurs, même des artistes, mais vous seriez limité à la vision ou aux limites du moteur. Il vaut donc mieux coder à partir de zéro que d’utiliser quelque chose qui existe déjà. Le problème est que vous avez gagné t trouver des réponses en ligne comme Stackexchange Je doute que beaucoup de gens se soient donné la peine de coder un jeu, encore moins de terminer un projet en 2D. Je vais juste tergiverser un peu, ce qui veut dire que peu de réponses personnelles servent à le préciser. Le meilleur moyen est d’étudier et de pratiquer!