O GFX

A primeira área que vou comentar é a de gráficos, o GFX. Ele é dividido em outras áreas que podem ser feitas pelo mesmo time ou por equipes diferentes conforme o tamanho do projeto. Dentro do GFX estão os Gráficos 2D, texturas, animações, “sprites” para partículas e adesivos, e gráficos 3D que vai ser o primeiro foco que vou dar a este segmento da criação de jogos.

O desenvolvimento dos gráficos 3D do jogo estão diretamente ligados e relacionados a “Engine 3D” que vai ser usada. Falaremos disso mais tarde em profundidade. No momento basta saber que existe um padrão e formato nos modelos 3D para que eles sejam compatíveis com esta “engine” que nada mais é que o motor principal de suporte aos objetos 3D contidos dentro do jogo. Ela que irá desenhar os modelos e dar condição da interatividade ligando os modelos ao código de programação.

Conforme a engine utilizada em sua escolha, determinado editor 3D será usado para dar compatibilidade dos objetos criados com sua escolha. Você pode usar programas que custem centenas de dólares a programas freewares, livres de custo. Um bom exemplo de programa 3D pago é o 3D Studio Max, que além de muito poderoso, aceita centenas de “plug-in” (acessórios) que o deixa compatível com grande maioria de engines no mercado. Bons exemplos de programas freeware e shareware são o Caligari game space e true Space, wings 3D, Med, MilkShape, blender e muitos outros. No final do livro vou colocar alguns endereços para se baixar alguns destes programas na Internet.

Como falado anteriormente a área GFX é responsável também pela criação de imagens 2D que podem ser usadas em diversos itens do jogo como painéis, texturas, partículas, efeitos, composição de câmera, sprites e mais. O especialista em texturas deve manter um padrão que atenda o escopo do jogo e grande parte dos efeitos visuais vem de uma textura bem feita. Com a introdução de Shaders e outras tecnologias, muitos detalhes não precisam estar no modelo, mas sim, em uma camada de bump bem feita. O bump é uma técnica que dá efeitos de luz a textura dando a ilusão de profundidade através de um bump map ou mapa de relevo. Com isso um objeto com poucos detalhes e polígonos pode parecer muito mais complexo quando renderizado pela engine.

Dicionário: Renderização é o processo pelo qual pode-se obter o produto final de um processamento digital qualquer. Este processo aplica-se essencialmente em programas de modelagem 2D e 3D, bem como audio e vídeo.

O processo de tratamento digital de imagens e sons consome muitos recursos dos processadores, e pode tornar-se pesado de forma que sua realização em tempo real fica inviável. Neste caso, os softwares trabalham em um modo de baixa resolução para poder mostrar uma visão prévia do resultado. Quando o projeto está concluído, ou em qualquer momento que se queira fazer uma aferição de qual será o resultado final, faz- se a “renderização” do trabalho.

Exemplo de Bump map, mapa de relevo.
 
Exemplo de objeto sendo modelado.

Tenha sempre em mente que todas as áreas se integram para formar o jogo, e que cada uma delas deve respeitar a outra para que as peças no final do projeto sejam compatíveis e se encaixem. A comunicação entre os departamentos envolvidos é fundamental e o time line é uma ferramenta fundamental neste processo de entrosamento entre as equipes envolvidas. Podemos imaginar um grande tabuleiro de quebra-cabeça e as etapas e setores suas respectivas peças que no final irão formar o quadro ou desenho.

Os terrenos também são de responsabilidade das equipes de GFX, e eles irão ser criados conforme a engine utilizada e tipo de jogo seguindo características de montagem com técnicas próprias. Muitas engines usam objetos específicos para os terrenos e algumas blocos. Outras conseguem manipular o terreno para que este deforme durante a seqüência do jogo, por exemplo, como uma explosão que pode deformar o terreno para que este fique com uma cratera.

Existem programas próprios para se criar terrenos e céus. Mas conforme a complexidade e técnica podem ser usados mais de um programa ou processo para este fim. Normalmente eles são criados a partir de uma imagem 2D em branco e preto onde o preto significa profundidade e o branco elevação.

Exemplo de um plano de terreno.

Outra responsabilidade do GFX são as texturas. Todo modelo criado e terreno irão receber texturas que são imagens 2D que irão cobrir a malha modelada dos objetos.

Existem diversas formas de isto acontecer, algumas mais complexas envolvendo várias imagens e outras mais simples envolvendo apenas uma única imagem e algumas com transparência e efeitos de canais mais elaborados. Quem controla a forma que a textura recobre o objeto é o mapa. Existem vários tipos de mapas e conforme a engine e formato de modelo usado ele vai suportar alguns. Além da colocação direta de textura sobre um objeto, existem ainda os mipmaps que são pedaços de texturas menores que aceleram a renderização e diminuem os fragmentos. Com isso se consegue maior velocidade com qualidade final.

Curiosidade: A prática de aplicação de texturas sobre polígonos e formas tridimensionais foi desenvolvida pela primeira vez por Edwin Catmull, em sua tese de doutorado. Uma prova de que sua proposta deu certo é que, atualmente, até os jogos 3D mais simples apresentam texturização. Outra prova desse sucesso é que o cientista hoje é presidente dos estúdios de animação da Walt Disney e da Pixar.

 

Exemplo de textura para bloco ou modelo.

 

Uma textura bem desenvolvida é essencial para aproximar cada vez mais os jogos de um ideal de qualidade. Um exemplo pode ser dado através de um objeto simples: uma sala, dentro de um edifício, pode ser modelada como quatro paredes, chão e teto. Este modelo representa perfeitamente uma sala, mas o que o torna realmente realista é a sensação que o jogador tem ao se aproximar de uma das paredes e ver o realismo da textura nela aplicada, ou ao olhar para o chão e observar uma simulação bem feita de um tapete ou assoalho.

Outro departamento relacionado ao 3D é a criação dos modelos, ou modelagem. Todo personagem, roupas, armas, ambiente, pedaços de cenário, objetos dentro do jogo tem que ser modelado por esta equipe. A modelagem é um trabalho complexo e exige um elevado grau de conhecimento tanto artístico quanto técnico. Alguns programas de modelagem são simples e resumidos como o Fly3D, outros extremamente complexos e com inúmeros recursos como o Newtek lightWave 3D, True Space, Aladin4D, 3DMax e outros.

A modelagem em três dimensões, ou como normalmente chamada, a modelagem 3D, conta com uma enorme variedade de ferramentas genéricas, permitindo uma comunicação mais fácil entre dois programas diferentes e usuários iguais, são as mais conhecidas: técnica por polígonos, técnica por vértices e técnica por bordas. Todas elas são realizadas por intermédio da criação de uma malha complexa de segmentos que dão forma ao objeto.

 

Exemplo de software livre para modelagem 3D, o Blender.

Depois desta breve introdução a modelagem 3D é hora de falarmos da animação gráfica. Este recurso muito usado principalmente nas introduções dos jogos é importante para transmitir ao jogador o ambiente da trama que envolve o contexto do jogo.

 História: A história da animação digital está diretamente relacionada com a história da computação gráfica. Desde os primeiros dispositivos disponíveis foram percebidas as possibilidades de uso para geração de ilusão de movimento.

rapidamente substituída por uma nova imagem, semelhante à anterior, mas ligeiramente modificada. Esta técnica é idêntica ao modo como a ilusão de movimento é conseguida com a televisão e os filmes.

A animação computacional 3D é o sucessor digital da animação por stop motion; a figura animada é modelada no monitor e “vestida” com um esqueleto virtual. Então os membros, olhos, bocas, roupas, etc., da figura 3D são movimentadas pelo animador. Finalmente, a animação é renderizada.            

Dicionário: Stop motion é um modalidade de animação que utiliza modelos reais em diversos materiais, dentro dos mais comuns, estão a massa de modelar, ou como normalmente chamada massinha. No cinema o material utilizado tem que ser mais resistente e maleável, visto que os modelos têm que durar meses, pois para cada segundo de filme são necessárias aproximadamente 24 quadros

 

Conforme o jogo que estivermos trabalhando, inúmeras animações irão ser usadas no decorrer do projeto. Não só as estáticas em introduções ou mudanças de fase, mas também objetos animados no interior do cenário que irão propiciar maior realismo.

A qualidade das animações estão diretamente ligadas a qualidade visual final e realismo do jogo. Imagine um jogo de corrida onde os corredores são imagens estáticas mudando de posição. Sem a animação grande ou toda parte da vida do jogo se perde. Mas você deve dosar a quantidade certa de animação dentro do jogo, pois o exagero além de elevar o custo de produção e tempo de desenvolvimento, pode deixar seu jogo muito pesado para rodar na maioria dos computadores.

A iluminação é outro componente fundamental para se construir um jogo agradável visualmente e aprimorar detalhes que passariam despercebidos sem um bom uso desta técnica. Além da luz que pode ser estática ou dinâmica, de baixa definição ou alta definição, a sombra é um recurso relacionado que complementa a luz dentro do jogo. Existem várias técnicas de sombra, algumas podem ajudar no tempo de renderização outras mais pesadas exigem hardware compatível.

É importante se estudar o peso de tudo que vai entrar para o jogo a fim de não se ter algo muito pesado que consequentemente reduzirá o número de usuários, e também nada tão simples que deixe o jogo falho, com qualidade abaixo da esperada pelos usuários.

A dosagem de recursos é importante para o sucesso do jogo. Não adianta você ter a melhor história do mundo com cenários cinematográficos se não conseguir deixar isso com um peso de processamento a altura da maioria dos jogadores e hardware disponíveis no mercado.

Ao se deparar com este problema, felizmente a configuração do jogo pode ajudar e muito. Estude uma forma de conseguir introduzir recursos no jogo que possam ser desligados por meio de chaves em uma área de configuração. Alguns jogos costumam ter este sistema antes mesmo de iniciar a engine, para que o jogo consiga rodar fluentemente na maioria das máquinas (computadores) no mercado. Outros mais sofisticados acrescentam mecanismos para checar a configuração existente e ajustam para o melhor equilíbrio de ítens ligados e capacidade de processamento.

A medida de capacidade de processamento e detalhes visuais apresentados na tela é medido na forma de apresentação de quadros por segundo na tela, ou como tipicamente chamado, os FPS. Em um jogo de ação a configuração automática vai conseguir ajustar o sistema para uma media de apresentação de 20 FPS é suficiente para a maioria dos jogadores, e caso este seja mais exigente, poderá ajustar manualmente depois os efeitos e recursos para melhorar esta taxa de amostragem. Mais adiante irei apresentar uma área do livro direcionada a hardware como placas de video, CPU, memórias e plataformas e recursos existentes neles para que você possa decidir que caminho seguir na elaboração de seu projeto. É fundamental o conhecimento dos computadores e periféricos disponíveis no mercado para que você tenha um jogo que funcione no maior número de máquinas possíveis. Pois o sucesso de venda do jogo depende disso.

Retornando as sombras, a equipe GFX também é responsável pelos sprites, objetos exibidos em duas dimensões, que geralmente compõem elementos de fundo ou são sobrepostos em modelos tridimensionais. Sua principal função atualmente é economizar recursos ao tornar desnecessária a representação de objetos utilizando objetos complexos em três dimensões, porém também continua sendo essencial para a produção de jogos bidimensionais. E algumas técnicas de sombra farão proveito dos mesmos. Os sprites entre outras, são imagens que podem ser coladas como decalques sobre texturas. Um uso muito comum são as sombras estáticas que requerem muito menos processamento que as dinâmicas renderizadas em tempo de execução. Atualmente o uso de sombras estáticas está tornando-se cada dia menor, mas é uma ferramenta poderosa quando bem aplicada. Cenários, lugares pouco visitados e de visão rápida podem ser alvos deste recurso quando o movimento passa despercebido por se tratar de algum ítem secundário na tela. É importante o diretor de projeto bem como os diretores de departamentos conhecerem o máximo possível sobre os recursos e técnicas que podem ser aplicados para melhorar o jogo tanto visualmente quanto em matéria de processamento.

Além das sombras, como mencionei, alguns objetos podem ser colocados em 2D dando a impressão de serem partes 3D do cenário. Exemplo de cena sem sombra e textura.

 

Exemplo de cena com sombra.

Como você pode notar nas imagens anteriores, a textura e sombras são fundamentais na qualidade final visual de um jogo, agora a mesma cena, só que neste exemplo a cena está com textura e sombras. Notem as árvores, nesta cena elas são sprites.

 

Como pode ver, é dramática a diferença, e o uso dos sprites para complementar o cenário ajudam na ilusão de profundidade. Neste caso as sombras são dinâmicas, pois os objetos em questão, protagonistas neste exemplo de jogo executam movimento constantes impedindo qualquer possibilidade do uso de sprites para as suas sombras.

Outro uso de imagens 2D nos jogos são os painéis que irão ser a porta de comunicação do ambiente com o usuário. A principal tarefa dos painéis é fornecer informações para o usuário, que estão além da capacidade atual dos computadores, como sensação. Por exemplo, você pode saber o quanto está machucado olhando para um painel, ou o quão cansado está. Saber sua força, velocidade, e diversas informações que o jogo pode fornecer à você. Além de um belo design, é importante um painel que transmita as informações necessárias. Um painel com poucas informações torna-se problemático, com excesso de informações pode se tornar complexo em demasia difícil de se entender. Em ambos os casos vai diminuir a satisfação do jogador em executar o jogo. Um painel bem feito vai ter as informações principais e mais importantes posicionadas de uma forma a ser de fácil visualização, muitas vezes empregando gráficos intuitivos que proporcionem uma compreensão por parte do jogador de o que você esta querendo transmitir. Nada mais simples do que um coração próximo a barra de vida para informar o estado de saúde do personagem. Ou corações para indicar quantidade de vidas. Sempre que possível, facilite a vida do jogador. Lembre-se, ele vai comprar seu jogo para se divertir e não para ter que fazer um doutorado para entender o painel. Uma boa pratica também é seguir o padrão de jogos já enraizados no mercado que tratem do mesmo assunto para criar seu painel, desta forma o jogador vai se identificar mais fácil com o ambiente do jogo. Por exemplo: Inúmeros jogos de MMORPG usam uma barra flutuante para atalho de ataques e magias.

As partículas também estão presentes no dia-a-dia da equipe de GFX. São usadas para os mais diversos fins. Desde uma explosão, faíscas, poeira, rastro de pneus no chão, magias e as mais variadas aplicações que a mente criativa de um criador possam conceber. Apesar de dependerem muito do código, programação, do jogo, elas são constituídas de pequenas imagens 3D que conforme a engine utilizada podem ser com ou sem canal de transparência, quando sem tem que ter uma cor indexada que será substituída durante a renderização do jogo pela camada transparente, ou canal alpha.

Com a constante busca por mais realismo e efeitos dentro dos jogos, a criação de efeitos com partículas está a cada dia, um setor mais elaborado e importante dentro da criação de um jogo.

 

Exemplo de uso de partículas na pistola de pintura.
Imagem do jogo que estou fazendo atualmente. Garagem simulador V8

Exemplo de rastro de partículas simulando fumaça e sprites simulando o atrito na reentrada da atmosfera.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X