Por que os estúdios de jogos precisam de programadores gráficos se estão usando mecanismos de jogos?

55

Na seção de créditos dos jogos que jogo, existem nomes de programadores gráficos . Se eles usaram um mecanismo de jogo, por que eles precisam de um programador de gráficos ? O mecanismo de jogo não está fazendo o trabalho deles?

Shuvo Sarker
fonte
15
Se você deseja que seu jogo seja exatamente o mesmo que todo mundo, basta usar um mecanismo. Se você quiser que seja de alguma maneira diferente, use o mecanismo como ponto de partida e modifique-o. Eu uso um motor de jogo (jmonkey engine), mas Eu também escrevi shaders para substituir algum do seu comportamento padrão para coisas que eu particularmente se preocupavam)
Richard Tingle
29
É como perguntar por que você precisa de um engenheiro civil se os trabalhadores da construção civil vão construir a ponte. A ponte é mais do que apenas bater concreto e metal. Há muitas análises detalhadas de física e materiais que os trabalhadores da construção não vão conhecer. Para uma ponte de qualquer complexidade e / ou carga séria, é provável que tentar construir sem esse conhecimento não corra bem. Da mesma forma, o conhecimento de um desenvolvedor de software sobre como a computação e o mecanismo funcionam será inestimável na construção de um jogo. (Em casos extremos, você vai querer conhecimentos de hardware de baixo nível.)
jpmc26
2
@RichardTingle Tecnicamente, escrever um shader não está realmente modificando o mecanismo, está fornecendo novo conteúdo para o mecanismo.
Pharap
11
Relacionado: Por que as empresas precisam de matemáticos e engenheiros se possuem calculadoras e computadores?
XDaizu 6/06/2017
11
bastante, escrever um shader dificilmente é um engenheiro gráfico. @ShuvoSarker - "Ou todo mecanismo de jogo tem seu próprio modo de fazê-lo" com certeza "," engenharia de baixo nível "para jogos pode abranger qualquer número de habilidades. (o título "programadores gráficos" não significa nada. poderia ser simplesmente * alguém que faz as 'coisas relacionadas a gráficos' no Unity "ou pode significar essencialmente como você está pensando" coisas complicadas de baixo nível 'além do mecanismo' ").
Fattie

Respostas:

94

Mesmo com um mecanismo, exibir algo na tela da maneira que você deseja nem sempre é trivial. Existem muitos casos em que alguém com conhecimento de programação é necessário para exibir corretamente os gráficos. Essas pessoas podem ser chamadas de programadores gráficos nos créditos (programador gráfico não é um título certificado ou protegido, e a diferença entre títulos diferentes pode variar muito por empresa).

Vamos dar um exemplo concreto. Precisamos de um círculo rotativo animado, da seguinte maneira:

insira a descrição da imagem aqui

Algumas de nossas opções são:

1 Coloque o círculo em um outdoor e escreva um script para girá-lo.

2 Use um gif animado como fonte.

3 Faça tudo em um sombreador, o que permite duas opções diferentes:

  • Gire o quadro de avisos no sombreador de vértice
  • Desenhe um círculo girado no shader de fragmento.

Em 1. alguém precisa escrever esse script, que é algum tipo de tarefa de programação relacionada a gráficos. Para o 2. não precisamos de um programador, a menos que o mecanismo - como a maioria - não suporte a importação de gifs animados; nesse caso, alguém precisa programar essa parte. Em 3. alguém tem que programar o shader, que pode ser um artista ou um programador.

EDIT para resolver downvotes:

Os votos negativos parecem ser porque o efeito é muito simples e, portanto, não seria implementado por um programador gráfico "real". Eu realmente não sei quem mais seria implementado se houvesse um programador gráfico dedicado na equipe e, ocasionalmente, implemento esses efeitos de rotação em shaders - embora geralmente a rotação seja apenas parte de um todo maior, como em este exemplo .

Peter
fonte
Comentários não são para discussão prolongada; esta conversa foi movida para o bate-papo .
Josh
65

Os mecanismos de jogo são como cozinhas, e os desenvolvedores (ou seja, programadores) são como cozinheiros.

Os mecanismos de jogo oferecem possibilidades, enquanto os programadores exploram essas possibilidades de acordo com as necessidades do jogo.

Assim, as empresas de jogos precisam de programadores gráficos para adaptar as possibilidades gráficas do mecanismo às necessidades do jogo.

Se o mecanismo de jogo gerenciasse tudo, sem aprimoramentos, todos os jogos produzidos por esse mecanismo pareceriam sair do mesmo molde: os artistas podem produzir diferentes modelos 3D e arte 2D adaptados à visão dos designers, mas o a personalização no jogo desses gráficos será limitada ao que o mecanismo oferece imediatamente.


Observe que, embora eles permitam alterar a arte usada, alguns mecanismos de jogo não oferecem a possibilidade de adaptar os outros aspectos gráficos às necessidades do jogo. Eu acho que o RPG Maker era assim: permitia que você mudasse a arte, mas você era limitado em termos de como ajustar o seu jogo para dar um toque muito distinto. Isso pode ter mudado nos últimos anos, pois eu não toquei nesse software por um tempo.

Vaillancourt
fonte
Comentários não são para discussão prolongada; esta conversa foi movida para o bate-papo .
Josh
20

O significado específico da maioria dos títulos na indústria de jogos varia muito de estúdio para estúdio, portanto, lembre-se disso. O que constitui "programação gráfica" em um estúdio pode realmente significar apenas fazer ajustes no shader ou no material, enquanto em outro estúdio pode significar realizar um trabalho de otimização de nível relativamente baixo perto da API gráfica subjacente, etc.

Dito isto, em estúdios maiores, é relativamente raro usar algum middleware de mecanismo e usá-lo sem fazer nenhuma modificação. Na maioria das vezes, aspectos específicos do mecanismo precisarão ser aprimorados porque ele não atende aos requisitos ou porque existe um bug nessa versão e a empresa ainda não pode atualizar para uma versão mais nova que possa corrigi-lo. cetera.

Os gráficos são uma área em que as pessoas tendem a fazer alguns ajustes. Pode não envolver a reescrita do uso do Direct3D ou similar no mecanismo, mas ainda pode envolver a personalização ou otimização de shaders, aprimorando o gerenciamento de recursos gráficos para melhor explicar os perfis de uso do jogo específico, adicionando novos recursos ou opções de renderização, simplificando o pipeline de ativos gráficos para melhor se adequar ao fluxo de trabalho do estúdio, etc.

Além disso, há muitos casos em que um estúdio deseja fazer integrações de middleware adicional relacionado a gráficos. Existem pacotes de middleware como Granite, Enlighten e TrueSky que oferecem vários recursos relacionados a gráficos (streaming de textura, iluminação global, simulação e renderização de céu etc.). Todos esses pacotes de middleware se integram ao Unreal, mas é necessário trabalho para integrá-los. Alguns deles podem entrar em conflito uns com os outros ou precisar de alguns ajustes para trabalhar bem juntos, pois todos são desenvolvidos por empresas diferentes. Os programadores gráficos provavelmente também estarão envolvidos nesse tipo de trabalho.

Josh
fonte
7

Você pode enviar jogos sem um programador de gráficos com muita facilidade hoje em dia, devido a todos os mecanismos. Para o que você geralmente precisa de um programador gráfico, são coisas como

  1. otimização

    Um programador de gráficos saberia e / ou aprenderia como um mecanismo específico funciona e seria capaz de direcionar os artistas ou modificar os materiais ou mesclar modelos ou usar outras técnicas, etc., para obter melhor desempenho do mecanismo.

  2. compreensão e instrução

    Um artista quer alcançar um certo efeito. O programador de gráficos que entende como o mecanismo funciona pode explicar como alcançar esse efeito.

  3. personalizações e efeitos

    Certos efeitos podem exigir programação. Grande parte da renderização de Bound é personalizada.

Isso não é diferente de filmes. Com centenas de programadores, um orçamento grande e textos ruins, você pode obter Star Wars: The Phantom Menace. Sem programadores e boa escrita, você pode obter o Primer. Programadores (ou outras pessoas técnicas) podem permitir coisas novas. Os programadores trouxeram lama de CG para Shrek, cabelo de CG para Monsters Inc, Bullet Time para Matrix etc. Mas os filmes em si não são sobre os efeitos e é totalmente possível fazer filmes incríveis sem efeitos ou nova tecnologia personalizada.

O mesmo é mais ou menos verdadeiro para jogos agora. Os programadores gráficos podem permitir os fluidos no Pixel Junk Shooter ou toda a geometria dinâmica do Bound, mas muitos jogos podem ser feitos com a tecnologia de mecanismo padrão e sem programadores gráficos.

gman
fonte
Isso torna seus trabalhos triviais?
Shuvo Sarker
2
Tendo criado jogos há mais de 30 anos, vejo que há muito trabalho rival no desenvolvimento de jogos. Mas, eu não diria que os programadores gráficos trabalham é rival. De fato, se você realmente precisa de um, provavelmente não é um rival.
gman
11
@immibis Isso soa como dizer que o balanceamento do jogo é trivial, o que eu discordo, como teria que ser feito, caso contrário, pode arruinar o jogo. Trivial significa que tem pouca importância.
Grumpy diz Reinstate Monica
2
@GrumpyCrouton uma tarefa trivial não tem nada a ver com sua importância. uma tarefa trivial significa que é quase simples demais ser chamado de tarefa. Além disso, o design do equilíbrio é difícil, a implementação de alguns deles é de fato trivial.
Brian H.
11
@GrumpyCrouton a chave tem pouco valor, como você mencionou, não estamos falando do que a tarefa está alcançando, estamos falando da tarefa em si, que tem pouco ou nenhum valor. você literalmente altera o valor de uma constante e pronto.
Brian H.
4

Muitas vezes, os mecanismos de jogo não atendem 100% dos requisitos e especificações de um projeto de jogo. Isto é especialmente verdadeiro para títulos triple A que estão sempre ultrapassando os limites da tecnologia de jogos. Se parte da parte gráfica do mecanismo de jogo não corresponder ao que os artistas e designers desejam obter imediatamente, eles poderão contratar um programador / especialista em gráficos que possa ajudá-los a descobrir se suas expectativas são viáveis ​​e se for, como alcançá-lo. Isso pode envolver o aprimoramento dos recursos shader / art, ou retrabalho de partes da renderização ou até o uso de um middleware. Ou uma combinação deles.

EZzyPEZzy
fonte
3

A maioria das técnicas padrão será implementada em qualquer mecanismo comercial decente, como FXAA, iluminação, sombreamento de cel, mapeamento normal etc., mas não em todas.

No caso em que um designer de jogos especificou que um efeito específico deve ocorrer, você o constrói a partir do que já existe, ou codifica um novo sombreador ou modifica o mecanismo de gráficos para permitir isso. Nos dois cenários, é necessário um programador gráfico.

Ian Young
fonte
-8

Defina o mecanismo e defina o mecanismo gráfico. Se você está usando um mecanismo existente para criar um jogo, isso não é o mesmo que escrever um jogo do zero no código. Se através do código for possível definir o que é gráficos ou mecanismo, não importa como você o chama, se o seu código for forte. A criação de jogos no referido mecanismo, seus limites e ou seus pontos fortes são baseados puramente na capacidade do (s) programador (es). Usando algo como Unity ou mesmo Unreal ou qualquer outro mecanismo profissional não define sua capacidade, os mecanismos de jogo são apenas abstrações codificando, digamos, que C ++ puro não é. Você pode, por exemplo, contratar programadores infernais até para artistas, mas você estaria limitado à visão ou aos limites do mecanismo. Portanto, é melhor codificar do zero e usar algo já existente. O problema é que você ganhou ' Para encontrar respostas on-line como o Stackexchange, duvido que muitas pessoas tenham se incomodado em codificar um jogo e muito menos concluíram um projeto 2D. Estou apenas procrastinando um pouco, o que significa que poucas respostas úteis explicam isso. A melhor maneira é estudar e praticar!

Meeps
fonte
Isso ignora completamente a questão, e é por isso que as pessoas precisam de programadores gráficos para projetos em mecanismos como o game maker.
O Grande Duck