Como os games são criados

16 out

O processo de desenvolvimento de um game

Primeiramente precisamos compreender todo o processo de criação de um game, partindo desde a pré-produção até a pós-produção.

Pré-produção

O Dicionário Aurélio traz como significado para a palavra “planejamento” o seguinte: “Ato de projetar um trabalho, serviço ou mais complexo empreendimento”. Considerando que um game é um trabalho, um serviço e também um complexo empreendimento podemos concluir que o planejamento é essencial para o sucesso de um jogo.

É nesta fase que todo o jogo é planejado, a equipe de desenvolvimento se reúne e discute as ideias do jogo, tais como o público alvo, como ele será desenvolvido, os objetivos do jogo, o gênero, dentre várias outras questões que são muito importantes para um game de sucesso. Um erro comum por parte dos grupos iniciantes e pequenas empresas é desvalorizar essa etapa no processo de desenvolvimento de um game e esse erro pode custar caro! Por mais que um jogo tenha os melhores gráficos, se ele não tiver uma história e uma ação competente e que envolva o jogador durante todo o jogo, ele será um fracasso.

Essa etapa ainda abrange vários outras subetapas tais como o game design, que define a história do jogo, a jogabilidade, as escolhas que o jogador poderá tomar no mundo do jogo e as consequências que essas escolhas terão para o decorrer do jogo e etc. Durante todo o processo de game design é comum a equipe responsável desenhar diversos rascunhos de como será ambientado o game, a jogabilidade, a tela que será apresentada ao jogador, como será os personagens do jogo e etc.

O próximo passo é reunir todas as informações e ideias desenvolvidas ao longo da pré-produção em um documento chamado DD (design document), esse documento é uma espécie de script de filme, contendo detalhes de como será o jogo. Esse documento é muito importante para a equipe de desenvolvimento, pois ela se baseará neste documento para colocar as ideias em práticas.

Desenvolvimento

Após um longo período no processo de pré-produção, chega a hora de começar a colocar as ideias em prática e começar a desenvolver o jogo. É neste momento que tudo começa a ficar interessante, pois, todo o ambiente do jogo começará a ser criado, os personagens terão vida e a história do jogo vai tomando forma. É importante lembrar que nessa etapa os designers e os responsáveis pela pré-produção ainda trabalham ativamente, uma vez que sempre é preciso fazer alguma alteração no projeto do jogo, seja por motivos técnicos ou por os designers terem desenvolvido uma ideia melhor.

Essa etapa costuma ser a mais longa de todas, pois envolve toda a programação do jogo, dos personagens, dos gráficos e etc. Outro ponto importante é que nesta fase não são somente os programadores que trabalham, durante o desenvolvimento entram em ação também os artistas gráficos, responsáveis pelas texturas, modelos, animações e etc.

rascunho Como os games são desenvolvidos

Pós-produção

Essa etapa vem logo após o jogo ser lançado e ao contrário do que muitos pensam, o trabalho não para pelo fato de o jogo ter sido lançado, ele ainda continua a todo vapor. A equipe da pós-produção acompanha todo o feedback do jogo (e também busca um), fica atenta a possíveis bugs para lançarem correções(patches) e caso o feedback seja bom, uma possível expansão.

Técnicas e termos usados no desenvolvimento dos games

Agora que nós já temos uma ideia de como tudo acontece desde o planejamento do jogo até a finalização dele, podemos partir para algo mais interessante, vamos entender agora algumas técnicas e termos bastante utilizados durante o desenvolvimento de qualquer jogo.

Frames por Segundo(FPS)

O conceito de frame por segundo ou FPS é muito importante. Basicamente FPS significa quantas vezes por segundo a tela é atualizada, é essa taxa de atualização que nos dá a sensação de animação do jogo. Quanto maior a taxa, mais suave é o movimento das imagens. Os filmes, por exemplo, possuem um Frame Rate(Taxa de Frames) de aproximadamente 24 fps.

Um exercício interessante para entender bem a diferença entre uma taxa de frame alta e uma baixa é comparar um filme qualquer com uma animação do tipo stop-motion, ou com uma daquelas gif’s animadas, em que temos uma baixa taxa de quadros por segundos.

É de suma importância o correto entendimento e o correto uso desse conceito. Se não aplicarmos corretamente, nosso jogo rodará com taxas de frames que dependerão única e exclusivamente da potência do computador que está rodando o jogo. Como a base de um jogo é um loop (uma repetição), se não especificarmos uma taxa de frame limite ou uma forma de limitar a velocidade de atualização, o loop será executado muito rápido, consequentemente teremos muitas atualizações em um segundo, causando assim um movimento muito acelerado.

É importante lembrar que, apesar de parecer à primeira vista, quando limitamos ou especificamos de alguma forma um limite para a taxa de frames, não estamos fazendo o jogo se tornar mais “pesado”, pois o limite se dá em função do tempo e não deixa o jogo de forma alguma mais “pesado”.

Sprites

Os sprites são estruturas com imagens próprias que permitem a criação de animações e o livre posicionamento delas na tela. Basicamente todos os objetos que possuem animação ou algum movimento em um jogo são chamados de sprites. Um sprite pode ser só uma imagem com um quadro fixo ou pode ter vários conjuntos de imagens configurados, formando assim animações. A imagem abaixo mostra um exemplo de um sprite que contém várias imagens para caracterizar uma animação.

iris Como os games são desenvolvidos

Para criar uma animação é preciso ter uma sequência de imagens lógicas. Tomando como base o exemplo da imagem acima, poderíamos dividir essa imagem através das coordenadas, dadas em pixels, em várias “sub-imagens” (cada sub-imagem se refere a um quadro da animação) e assim definirmos a sequência de atualização das imagens. Note que, se atualizarmos sem o controle do tempo (fps), teremos o problema do movimento acelerado, explicado no tópico anterior.

sprites Como os games são desenvolvidos

Vetores

Os vetores são estruturas muito importantes para a construção de jogos em duas dimensões (jogos 3D utilizam-se de matrizes), eles são a base para qualquer jogo. Vetores são usados para o posicionamento e para as movimentações dos objetos na tela em variadas situações. Um vetor pode representar a distância entre 2 pontos (pode ser entre 2 personagens) e a direção de um movimento. Os vetores armazenam as coordenadas na tela, se temos um vetor A(12,10), esse vetor poderia ser representado da seguinte maneira:

vetores2 Como os games são desenvolvidos

Para descobrir a distância entre dois pontos precisamos relembrar o teorema de Pitágoras. Considere um outro vetor A(10,20) e um vetor B(30,35), podemos calcular a distância entre eles aplicando o teorema de Pitágoras:

vetor1 Como os games são desenvolvidos

Poderíamos ainda dividir as coordenadas x,y do vetor AB pela distância descoberta, com isso teremos o chamado vetor unitário que indica o sentido do vetor, muito utilizado na movimentação dos objetos na tela.

Outra coisa importante é que o sistema de coordenadas difere um pouco do sistema cartesiano ao qual estamos acostumados. No sistema cartesiano o eixo Y cresce de baixo para cima, já no sistema de coordenadas da tela do computador o eixo Y cresce de cima para baixo.

coordenadas Como os games são desenvolvidos

Tudo isso que vimos até aqui demonstra o quão importante é a matemática no desenvolvimento de jogos, portanto, não basta ser um bom programador, tem que ser um bom matemático também!

Detectando Colisões

Fazer a detecção de colisão entre dois objetos, é basicamente verificar se esses dois objetos se sobrepõem. Uma forma de fazer isso seria verificar se os objetos possuem pixels (pontos) que ocupam a mesma posição na tela. Porém, isso não seria uma técnica muito viável se tivermos muitos objetos na tela. O que ocorre é a utilização de formas geométricas que circundam os objetos, dessa forma, podemos utilizar métodos bastante simples para determinar se as formas geométricas colidem.

A forma geométrica será definida de acordo com o objeto, se for uma bola, a melhor forma geométrica será um círculo, se for um personagem provavelmente a melhor opção será um retângulo. Para verificar a colisão entre 2 círculos, por exemplo, poderíamos utilizar o seguinte teorema: “dois círculos colidem quando a distância entre seus centros é menor do que a soma dos seus raios.”

colisao Como os games são desenvolvidos

Inteligência Artificial (IA)

Para finalizarmos, temos a IA. Basicamente a IA é um recurso utilizado para criar autonomia aos personagens que não são controlados pelo jogador, com o objetivo de gerar uma interação com o mesmo. Diversos elementos do jogo exibem, de uma forma ou de outra, certo nível de inteligência. O grande objetivo é desafiar o jogador. Atualmente, existem diversas técnicas utilizadas para implementar inteligência artificial em jogos. Dentre elas, há máquinas de estados finitas, agentes, redes neurais, algoritmos genéticos, entre outros.

FONTE

3 Respostas to “Como os games são criados”

  1. Nícholas André outubro 22, 2010 às 12:29 am #

    Olá, como autor do artigo, gostaria que você deixasse mais explícito a autoria do artigo e destacasse melhor a fonte de onde você copiou o post na íntegra.

    No mais, agradeço pela referência.

    E como uma crítica construtiva, evite copiar posts de forma integral de outros blogs =].

    Abraços

  2. Djone outubro 20, 2010 às 6:08 pm #

    Gostei! muito maneiro! =D

  3. Rafael Lima outubro 20, 2010 às 1:38 pm #

    Renato, muito bom o post.

    É bom observar alguns detalhes: Nem sempre na história o desenvolvimento dos jogos seguiu essas características, e esse lance de “DD” está mais entrenhado na cultura ocidental que na cultura oriental. O problema desse “super-planejamento” antes de começar a programar é que você não tem como testar se o conceito de jogabilidade que o jogo propõe funciona de fato, ou é uma boa idéia apenas no papel (O que é o caso muitas vezes).

    Dai os desenvolvedores atuais se prende a uma meia-dúzia de “generos” de jogos, e não se arriscam muito a fazer nada diferente, porque “criar” algo diferente apenas no “papel” é muito difícil.

    Outros desenvolvedores preferem partir de um protótipo que teste a jogabilidade do jogo para ver se é uma opção viável ou não, e apenas depois disso parte para o design das coisas “laterais” aos jogos (História, ambientação, etc)

    Se você quiser saber mais sobre isso, a gente pode conversar lá no colégio.

    Um abraço!

Deixe um comentário sobre o conteúdo acima.

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: