O que é "desenvolvimento de ferramentas?"

18

Eu tenho procurado trabalhos diferentes na indústria de jogos e muitos dos trabalhos que vi anunciados são para uma posição de "Desenvolvedor de ferramentas". Eu não sei o que isso realmente é.

Alguém poderia explicar o que é isso para mim, por favor? E se alguém tiver algum link para material que me ajude a entender mais, isso seria muito apreciado.

Elliott
fonte

Respostas:

22

Uma posição de programação de ferramentas geralmente é sobre ser um multiplicador de forças para o restante da equipe de desenvolvimento. É claro que a natureza exata do trabalho varia muito de estúdio para estúdio, dependendo das necessidades individualizadas dessa empresa.

Porém, principalmente, você seria encarregado de criar um software que seria consumido por outros desenvolvedores dentro do estúdio, e o papel desse software pode ser:

  • criar ativos ou conteúdo (níveis, modelos, itens, feitiços, qualquer que seja) para o jogo diretamente
  • aja como uma ponte entre o jogo do seu estúdio ou crie um pipeline e outras ferramentas de criação de conteúdo (por exemplo, exportadores para o Maya).
  • faça parte de processos de criação automatizados que transformam os recursos do jogo de origem em seus formulários compilados finais para distribuição no jogo de varejo
  • auxiliar os desenvolvedores nas tarefas diárias do clichê, como sincronizar determinadas construções do jogo ou fazer a transição entre ramificações

Também é importante observar que em alguns estúdios isso é considerado uma posição extremamente básica, porque acaba envolvendo um trabalho pesado e sem sentido (movendo os botões na interface do usuário para um designer, talvez). Em outros, é exatamente o contrário, porque envolve o cuidado e a alimentação de pipelines de construção e implantação de missão crítica para MMOs de remessa ao vivo.

A gama de responsabilidades e expectativas é grande (embora, na verdade, isso seja verdade para quase qualquer posição na indústria), mas o objetivo geral é geralmente o mesmo: manter-se atento a quaisquer gargalos na organização e, em seguida, comprar, construir ou treine novamente até otimizar esse gargalo.


fonte
17

Em resumo: desenvolva programas usados ​​por outras pessoas para criar algo (ou seja, ferramentas).

Um exemplo popular e fácil seria um editor de níveis para um jogo.

Mas isso pode ser muito mais nos bastidores, como algum programa de rastreamento de versão, um rastreador de bugs, fóruns, um verificador para verificar se o conteúdo está livre de erros, etc.

Mario
fonte
6

Um programador de ferramentas é um papel especializado, que está se tornando essencial para a produção. Você é essencialmente alguém que olha para o pipeline usado para criar um jogo e encontra maneiras de otimizar o processo.

Como programador de ferramentas para vários jogos triple-A, eu fiz:

  • Crie novos editores, por exemplo, nível, gráfico e som, para os designers usarem.
  • Estenda, corrija bugs ou adicione recursos aos editores existentes, por exemplo, no Unreal 3 e 4.
  • Gravação de scripts e plug-ins para pacotes de Digital Content Creation (DCC) como Maya e Photoshop, por exemplo, importação / exportação de animação, gerenciamento de conteúdo, etc.
  • Integração do controle de origem (Perforce) em ferramentas.
  • Modificando ferramentas de código aberto para caber em um pipeline.
  • Verificação de conteúdo.
  • Dominar o jogo final para consoles.
  • Construir sistema e integração contínua.
  • Ferramentas de importação e exportação de localização.
  • Ocasionalmente, escreva novos recursos de mecanismo e ferramentas de suporte.
  • Bancos de dados gerenciados com bilhões de registros, por exemplo, dados de desempenho.
  • Computação em nuvem / aplicativos para servidores back-end (AWS)
  • ... etc

Em alguns estúdios, por exemplo, independentes, espera-se que todo programador possa escrever ferramentas para ajudar na produção do jogo.

Existem alguns links abaixo para o IGDA Tools SIG e o blog Toolsmiths (International Game Developers - Tools Special Interest Group).

Dennis
fonte
1

Cenário 1: Flash e AS3

Às vezes, você precisa criar certas funcionalidades que se ajudarão mais no seu pipeline de produção de jogos. Por 'ferramenta', significa algo que pode ajudar a acelerar seu processo de desenvolvimento.

Por exemplo, o Flash basicamente não fornece uma perfeita detecção de colisão de pixels. Então você pode escrever um você mesmo ou tentar pesquisar no Google se alguém já fez isso antes e colocá-lo como código de código-fonte aberto. Uma coleção de códigos-fonte em pastas adequadamente organizadas beneficiará você a longo prazo. Algo como sua própria biblioteca.

Cenário 2 Unidade

Da mesma forma, você pode usar unityscript (versão unitária do javascript) ou c # para escrever componentes, pequenas ferramentas pequenas, por exemplo, B Splines, curvas de Bezier. Coisas que não vêm como padrão na unidade. Escreva você mesmo ou obtenha um de lá na internet. Eles vêm em versões gratuitas / pagas.

Vishnu
fonte
11
Na minha experiência, um 'desenvolvedor de ferramentas' é contratado principalmente para estúdios AAA, que você não abordou em todos os seus 'cenários'.
Stephan van den Heuvel