Cursos / Jogos Digitais / Inteligência Artificial para Jogos / Aula

arrow_back Aula 02 - Comportamentos de navegação

2. Comportamentos de navegação (steering behaviors)

Os comportamentos de navegação são técnicas de IA para Jogos usadas para definir o movimento de personagens de forma realista (você encontrará muitas referências, mesmo as em português, mencionando steering behavior), basicamente por meio das leis da mecânica (Física). Essas técnicas não se utilizam de algoritmos complexos, envolvendo planejamento do deslocamento ou algo que requeira muito tempo de execução e cálculos. Não, nada disso! Elas simplesmente usam o conceito de força e o de combinação de forças para criar movimentos aparentemente complexos.

As técnicas de IA para Jogos começaram a ser usadas por Craig Reynolds, em 1986, para simular o movimento de um grupo de animais, como de peixes ou de pássaros. Preste atenção nos vídeos a seguir!

Vídeo 01 – Revoada de pássaros no estado do RN

Fonte: LEMOS FILHO, RUBENS. No RN, o lindo balé de arribaçã. 2018. Disponível em: https://www.youtube.com/watch?v=umJMYfyAi6c
Acesso em: 10 abr. 2018.

Vídeo 02 – Cardume em Fernando de Noronha, PE

Fonte: Viegas, Roberta. O cardume. Disponível em: https://www.youtube.com/watch?v=LJC9BlPhdT0
Acesso em: 10 abr. 2018.

Você vai ver que há uma sincronização dos milhares de pássaros e dos peixes. Há alguma entidade controlando eles? Dizendo quem deve ir mais para a direita, mais para a esquerda, quem sobe, quem desce? Não. Há, por trás desse movimento gracioso que você viu no vídeo, a chamada inteligência coletiva. O movimento dos pássaros emerge das decisões e colaborações individuais de cada pássaro. Quando um deles vê um pouco mais de espaço à direita, ele vai para direita, mas se ele se afastar muito do bando, ele volta. Esse movimento já faz com que o pássaro à esquerda mude seu trajeto e assim por diante. O mesmo ocorre com o cardume.

Inteligência coletiva é uma área multidisciplinar, que envolve estudos da psicologia, sociologia, filosofia e… também da computação. Na computação, em específico em IA, há estratégias para simular (apesar das simplificações) um tipo de inteligência coletiva, que é chamado de inteligência de enxames (do inglês swarm intelligence). Esse termo foi definido assim porque as estratégias utilizadas são normalmente inspiradas nos modelos de movimentação do coletivo de abelhas (enxames), de pássaros (bando) ou peixes (cardumes), aplicados a entidades computacionais simples, chamados de agentes ou boids (pequenos robôs).

No modelo de Reynolds, os boids são governados por apenas três forças:

  • Separação: fazendo com que o boid siga para uma direção menos “tumultuada” de outros boids;
  • Alinhamento: fazendo com que o boid siga a mesma direção que os boids ao seu redor;
  • Coesão: fazendo com que o boid tenda a não se afastar de seu bando.

Agora, dê uma olhada na simulação a seguir. É uma simulação de 10.000 boids. Além das forças citadas anteriormente, há também forças para evitar que eles colidam com obstáculos (o cenário é em 3D e dá para ver alguns boids sobre o obstáculo, mas não é porque eles “entraram” dentro do obstáculo, eles estão acima dele) e que fujam de um predador voando ao redor deles.

Vídeo 03 – Animação com mais de 10.000 criaturas simulando revoada

Fonte: SEUNGWOO, Ji. Steering Behavior 3D, Flocking. Disponível em: https://www.youtube.com/watch?v=wWfmrvjd9jY
Acesso em: 10 abr. 2018.

Imagine se você fosse calcular os planos de voo de cada um dos 10.000 boids! Ia dar lag, com certeza!

Bom, com essa técnica Craig Reynolds trabalhou não só em jogos, mas também fazendo animação procedural para filmes, como no filme Batman: o Retorno, de 1992, no qual um grupo de morcegos é controlado por scripts usando a técnica citada. Desde então, a técnica (Figura 08) foi usada em vários filmes, como Batman Begins, quando Bruce Wayne enfrenta seu medo no meio de uma revoada de morcegos. O comportamento desses morcegos foi criado usando as técnicas de comportamento de navegação.

Cena do filme “Batman Begins”

Essa técnica mostrou que é possível criar comportamentos complexos apenas aplicando forças de atração e/ou de repulsão. Assim, vários comportamentos já foram definidos apenas aplicando essas forças ou variações delas. A partir de agora, você estudará os comportamentos mais simples, como a busca por um alvo (Seek) e o comportamento de chegada (Arrival). Eles serão essenciais na construção de comportamentos mais complexos, que serão abordados na próxima aula.

Versão 5.3 - Todos os Direitos reservados