GameDev

GameDev #3: os 4 pilares da indústria

No nosso último encontro na coluna GameDev demos um overview nas principais áreas de atuação na indústria e em algumas das suas profissões.... (por Jones Oliveira em 14/07/2009, via Nintendo Blast)

banner_gamedev

No nosso último encontro na coluna GameDev demos um overview nas principais áreas de atuação na indústria e em algumas das suas profissões. No nosso encontro de hoje teremos uma visão um pouco mais aprofundada em 4 das principais profissões da indústria – o chamado caldo grosso. De antemão não quero desmerecer nenhuma outra profissão da indústria, mas as que discutiremos aqui são as responsáveis pela concepção do jogo e por torná-lo realidade. Sem mais delongas, vamos à nossa GameDev de hoje!


Hoje para fazermos um bom jogo precisamos de uma equipe enorme e extremamente especializada. Mesmo com o surgimento de profissões cada vez mais pitorescas e ‘terceirizadas’, 4 profissões continuam firmes e fortes, constituindo, juntamente com os Game Developers, os pilares que sustentam a indústria e tornam em realidade o “sonho” de se fazer um jogo: Game Artist, Game Programmer, Level Designer e Game Designer.


Game Artist


Concept de Personagens de um jogo - GameDev #3 - Nintendo Blast Os Game Artists, como o próprio nome diz, são os artistas responsáveis por qualquer tipo de arte visual presente nos jogos. A profissão de Game Artist é relativamente nova e surgiu principalmente durante a era dos 8 bits, na segunda metade da década de 1980. Antes disso, o processamento gráfico dos computadores era insuficiente (inexistente pra ser bem franco) para que existisse uma pessoa especializada na concepção da arte do jogo, atividade atribuida ao Game Programmer na maioria das vezes.

Mas o que exatamente significa “ser responsável por qualquer tipo de arte visual presente nos jogos”? Significa que o Game Artist é responsável por esboçar os personagens, cenários, cenas, efeitos, objetos e tudo o mais em 2D (em papel), que será apresentado, geralmente, ao Diretor de Arte e aos Game Designers para aprovação. Feito isso, mediante aprovação, ele também é responsável por passar esse desenho “à mão” para 3D utilizando aplicações específicas de modelagem em 3D.

Como podem ver, esse trabalho realmente não era necessário antigamente, já que tudo se resumia em amontoar alguns pixels para a criação de um personagem aqui e acolá. Essa atividade era extremamente técnica e envolvia inúmeros cálculos matemáticos todos feitos utilizando linguaguens de programação que somente os programadores detinham o conhecimento.

O Game Artist não é responsável apenas por “desenhar” – seu trabalho exige criação o tempo todo, capacidade de inovar, adaptar, documentar e até mesmo programar. Uma vez aprovado o seu projeto, é necessário definir as especificações daquele personagem, por exemplo, definindo suas características como habilidades, poderes etc. O processo de modelagem também exige integração com a engine do jogo (discutiremos isso em outro artigo), o que exige conhecimentos em programação. Fora isso, tudo tem que ser documentado para a utilização posterior no desenvolvimento do jogo.

Concepts de personagens - GameDev #3 - Nintendo Blast Nos dias atuais 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 se está trabalhando. Mesmo assim, pesquisas indicam que um Game Artist em começo de carreira, nos Estados Unidos, ganha em média pouco mais de US$5.500,00 e um com mais de seis anos de experiência algo em torno de US$6.200,00. Já os diretores de arte com experiência superior a 6 anos ganham em torno de US$8.600,00.


Game Programmer


Pioneira na indústria dos vídeo games, a profissão de Game Programmer surgiu no fim da década de 1960 e início da década de 1970, sendo hoje a mais diversificada da indústria dos games. Sua função é desenvolver aquilo que é essencial a todo e qualquer jogo – sua lógica e cálculos matemáticos.

Diagrama de classes de um jogo usando XNA - GameDev #3 - Nintendo Blast

À época do surgimento dos vídeo games, mesmo os jogos sendo bastante simples – resumidos muitas vezes a luzes piscando numa tela e pouquíssimos minutos de jogo – o seu desenvolvimento não o era. Devido ao baixíssimo poder de processamentos das máquinas daquela época e a inexistência de sistemas operacionais, programar um jogo exigia do programador profundo conhecimento de uma linguagem de programação que se comunica diretamente com o hardware da máquina: a Assembly, também conhecida como linguagem de máquina. Escrever códigos nela é extremamente trabalhoso e pouco produtivo, mas era a única alternativa existente.

Devido a essa carência de poder de processamento e a dificuldade envolvida em programar em linguagens de máquina, não havia a necessidade de equipes de especialistas – tudo era concentrado nas mãos do programador, que detinha praticamente todo 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 de cada uma delas, tornou-se mais simples (mas não completamente fácil) programar um jogo. Hoje não existe a preocupação de se escrever em linguagem de máquina, mas sim escrever em linguagens de alto nível, que têm maior semelhança à linguagem falada por nós, humanos – são as linguagens de alto nível.

Linhas de código no Visual Studio para um jogo do XBOX 360 - GameDev #3 - Nintendo Blast Com a evolução das máquinas e das linguagens de programação, passou-se a programar não mais para máquinas, mas sim 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 como isso será feito. Com isso houve um aumento considerável na produtividade, podendo o tempo, que antes era empregado para compreender o funcionamento das máquinas, ser empregado para inovações computacionais que vemos todos os dias que um novo jogo é lançado. Dentre as linguagens de programação que mais se destacam hoje na indústria dos vídeo games podemos citar o C++ (usado por Sony e Nintendo), o Java (bastante utilizado para dispositivos móveis e TV Digital Interativa) e o C# (utilizado pela Microsoft para PC e XBOX 360).

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, dentre eles vale citar:


  • Programador de física do jogo: dedica-se ao desenvolvimento da física que o jogo irá utilizar, estabelecendo regras que simularão a gravidade, por exemplo. Resumidamente, 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, além de aplicá-las a cada caso.
  • 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. A culpa é toda dos programadores de IA do jogo! Eles são os responsáveis por desenvolver toda a lógica existente por detrás de cada ação que é feita durante o jogo.
  • Programadores de gráficos: em linhas gerais, são os responsáveis por não deixar o seu jogo engasgando quando, por exemplo, há muitos inimigos na tela, o que exige uma grande capacidade de processamento, as vezes superior ao que o console ou computador suportam. São os responsáveis por otimizar a maneira como os gráficos serão apresentados na tela. Hoje em dia são os mais bem pagos.
  • Programadores de rede: são os responsáveis por tornar a jogatina online realidade. É considerada uma das especialidades mais desafiadoras na área de programação por ter que lidar com questões de infra-estrutura para que a jogabilidade não seja comprometida com as diferenças de banda de cada jogador.

Diagramas utilizando a plataforma Microsoft - GameDev #3 - Nintendo Blast 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 do código escrito por ele por outros programadores.

Devido a grande quantidade de plataformas existentes hoje em dia para programar (Wii, PS3, XBOX 360, Windows, iPhone etc), geralmente o programador se especializa em uma delas 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 e programação, é uma diversão imensa – principalmente considerando-se os salários, um dos mais altos da indústria. Pesquisas mostram que um programador experiente pode ganhar, nos Estados Unidos, até US$8.200,00 mensais – mais do que um diretor de arte.


Level Designer


Level totalmente modelado e renderizado - GameDev #3 - Nintendo Blast Os Leve Designers são os responsáveis por criar as fases, desafios, missões e definir os objetivos a serem alcançados em cada um deles. Muitas vezes fazem uso das ferramentas utilizadas pelos Game Artists e até mesmo acumulam algumas funções deles, para terem maior autonomia e ganharem em produtividade.

Bem como os Game Artists, 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 definir os scripts de “o que acontece quando se faz aquilo ali” e quais diálogos serão feitos entre os personagens nas mais diversas situações (só pra exemplificar).Modelagem de um leve - GameDev #3 - Nintendo Blast

Porém esse acúmulo de atividades é menos percebido em grandes equipes de desenvolvimento, em que existem responsáveis para tudo. Nesse caso 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


Do conceito à realização, esse é um dos trabalhos do game designer - GameDev #3 - Nintendo Blast Os Game Designers são os responsáveis pela concepção do jogo em si – eles geralmente são os que têm a idéia de como será o jogo, como será a jogabilidade dele (se em 1a pessoa, 3a pessoa; se vai ser um RPG, uma Adventure etc.) e como será a sua estrutura, por exemplo, de pontuação, de exploração, dentre outros.

Assim como a maioria das profissões da indústria, os Game Designers nos primórdios dos vídeo games geralmente eram os programadores-chefe do jogo. Como já comentamos, tudo era culpa da falta de poder de processamento dos computadores. Àquela época, vários Game Designers se destacaram: Sid Meier (franquia Civilization), Chris Sawyer (franquia Roller Coaster Tycoon e Transport Tycoon) e Will Wright (The Sims e Sim City), que até hoje acumulam os cargos de programador-chefe e game designers dos seus projetos.Will Wright  - GameDev #3 - Nintendo Blast

Shigeru Miyamoto - GameDev #3 - Nintendo Blast 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 ajuste do projeto à medida que este evolui. Caso o projeto seja muito grande, podem haver mais de 1 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 joguinho, por menor e mais simples que ele seja, pois em pequenos projetos acabamos por acumular todas essas tarefas. Pode parecer muito complexo de início, mas se observarmos bem, essas 4 profissões estão intimamente ligadas uma com a outra e são o coração do desenvolvimento de qualquer jogo.


No artigo de hoje vimos as 4 principais profissões da indústria dos vídeo games, responsáveis pela concepção, desenho e desenvolvimento de um jogo. Alguns termos podem ter ficado “soltos” no escopo do artigo de hoje, mas não se preocupem pois eles serão discutidos no nosso próximo artigo, no qual discutiremos os processos envolvidos no desenvolvimento de um jogo e daremos algumas especificações iniciais da plataforma de desenvolvimento que utilizaremos para fazer o nosso primeiro joguinho aqui no Nintendo Blast. Espero que tenham gostado, deixem suas sugestões e dúvidas e até a próxima!



Escreve para o Nintendo Blast sob a licença Creative Commons BY-SA 3.0. Você pode usar e compartilhar este conteúdo desde que credite o autor e veículo original.
Este texto não representa a opinião do Nintendo Blast. Somos uma comunidade de gamers aberta às visões e experiências de cada autor. Escrevemos sob a licença Creative Commons BY-SA 3.0 - você pode usar e compartilhar este conteúdo desde que credite o autor e veículo original.


  1. Simplesmente fantástico. Parabéns mais uma vez Sergião!

    ResponderExcluir
  2. Muito bom e a foto do Mya nossa que cara de safado se achando...

    ResponderExcluir
  3. "Dentre as linguagens de programação que mais se destacam hoje na indústria dos vídeo games podemos citar o C++ (usado por Sony e Nintendo), o Java (bastante utilizado para dispositivos móveis e TV Digital Interativa) e o C# (utilizado pela Microsoft para PC e XBOX 360)."

    C# é utilizado basicamente em jogos independentes (indie games), pela facilidade de desenvolvimento. Todo jogo profissional para PC e Xbox 360 é feito em C++.

    ResponderExcluir
  4. É verdade romulo, apesar de que hoje em dia já existem vários jogos profissionais que utilizam C# + XNA + .NET Framework.

    Mesmo assim, o C++ domina na indústria mesmo.

    ResponderExcluir
  5. Simplesmente perfeito! Ótima matéria!

    ResponderExcluir
  6. ótimo artigo!
    Deixei o link para meus colegas de projeto também lerem.

    ResponderExcluir
  7. com seus creditos é claro

    ResponderExcluir
  8. Para que colocar três comentários seguidos?
    Vc não poderia colocar isso em um só comentário??
    Para que esse flood imenso?

    ResponderExcluir

Disqus
Facebook
Google