Game programmer
Pioneira na indústria, a profissão de game programmer surgiu entre o fim da década de 1960 e o início da década de 1970, sendo hoje a mais diversificada da indústria dos games. Sua função é habilitar o desenvolvimento aquilo que é essencial a todo e qualquer jogo – sua lógica e seus cálculos matemáticos.
À época do surgimento dos videogames, mesmo com os jogos sendo bastante simples – resumidos muitas vezes a luzes piscando numa tela e pouquíssimos minutos de jogo –, seu desenvolvimento não o era. Devido ao baixíssimo poder de processamento das máquinas daquela época, e também por causa da inexistência de sistemas operacionais, programar um jogo exigia do programador profundo conhecimento de uma linguagem de programação que se comunica quase que diretamente com o hardware da máquina: a Assembly. Também conhecida como linguagem de montagem, escrever códigos em Assembly é extremamente trabalhoso e pouco produtivo, mas era a única alternativa viável existente naquele momento.
Era assim que os jogos em DOS eram programados. No exemplo, um jogo de damas. |
Devido a carência de poder de processamento e a dificuldade envolvida em programar em linguagens de baixo nível de abstração, não havia necessidade de uma equipe com vários especialistas nas mais diversas áreas – tudo era concentrado nas mãos do programador, que detinha praticamente todo o conhecimento necessário para se fazer um jogo. Porém, com o avanço das máquinas e o aumento exponencial da capacidade de processamento delas, tornou-se bem mais simples (mas não completamente fácil) programar um jogo. Hoje praticamente não existe a preocupação de se escrever em Assembly, mas sim de se escrever em linguagens de alto nível, que têm maior semelhança à linguagem falada por nós, humanos.
Com a evolução das máquinas e das linguagens de programação deixou-se de programar em níveis tão próximos das máquinas e passou-se a programar para frameworks (discutiremos isso em outro artigo), que podem ser entendidos, no escopo atual do artigo, como os principais responsáveis por converter as linguagens de alto nível em linguagem de máquina – ou seja, o que escrevemos de maneira similar à nossa linguagem será convertido em instruções para a máquina em linguagem de máquina, sem a necessidade que nos preocupemos sobre como isso será feito.
A partir de então houve um aumento considerável na produtividade. O tempo que antes era utilizado para compreender o funcionamento das máquinas passou a ser empregado criar as inovações computacionais que vemos todos os dias quando um novo jogo é lançado. Dentre as linguagens de programação que mais se destacam hoje na indústria dos videogames podemos citar C++, Java e C#.
A profissão de game programmer acompanhou a evolução das tecnologias de perto – afinal de contas eles foram os principais responsáveis por essa evolução. Por isso a profissão tornou-se tão diversificada quanto as tecnologias existentes para se desenvolver um jogo. Hoje existem programadores para tudo o que se possa imaginar. Podemos citar:
- Programador de física do jogo: dedica-se ao desenvolvimento e a implementação da física que o jogo irá utilizar, estabelecendo regras que, por exemplo, simularão a gravidade e as colisões. Resumidamente, estes são os responsáveis por escrever, em linhas de código, tudo aquilo que vemos nas aulas de física durante o ensino médio.
- Programador de inteligência artificial: não há nada pior do que um jogo em que todos os seus adversários são lerdos e não lhe impõem desafios. Nestes casos, a culpa é toda dos (maus) programadores de IA do jogo! Eles são os responsáveis por desenvolver toda a lógica existente por trás de cada ação que é feita por um personagem não controlável durante o game.
- Programadores de gráficos: são os responsáveis por não deixar o jogo engasgar quando, por exemplo, há muitos inimigos e efeitos na tela ao mesmo tempo. Isso exige uma grande capacidade de processamento, às vezes superior ao que o console ou computador suportam. Eles devem aperfeiçoar ao máximo a maneira como os gráficos serão renderizados. Hoje em dia são os mais bem pagos.
- Programadores de rede: são os responsáveis por tornar a jogatina online realidade. Esta é considerada uma das especialidades mais desafiadoras na área de programação, por envolver questões de infraestrutura para que a jogabilidade não seja comprometida com as diferenças de banda de cada jogador.
Além disso, todos os programadores são responsáveis por definir as relações dos inúmeros eventos que possam ocorrer no jogo - por intermédio da criação dos diagramas de classes e pela documentação do projeto - para que seja possível a manutenção, por outros programadores, do código escrito por eles.
Devido a grande quantidade de plataformas existentes hoje em dia para programar (Xbox 360, PlayStation 3, Wii U, Windows, iPhone, etc.), geralmente o programador se especializa em apenas uma ou algumas delas - isso após definir qual sua área específica de atuação. É uma profissão que exige muito do profissional, mas para quem gosta de algoritmos, lógica, cálculo e programação, é uma diversão imensa – principalmente considerando-se os salários, que são um dos mais altos da indústria. Pesquisas mostram que nos Estados Unidos um programador experiente pode ganhar até U$8.200,00 mensais – mais do que um diretor de arte.
Você sabia que muitos dos jogos antigos atualmente possuem código aberto para serem estudados? É o caso, por exemplo, de Doom e de muitos jogos do Atari. Há também uma lista de jogos reescritos pela comunidade open-source que pode ser vista aqui.
Game artist
Os game artists são os artistas responsáveis por qualquer tipo de arte visual e sonora presente nos jogos. A profissão de game artist é relativamente nova e começou a ganhar força principalmente durante a era dos 8 bits, na segunda metade da década de 1980. Antes disso, o poder de processamento gráfico e sonoro dos computadores era insuficiente (quase inexistente, para ser bem franco) para que existisse a necessidade de uma pessoa especializada na concepção da arte do jogo, atividade atribuída ao game programmer na maioria das vezes.
O mais importante é perceber que essa área de atuação abrange dois tipos de profissionais e que o trabalho deles deve estar em perfeita sincronia para que a arte do jogo como um todo esteja em ordem.
Processo de modelagem do cenário de Assassin's Creed III |
O primeiro deles é o modelador 3D. Suas principais responsabilidades são as de receber o roteiro e o enredo do jogo, analisá-los e depois dar vida ao conceito inicial que se tem em mãos – seja esboçando personagens, cenários, efeitos ou objetos específicos. Nas etapas inicias, seu trabalho é mais a nível de rascunho de ideias – e pode até mesmo se feito sobre papel. O resultado disso então é apresentado ao diretor de arte e aos game designers para que validem e aprovem o que ele criou. Feito isso, o projeto retorna à mesa do artista para ser modelado em 3D, com todos os detalhes exigidos pela equipe.
O outro profissional envolvido com o desenvolvimento da arte do jogo é aquele que podemos chamar grosseiramente de músico. Nessa área encontramos compositores, cantores e até mesmo programadores de efeitos sonoros.
Detalhar cada um dos atores envolvidos na concepção sonora de um jogo é tarefa difícil, mas dá para arriscar que o trabalho de cada um deles envolve a análise de cada personagem, animação e cenário modelado. Para personagens, são analisadas as características físicas, atributos, personalidade e trama antes de se compor seu tema principal, por exemplo. No caso de cenários e animações, é preciso definir muito bem quais sensações se deseja despertar no jogador para só então adequar não só a trilha sonora, mas também os efeitos sonoros a tudo isso.
Não é difícil perceber que, diante de toda a simplicidade de um jogo dos primórdios da história dos videogames, o trabalho dos profissionais desta área de atuação era dispensável. Tente imaginar toda a complexidade e técnica envolvida no trabalho deles no macro ambiente do desenvolvimento atual de um jogo e acabará chegando à conclusão de que não havia ferramentas – nem uma real necessidade – que permitissem um refinamento técnico tão apurado como há nos tempos atuais.
Compreenda na prática o trabalho dos game artists no excelente vídeo produzido pela Machinima com os produtores de Medal of Honor.
Atualmente um grande projeto demanda uma grande quantidade de game artists, cada um com sua especialidade. Seus salários variam bastante de empresa para empresa e são bastante influenciados pela especialidade e pelo projeto em que estão trabalhando. Mesmo assim, pesquisas indicam que um Game Artist em começo de carreira, nos Estados Unidos, ganha em média, ao mês, pouco mais de U$5.500,00 e um com mais de seis anos de experiência recebe algo em torno de U$6.200,00. Já os diretores de arte com experiência superior a 6 anos ganham em torno de U$8.600,00.
Level Designer
Os level designers são os responsáveis por criar as fases, desafios, e missões, e também se encarregam de definir os objetivos a serem alcançados em cada um deles. Muitas vezes fazem uso dos softwares utilizados pelos modeladores e até mesmo são atribuídos de algumas das funções deles para terem maior autonomia e ganharem em produtividade.
Bem como os modeladores, os level designers trabalham diretamente com a criação, concepção e modelagem, principalmente dos cenários. Podem ainda acumular algum conhecimento de programação para poderem definir os scripts de "o que acontece quando se faz aquilo ali" e ajustar quais diálogos serão feitos entre os personagens nas mais diversas situações, por exemplo.
Porém, esse acúmulo de atividades e funções sobre uma mesma pessoa é menos percebido em grandes equipes de desenvolvimento, onde existem responsáveis específicos para tudo. Nesses casos os level designers trabalham intimamente com level artists (responsáveis pela modelagem do cenário) e programadores de script, ficando responsáveis apenas pelo planejamento do cenário e dos eventos que serão escritos pelos programadores.
Game Designer
Os game designers são os responsáveis pela concepção do jogo em si – eles geralmente são os que têm a ideia principal do game na cabeça e se responsabilizam por desenvolvê-la. Eles também definem como será a jogabilidade e como será a sua estrutura, por exemplo, de pontuação, e de exploração, dentre outras.
Curiosamente, foi nos primórdios da indústria, quando os programadores-chefe ainda assumiam as atribuições de game designer, que surgiram vários profissionais que até hoje se destacam no que fazem.
Sid Meier é um bom exemplo disso. Sua carreira teve início em 1982, quando fundou o estúdio MicroProse com Bill Stealy. Silent Service e F-19 Stealth Fighter foram os dois primeiros sucessos do estúdio e contaram com a participação ativa de Meier, que foi o responsável por liderar a equipe de programação. No entanto, após o lançamento de F-19 ele afirmou ter se desiludido com tudo o que era necessário para programar um jogo e mudou seu foco para jogos de estratégia.
A partir daí Meier teve um número incrível de ideias que se desenvolveram e se concretizaram em jogos que até hoje levam o seu nome nos títulos: Sid Meier’s Pirate!, Sid Meier’s Railroad Tycoon e o até hoje famoso e aclamado Sid Meier’s Civilization.
Chris Sawyer é outro bom exemplo de programador cuja carreira prosperou e o levou ao posto de game designer. Seu primeiro cargo de importância foi na MicroProse de Sid Meier, onde liderou a equipe de desenvolvedores de Transport Tycoon em 1994.
Enquanto trabalhava na sequência desse jogo, Sawyer desenvolveu fascínio por montanhas-russas e assim iniciou o projeto de uma das franquias Tycoon mais bem sucedidas: Chris Sawyer’s RollerCoaster Tycoon. Desde então foram lançadas mais duas versões deste ótimo simulador e inúmeras expansões. Todas elas levam o nome de Sawyer no título e contaram com o trabalho dele como consultor de game design.
O melhor de todos os exemplos, no entanto, é o do mais que bem sucedido Will Wright. Graduado em engenharia, Will iniciou sua carreira no mundo dos games informalmente, na garagem de casa. Raid on Bungeling Bay – um jogo de ação com helicópteros – foi seu principal trabalho doméstico e o inspirador para o seu primeiro grande sucesso: SimCity.
A ideia de SimCity era tão complexa que ele não conseguiu encontrar uma distribuidora disposta a apostar no jogo. A solução foi fundar seu próprio estúdio juntamente com Jeff Braun, um investidor interessado em iniciar na indústria dos videogames. E assim nasceu a Maxis e, um pouco depois, SimCity.
Daí em diante, inúmeros jogos surgiram das incríveis ideias da cabeça de Wright: SimEarth, SimAnt, SimCopter, Spore e o mais que conhecido The Sims. O resto, acredito, é história que todos nós conhecemos.
Com a evolução dos jogos e o aumento na quantidade de membros de uma equipe responsável por desenvolver um jogo, a figura do game designer passou a atuar apenas na concepção e no ajuste do projeto à medida que este evolui. Caso o projeto seja muito grande, pode haver mais de um game designer, cada um responsável por aspectos diferentes do jogo.
É essencial o entendimento dessas profissões na indústria dos games para que possamos começar a planejar um jogo, por menor e mais simples que ele seja, pois em pequenos projetos acabamos nos responsabilizando por todas ou por muitas dessas tarefas. Pode parecer muito complexo de início, mas se observarmos bem, essas quatro profissões estão intimamente ligadas uma com a outra e são o coração do desenvolvimento de qualquer jogo.
Confira a 2ª edição da coluna GameDev
Confira a 4ª edição da coluna GameDev
Confira a 2ª edição da coluna GameDev
Confira a 4ª edição da coluna GameDev
Revisão: Samuel Coelho
Comentários