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

arrow_back Aula 05 - Máquina de Estados Finitos

Apresentação da Aula

Olá, programador(a)! Bem-vindo(a) à aula 05! Você avançou bastante com as aulas anteriores. O jogador que você desenvolveu está ficando bem preparado. Ele já corre de um lado para o outro, sabe desviar de obstáculos, pode perseguir um adversário, sabe chutar... sabe até fazer besteira. Ops! Pois é, como dito na primeira aula de IA para Jogos, um dos objetivos da IA é simular uma situação de forma realista. No seu caso, você ensinou o jogador a “chutar pra fora”. Fica mais parecido com o que acontece de fato. Muito bem!

Só que nos exercícios e atividades que você fez até agora, o jogador tinha apenas um comportamento: ou ele ficava correndo de um lado para o outro ou era um cobrador de pênaltis. Infelizmente, isso é limitado demais para um jogo de futebol. O jogador precisa ser mais polivalente, adotando diversos comportamentos em diferentes situações.

Na verdade, na aula anterior, você já começou a implementar um mecanismo simples de mudança de comportamento. Se você prestar atenção, o cobrador de pênaltis possui dois estados. Inicialmente, ele vai em direção da bola (1º estado) e depois, quando chega próximo dela (quando esse evento ocorre), chuta em um dos cantos do gol e a deixa de ir em sua direção (2º estado). Se não tivesse separado o comportamento do jogador em dois estados, ele continuaria indo atrás da bola mesmo após tê-la chutado. Isso não quebra o realismo se o pênalti for durante o jogo, mas se o pênalti for na decisão da partida após o tempo regulamentar, não faz muito sentido. Veja, então, a importância da organização de um comportamento maior (cobrar um pênalti) em estados (correr e, depois, chutar), até mesmo para comportamentos aparentemente simples.

Certamente, há jogos que não precisam de estados em seus personagens. Se você for implementar um jogo tipo Pong, não há necessidade de estados. A barra do jogo só precisa ir na direção da bola… o tempo todo! Esses jogos mais simples não requerem estratégias de IA. Porém, no momento em que os comportamentos começam a ser mais complexos, você precisa estruturá-los melhor. A organização por meio de “estados” é um mecanismo simples, mas bastante eficiente para definição de personagens virtuais. Nessa aula, você irá elaborar e implementar comportamentos baseado em estados.

Pronto para começar?

Objetivos

Entender o que é uma Máquina de Estados Finitos e suas diferentes formas de implementação no Unity;

Compreender como representar uma Máquina de Estados Finitos em forma de diagrama;

Aplicar uma Máquina de Estados Finitos para modelar o comportamento de um personagem de um jogo.

Versão 5.3 - Todos os Direitos reservados