Numa sala de estúdio, três pessoas olham para a mesma tela, e cada uma enxerga um problema diferente. Para Murilo Moura Alencar, co-founder de uma empresa de games, essa cena resume por que a palavra programador sozinha diz pouco sobre quem trabalha com jogos. Dentro de um mesmo projeto, a programação se divide em especialidades com perguntas, ritmos e tipos de entrega bem distintos.
O que significa programar um jogo?
Programar um jogo é transformar regras, ideias e arte em código que responde ao jogador em tempo real. Diferentemente de um sistema de cadastro, que espera o usuário agir, um jogo precisa calcular e desenhar dezenas de quadros por segundo, ao mesmo tempo que lê comandos, toca sons e atualiza o estado do mundo. Essa exigência cria camadas de trabalho, e cada camada pede um tipo de raciocínio, pontua Murilo Moura Alencar.
Em estúdios de porte médio e grande, as equipes costumam dividir essas camadas em três grupos: quem cuida do que o jogador sente ao jogar, quem constrói as ferramentas usadas pelo resto do time e quem mantém o núcleo técnico que faz tudo funcionar. Em estúdios pequenos, uma única pessoa pode passar pelas três funções no mesmo mês, o que torna o entendimento de cada uma ainda mais útil para quem planeja a carreira.
O que faz o programador de gameplay?
O programador de gameplay implementa o comportamento do jogo: o pulo do personagem, o dano de uma arma, a reação de um inimigo, a lógica de uma missão. Ele trabalha muito perto do game designer, que define como a experiência deve ser, e traduz essas intenções em código que pode ser testado e ajustado várias vezes. O resultado do trabalho dele é visível: quem joga percebe de imediato se o controle responde bem.
O desafio central é a sensação. Um personagem que demora poucos instantes a mais para saltar já parece pesado, e esse tipo de detalhe só se resolve com iteração constante, testando, medindo e refazendo. Por isso, o programador de gameplay costuma conviver com mudanças frequentes de pedido, e a boa comunicação com design e arte pesa tanto quanto o domínio da linguagem de programação.
E o programador de ferramentas?
O programador de ferramentas cria os programas que a própria equipe usa para fazer o jogo: editores de fases, sistemas para importar arte, painéis para ajustar números de equilíbrio, rotinas que automatizam tarefas repetitivas. O público dele é interno, formado por designers, artistas e outros programadores, e o sucesso se mede pelo tempo que o grupo deixa de perder.
Esse trabalho é menos visível para o jogador, mas muda o ritmo de um projeto inteiro. Uma ferramenta bem feita permite que um designer monte uma fase sem pedir ajuda a ninguém, enquanto uma ferramenta confusa cria filas e retrabalho. Aqui pesam a atenção à usabilidade e a paciência para ouvir colegas, porque o usuário do programa senta na mesa ao lado.
Como Murilo Moura Alencar explica a visão de quem olha o conjunto?
O estrategista de tecnologia, pessoas e games, Murilo Moura Alencar lembra que as três especialidades dependem umas das outras, e que o risco aparece quando a equipe as trata como ilhas. Um gameplay sem boas ferramentas deixa o time lento, e ferramentas desenhadas sem ouvir quem as usa acabam abandonadas. Assim sendo, a conversa entre as áreas importa tanto quanto o talento individual.
O que faz o programador de motor?
O motor de jogo é o conjunto de sistemas básicos sobre o qual o jogo é construído: renderização de imagens, física, áudio, gerenciamento de memória, leitura de arquivos. O programador de motor trabalha nesse núcleo e se preocupa com desempenho, estabilidade e compatibilidade entre aparelhos. Quando um jogo roda fluido em um computador modesto, muito desse mérito vem dali.
O tipo de problema é outro. Em vez de perguntar se o salto parece bom, ele pergunta por que o quadro demorou mais do que deveria ou por que a memória encheu depois de uma hora de partida. O raciocínio lembra o de quem cuida da fundação de um prédio: raramente é elogiado, mas qualquer falha ali derruba o que está em cima. Muitas equipes adotam motores prontos, o que reduz essa função, mas não a elimina, pois ajustes profundos continuam necessários.
Como escolher entre as três especialidades?
A escolha costuma nascer da pergunta que mais interessa a cada pessoa. Quem gosta de ver o efeito imediato do código na tela se aproxima do gameplay. Quem prefere resolver problemas de outros profissionais encontra espaço em ferramentas. Quem se sente à vontade com detalhes de memória, processamento e matemática encontra no motor um terreno fértil. Testar cada uma em projetos pequenos, como protótipos e jogos curtos, dá uma noção mais honesta do que o currículo sozinho.
Sob a perspectiva de Murilo Moura Alencar, a decisão de carreira também melhora quando o profissional entende o que a equipe precisa em cada fase do projeto, e não apenas o que lhe parece mais glamouroso. Um programador que domina uma especialidade e entende as vizinhas costuma se comunicar melhor, e essa habilidade pesa quando surge a oportunidade de liderar um grupo.
Que cuidados vale ter ao se especializar?
O primeiro cuidado é não confundir especialização com isolamento. Os limites entre as funções variam de estúdio para estúdio, e o mesmo cargo pode ter atribuições diferentes de uma empresa para outra, então vale ler com atenção a descrição de cada vaga. O segundo é construir um portfólio que mostre a especialidade escolhida, com exemplos concretos do que foi feito e do papel exato de quem os fez.
Convém manter a curiosidade ao longo da carreira. Quem começa em gameplay pode migrar para ferramentas depois de perceber que gosta de apoiar colegas, e quem trabalha no motor pode descobrir interesse por design. A carreira em games tem trânsito entre as funções, e quem aprende bem uma delas leva o raciocínio para as outras, o que torna o caminho menos rígido do que parece de fora.
