Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos I / Aula

arrow_back Aula 04 - Detecção de colisão e o Motor de Física

A Física nos Jogos

A física é uma ciência complexa, como vocês veem com mais detalhes na disciplina de Física para Jogos. E toda essa complexidade possui um alto custo para ser transmitida ao computador. É bem complicado simular tudo adequadamente, pretendendo fazer as coisas que ali estão serem reais e funcionarem exatamente como no mundo real. Ainda bem não ser isso o que, em geral, queremos! Lembra de eu ter falado sobre a física possuir modelos capazes de conseguir valores muito similares ou reais utilizando cálculos simples? Pois é! É assim que conseguimos resultados muito interessantes!

A gravidade da Terra não é precisamente 9,8m/s². Existe, além disso, a resistência do ar e as deformações que o objeto pode sofrer enquanto está submetido a uma força, de modo a alterar algumas de suas propriedades. Felizmente, tudo isso pode ser abstraído e simulado de uma maneira mais simples, fazendo-nos conseguir, com um custo computacional bem menor, um efeito bom o bastante para os nossos jogos. Arredondamos a gravidade, ignoramos a resistência do ar e, de repente, temos uma pedra caindo, parecendo suficientemente real. Colocamos um quadrado flutuando na parte inferior da tela e adicionamos a ele propriedades de colisão e BOOM! A pedra bate nesse quadrado voador, o qual podemos chamar de chão, e tudo parece estar funcionando! É justamente com essa mágica que queremos trabalhar. A ideia de utilizar física nos jogos, principalmente no caso de jogos 2D mais simples, como estamos trabalhando, é criar os melhores modelos, com abstrações às vezes absurdas, mas que alcançam o resultado desejado!

Melhor ainda: nem precisamos nos preocupar em implementar todos esses modelos, fazer todos esses cálculos ou otimizar isso a fim de ser feito de uma maneira computacionalmente barata. O nosso motor de jogos já faz tudo para nós! Na verdade, essa parte de física é tão brutal que, usualmente, há um motor inteiro dentro do motor de jogos voltado simplesmente a ela. O chamado motor de física é uma parte crucial de todo e qualquer motor que deseje uma simulação minimamente realista da física, para garantir que o jogo possa responder de maneira adequada.

É claro que existem alguns jogos que não possuem física propriamente dita, como os RPGs de Tiles 2D (RPG Maker), mas, em compensação, temos, por outro lado, jogos sempre buscando uma perfeição física maior, investindo em motores de física cada vez mais precisos e potentes, abusando de todo o poder de processamento possível. PhysX, Havok Engine... Esse é um tema sobre o qual poderíamos conversar o dia inteiro, pois é muito interessante e completo! Há realmente bastante coisa sendo feita nessa área, com diversas novidades apresentadas constantemente e muita gente interessada em tudo.

Infelizmente, não temos tanto tempo e há ainda muita coisa para aprender sobre o motor de física 2D do Unity. Sugiro, a quem tem um interesse maior no assunto, que pesquise mais sobre esse tema. Garanto que não se arrependerá!

O mais importante de toda essa discussão é lembrar que a física, em jogos, por motivos óbvios, simplesmente não existe! Mas nós conseguimos, sim, utilizar modelos complexos e extremamente bem implementados para criar uma sensação de que ela está lá e “enganar”, da melhor maneira, o nosso jogador a acreditar ser possível encarar a física do jogo do mesmo modo que no mundo real! Ou não, não é? Afinal, às vezes, mudar a física do jogo já cria uma nova experiência de jogabilidade e pode ser um caminho interessante para se desenvolver novos jogos! Repetindo: tem muita coisa legal nessa área! ;)

Versão 5.3 - Todos os Direitos reservados