Developers BR

Um Blog sobre XNA, SilverLight e CIA.

A importância da Matemática em Jogos Digitais

leave a comment »


Olá. Neste artigo, falarei de como e de qual maneira a Matemática é importante na criação (principalmente na programação) de Jogos Digitais.

Posso dizer que se você não souber matemática ou não ter interesse em aprender, não programará um bom jogo.

O motivo de tal afirmação ser verdadeira, é que na programação, tudo é lógica e matemática, a linguagem é apenas um meio para o programador se “expressar” para o computador.

Matemática em Jogos 2D

Vou citar aqui o porque de você não poder programar um jogo 2D sem a matemática.

Citarei como exemplo, um jogo clássico, Sonic, mas os conceitos se aplicam a qualquer jogo. Imagine o seguinte:

O computador coloca uma imagem em coordenadas especificadas por você, e advinhe o que você usa para posicionar um simples desenho na tela?

A resposta é Coordenadas, dadas pelo ponto Horizontal (X) e pelo ponto Vertical (Y). Sem a matemática você não pode nem mesmo posicionar um desenho na tela.

Agora vamos partir para algo mais complexo que simplesmente colocar uma imagem na tela, vamos falar de Gravidade, Aceleração e Velocidade, Fricção (presente na maioria dos jogos)!

Começemos pela Gravidade:

Gravidade é a força que puxa todos os corpos para o baixo (simplificadamente dizendo). Na Terra este valor é geralmente arredondado para 10 m/s².

Então significa que, em um jogo, você deve deixar o Personagem cair até que colida com algo. Nossa! Falamos de subtração de valores, ai entra a matemática, já que você deverá ter que fazer isso:

Enquanto não colidiu com algo:

Subtraia (No caso das coordenadas do Computador, deve-se Adicionar) X_de_Gravidade da Posição atual do Personagem.

Agora vamos falar de Aceleração e Velocidade:

Velocidade é o quanto deverá ser adicionado ( se for positiva ) ou subtraida ( se for negativa ) da posição atual do jogar. Isso óbviamente inclui a matemática.

A Aceleração é o quanto sua velocidade irá aumentar ou diminuir, por exemplo, se sua velocidade é 10 e sua aceleração é –3, então você está parando, porque sua velocidade irá ir diminuindo de 3 em 3.

Então, não há movimento em jogo, sem a Matemática!

Agora vamos falar de Fricção:

A Fricção é uma força que puxa em direção contraria ao movimento de um corpo. É essa força que pára um carro, onde há fricção entre a Pastilha do Freio e o Disco.

A fricção geralmente é maior ou igual que 0 e menor ou igual que 1 (Lembrando que 1 significa que não há nenhuma fricção e 0 significa que há fricção total. Por exemplo:

Temos uma velocidade que é igual à 10, e um valor de fricção igual à 0. Então a velocidade final é 10 * 0 = 0! Ou seja, não há movimento.

Agora temos uma velocidade que é igual à 10, e um valor de fricção igual à 1. Então a velocidade final é 10 * 1 = 10. Não há fricção.

Agora, ao usar, por exemplo, um valor de fricção igual à 0.9, teremos 10 * 0.9 = 9, houve uma diminuição de 10%, então há fricção!

Você deve ter conseguido entender que sem matemática, não há jogos 2D. Agora vamos dar uma olhada nos jogos 3D.

Matemática em Jogos 3D

Em jogos 3D a matemática é intensamente, supremamente, e qualquer outro termo exagerado, indispensável! É impossivel fazer um jogo 3D sem usar a matemática.

A razão é que sem matemática, não há 3D, pois o computador simula o 3D em nossa tela, e para fazer isso, faz uso intenso de matrizes e não podemos nos esqueçer dos vetores também.

Matrizes e Vetores são elementos que apareçem sempre em um jogo 3D.

Os vetores marcam a posição dos pontos dos modelos 3D, além da posição, aceleração, velocidade, direção.

Para poder dizer ao computador a posição do observador e a projeção ( que inclui a perspectiva e tamanho do mundo 3D ) usa-se matrizes! Que é matemática pura.

Para rotacionar, transladar (mover) e escalar um modelo, usa-se multiplicações de matrizes.

Para se obter a direção de um corpo rotacionado e move-lo nesta direção, usa-se calculo vetorial e transformações com matrizes. Além disso existem os Quatérnios, que são estruturas matemáticas que ajudam ao realizar rotações de modelos 3D.

Então podesse concluir que sem a matemática, não há jogos digitais!

Conclusão:

Se você quiser programar jogos, mas não gostaria de ter que aprender matemática, então esqueça.

Abraços, Rafael S. Angeline

Anúncios

Written by rafaelangeline

setembro 12, 2009 às 9:12 pm

Publicado em Matemática

Deixe um comentário

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: