🕹️ Construindo uma carreira na indústria de jogos

Fala turma, tudo bom? Me chamo André, sou engenheiro de software, e trabalho como desenvolvedor de jogos há alguns anos. Hoje vou falar um pouquinho sobre como ingressar nessa indústria e como funciona a dinâmica de trabalho nela, de um ponto de vista empírico, a partir da minha experiência pessoal.

Tipos de trabalho

Existem diversos tipos de cargos que exigem conhecimento de programação na indústria de jogos, como por exemplo:

  • Gameplay Programmer: Pessoa que realmente desenvolve os requisitos funcionais do jogo, como fazer um personagem andar, atirar, pular, interface de usuário, entre diversas outras coisas.
  • Porting Programmer: Pessoa responsável por garantir que o jogo alcance uma série de requisitos para entrar em plataformas como PlayStation, XBox, Nintendo Switch, entre outras...
  • Tech artist: Pessoa que trabalha na inersecção entre programação e arte, desenvolvendo o "feel" do jogo através de Iluminação, efeitos visuais, implementação de animações, entre outros requisito visuais.

Sobre o trabalho

Como dito anteriormente, pretendo ter uma abordagem empírica aqui, então vou falar mais detalhadamente sobre a minha experiência, que é a de um Gameplay Programmer.

Na maioria das vezes, nesse cargo, você vai estar, junto de artistas, designers e outras pessoas, desenvolvendo um produto de tecnologia DO ZERO. Isso significa que seu principal objetivo é a iteração constante das funcionalidades do produto. Consequentemente, para que seja gasto tempo com coisas não relacionadas as funcionalidades do produto, como documentação e testes automatizados, necessita-se haver uma justificativa além da frase "É uma boa prática". Além disso, os requisitos são extremamente voláteis, já que o objetivo do produto é ser divertido, e suas funcionalidades podem mudar para que esse objetivo seja alcançado.

Sobre a carreira

No Brasil, os salários da indústria de jogos costumam menores que os da indústria de software tradicional, no entanto, ao menos para mim, a ascensão de carreira aconteceu surpreendentemente rápido.

A tabela abaixo mostra minha progressão de carreira:

Cargo Salário Tempo
Hobbista R$0,00 1 ano
Bolsista universitário R$400,00 8 meses
Engenheiro de jogos Jr R$2800,00 10 meses
Engenheiro de jogos Pleno R$4800,00 11 meses
Engenheiro de jogos Senior R$7000,00 3 meses

Obs: Essa foi a minha realidade, e não necessáriamente reflete o padrão da indústria.

Quais as habilidades necessárias no dia-a-dia de trabalho?

A lista abaixo ilustra algumas Hard Skills super bacanas para ser um bom GameDev:

  • Álgebra Linear.
  • Física mecânica.
  • POO (SOLID).
  • Padrões de projeto.
  • Estruturas de dados.

Você não precisa dominar plenamente, apenas encontrar uma maneira de saber como e quando aplicar cada um desses conceitos já é suficiente.

Eu por exemplo, nunca decorei padrões de projeto. Sempre que preciso implementar algum, busco referências no Refactoring Guru

Além disso, existem duas SoftSkills super necessárias:

  • Comunicação: Muitas vezes, nessa área, trabalha-se com pessoas criativas e com personalidades fortes, que vão diferir na definição da diversão do produto. É super bacana conseguir ter uma comunicação não violenta para não tornar o ambiente de trabalho um local hostil.
  • Autodidatismo: Essa é a habilidade mais valiosa que alguém pode desenvolver. A capacidade de aprender com recursos didáticos por conta própria, e desenvolver as habilidades para desempenhar uma tarefa.

Buscando sua primeira vaga de juninho

E aí, ainda quer ser um desenvolvedor de jogos ? Então aqui vão algumas dicas!

Onde buscar vagas?

Aqui vai uma lista de estúdios brasileiros que sempre estão em busca de profissionais, e geralmente de maneira remota/hibrida:

  • DX Gameworks
  • Kokku
  • Spaceship
  • Fanatee
  • WildLife
  • Gixer
  • Aquiris
  • Lumen Games
  • QuByte
  • Gazeus
  • Flux
  • Petit Frabrik
  • Bitcake
  • VRMonkey
  • Monomyto
  • Mad Mimic

Mas ATENÇÃO: Sempre pesquise sobre a empresa em sites como o Glassdoor, para ver se o salário, cultura e benefícios oferecidos pela empresa condizem com suas expectativas.

Tenha um Portfólio

Minha dica é: Tenha diversos projetos pequenos que mostrem os desafios técnicos que você já enfrentou, e sua capacidade de superar esses desafios.

Quando eu fui tentar minha primeira vaga como JR, eu tinha um portfólio com 5 jogos:

  • Omlet: Meu primeiro jogo, um platformer 2D, publicado na PlayStore.
  • Advenuture Tales: Uma releitura do jogo do dinossaurinho da google para celular, com história, compras no app, customização de personagem, e chefões.
  • Back to the Promotion: Um jogo educativo para ensinar engenharia de requisitos para alunos do curso de engenharia de software.
  • Sistema hídrico: Um app em realidade aumentada para simular inundações e mostrar a necessidade de desocupação habitacional em alertas de enchente.
  • Sistema Geografia: Um app em realidade virtual para mostrar as camadas do solo.

Você pode conferir alguns desses projetos clickando aqui

Consegui uma entrevista, e agora?

Minha dica é: Você é o maior representante de você mesmo no momento da entrevista. Não menospreze sua experiência, e não faça pouco de si mesmo. Se prepare antes, estude o histórico da empresa, e tente mostrar que você vai agregar ao entrar para o time.

Eu particularmente gosto de montar uma apresentação (Power point) que mostrem os requisitos da vaga que batem com coisas que eu já fiz. Isso mostra pro recrutador(a) que:

  1. Você está com vontade de entrar na empresa.
  2. Te ajuda a não dispersar para assuntos aleatórios na entrevista.
  3. Deixa extremamente evidente para a pessoa recrutadora as qualificações que você possui em relação à vaga.

Depois disso, geralmente existe uma etapa de desafio técnico, que varia de empresa para empresa, mas costuma ser bem tranquila.

Também é importante ressaltar que, se você não passar na entrevista, nem sempre o problema está em você. O processo de recrutamento é muito mais complexo que um checklist habilidades e diversos fatores internos também afetam as escolhas do recrutador. O importante é não desistir.

Conclusão

Espero ter ajudado ajudado, pelo menos um pouquinho, a entender como funciona e como ingressar nessa indústria. Qualquer dúvida que tenha ficado, comenta aqui!

da ora, pensava que era quase impossivel mas agora você abriu meus olhos

Que Top! Eu sempre quis migrar para área de game dev. Porém eu fico me perguntando quanto a specs de uma boa maquina para começar. Qual você indicaria ?

que bom que curtiu! Vou presumir que você gostaria de usar a unreal, que é a engine mais pesada. Se você conseguir fazer ela rodar bem, as outras não vão ser problema. Eu trabalho com um notebook com as specs: - um I7 bastante antigo. - placa de videl GeForce Mx150. - 16 GB de ram. - SSD de 1TB Eu só sinto que minha placa de video deixa um pouco a desejar. O pessoal que travalhs ns epic games usa as seguintes specs: Procedsador Intel ou Amd que tenha pelo menos 4 núcleos. Windows 10 64-bit 64 GB RAM 256 GB SSD (OS Drive) 2 TB SSD (Data Drive) NVIDIA GeForce GTX 970

Que incrível! Quando eu comecei a programar, foi com o intuito de desenvolver jogos. Depois de um tempo, cheguei à conclusão de que era algo muito distante no Brasil e foquei minha carreira no desenvolvimento web. Pelo visto, me faltou a sua visão 😅

Quanto às tecnologias utilizadas, quais são as mais importantes? Unity?

Valeu! Depende muito do seu objetivo. Para fazer jogos 2D, e projetos mais independentes, em equipes pequenas Unity e C# vão ser mais importantes. Para projetos AA (tipo rocket league) ou AAA (como rainbow six), em equipes de médio e grande porte é mais normal encontrar Unreal engine com C++ (ou até engines próprias, mas o padrão é o c++).