Você já parou para pensar como funciona a física de um jogo? Como os personagens se movem?

Tudo isso é graças aos programadores de games. Vida de programador não é fácil! É preciso ter conhecimento em matemática, lógica, física, trigonometria e ainda conhecer várias linguagens de programação. Se você deseja trabalhar na área ou tem curiosidade de saber mais sobre a profissão, confira a entrevista com os programadores João Paulo Silva, da Ubisoft Montreal, no Canadá, e Marconi Madruga, da Manifesto Game Studio, em Recife. Eles falam um pouco sobre suas experiências, qual a função de um programador e dão dicas para quem quer trabalhar na área.

João Paulo Silva
João Paulo Silva

GG: Quais são suas experiências na área de games?
JP: Trabalhei no Brasil durante 4 anos como professor de programação e inteligência artificial em uma graduação tecnológica em jogos digitais. Quando vim pro Canadá, decidi cursar uma especialização na área e trabalho hoje como programador generalista na Ubisoft Montreal.

MM: Sou relativamente novo na área. Eu trabalho como desenvolvedor de jogos há quase 2 anos na Manifesto Game Studio. Antes disso, fiz mestrado em inteligência artificial aplicada a jogos em Tokyo.

GG:  Qual a função de um programador?
JP: Em poucas palavras, o programador escreve o funcionamento do jogo, como por exemplo o tratamento dos comandos recebidos do jogador ou as decisões e a movimentação dos personagens do jogo. Mas lembre-se que existem na verdade vários programadores especialistas (engine, tools, 3D, física, rede, som, gameplay, inteligência artificial…) e eles interagem com outros profissionais, como designers e artistas.

MM: Acho que, resumindo, programadora ou programador de jogos é quem conecta os diversos “pedaços” de um jogo e transforma tudo em um produto final. Somos quem dá vida e interatividade às ideias de game designers e aos elementos visuais produzidos por artistas. E muitas vezes somos também quem bota um freio em ideias que podem se tornar impraticáveis em termos de custo ou de limitações da tecnologia em que o jogo vai funcionar.

GG: Por que você decidiu seguir essa carreira?
JP: Porque posso aplicar conceitos e técnicas avançadas de programação em projetos cujos resultados são divertidos e tantas pessoas curtem. Para mim, é mágico perceber que, por trás daquela missão do jogo, tive a oportunidade de contribuir na organização de alguns bits. 🙂

MM: Bem previsível isso, mas desde pequeno eu sempre fui apaixonado por jogos. Lembro que na 6a. ou 7a. série eu assinava a Nintendo World e saiu uma matéria sobre a Digipen, uma faculdade americana em que você podia estudar desenvolvimento de jogos. Eu fiquei tão deslumbrado que acho que foi naquele momento, bem novinho, que decidi cursar ciência da computação. Dentro do próprio curso, eu também percebi que é uma das áreas mais desafiadoras, por ser extremamente multidisciplinar, exigindo conhecimento em várias áreas. Tentei enveredar pela academia, mas vi que o que eu queria mesmo era estar no mercado de jogos.

Marconi Madruga
Marconi Madruga

GG: Qual projeto que você mais gostou de trabalhar e por quê?
JP: Foi um trabalho recente e interno: eu pude participar com alguns colegas do “refactoring” de um algoritmo importante no nosso sistema. Adorei a experiência porque consegui aplicar em um projeto real muitos daqueles conceitos que ensinava na universidade para meus alunos e após alguns meses de trabalho, apresentamos à equipe um código melhor, bem mais organizado, com técnicas bacanas e melhor desempenho.

MM: Difícil escolher um. Acho que todo projeto tem momentos mais divertidos do desenvolvimento, quando a coisa tá tomando forma ainda; e momentos mais chatos, quando o jogo já tá quase pronto há tempos e você só tá acrescentando detalhes e corrigindo bugs. Mas tenho um carinho especial por certos projetos pessoais que eu espero que sejam concluídos em breve pra eu poder mostrar pra todo mundo.

GG: Quais as linguagens e programas mais exigidos no mercado?
JP: Empresas e projetos grandes usam mais C++ e sistemas internos, enquanto outras empresas usam boas ferramentas como Unity e C#. Quando digo “grandes”, não digo “melhores”, estou me referindo a coisas como duração do projeto, tamanho da equipe e grana envolvida.

MM: Acho que para jogos AAA e empresas maiores, C++ é a linguagem mais pedida. Unity3D (com C#) vem ganhando força e visibilidade nos últimos anos, assim como Cocos2D (com javascript e C++). Mas para quem sabe mesmo programar, a linguagem dificilmente vai ser um empecilho.
Manifesto Games

GG: O que é necessário para se tornar um bom programador? 

JP: É preciso primeiro gostar do assunto, curtir solucionar problemas de lógica e matemática, não é nem preciso ser um excelente jogador. É necessário também ter autonomia no estudo da programação e trabalhar em equipe, respeitando os colegas e aceitando críticas.

MM: Primeiro, estudar bastante! Principalmente algoritmos e estruturas de dados, lógica, matemática, geometria, física. Para além disso, acho que é bom ter em mente que como programador(a) de jogos, você tá sempre interagindo e dependendo de pessoas de áreas muito diferentes como designers, artistas, produtores. Entender as necessidades de cada um e ver como pode ajudá-los e como eles podem lhe ajudar é essencial.

Rainbow Six Siege

GG: Qual(is) dicas(s) você dá para quem quer seguir a carreira?
JP: Invista em uma formação que dê alguma ênfase em programação e procure bons livros sobre suas linguagens e ferramentas favoritas. Recomendo também interagir com a comunidade de desenvolvedores de jogos, participando de projetos e “game jams”, por exemplo.

MM: Além do que eu mencionei na pergunta anterior, eu diria que: mãos à obra! É muito importante criar um portfólio e pra demonstrar o que você sabe fazer. Tente não só estudar e começar, mas concluir jogos! A IGDA (International Game Developers Association) tem vários capítulos espalhados pelo Brasil, e é um bom lugar pra fazer contatos e, por exemplo, encontrar alguém de arte que queira fazer um jogo, mas precise de programação.

Você pode conferir também a entrevista com os profissionais de Game Design aqui. Fique de olho porque também pretendo entrevistar outros profissionais da área como artistas 2D e 3D, animadores, roteiristas, sound designers, etc.

Compartilhe: