TUTORIAL 14 - ADICIONANDO INTELIGÊNCIA ARTIFICIAL (IA)

        Neste tutorial aprenderemos como criar um ator inteligente no 3D Game Builder. Primeiramente crie um novo projeto ou utilize um dos criados anteriormente, crie também um cenário e adicione a este cenário um Ator MD2, este pode ser o ator padrão do 3D Game Builder. No cenário eu utilizei um Heightmap para o terreno e utilizei a textura criada para ele usando a ferramenta “T2 Texture Creation”, mas se você preferir pode utilizar um cenário mais simples.

      Agora vamos tornar o nosso ator inteligente, selecione o Ator MD2 criado, vá até a aba “Eventos” e clique em “OnLoop”, o editor de scripts será exibido, o evento “OnLoop” ocorre repetidamente dês do momento em que o objeto for criado até o momento que ele for destruído. Em seguida adicione o seguinte script ao evento:

if GetObjectDistance('Objeto1','Player') < 1 then
begin
  if GetObjectAnimation('Objeto1') <> '08flip0' then
    SetObjectAnimation('Objeto1', '08flip0');
  PointObjectTo('Objeto1', 'Player');
end
else if GetObjectDistance('Objeto1','Player')<10 then
begin
  if GetObjectAnimation('Objeto1') <> '02run0' then
    SetObjectAnimation('Objeto1', '02run0');
  PointObjectTo('Objeto1', 'Player');
  ApplyForce('Objeto1', 3000, 0, 0);
end
else if GetObjectAnimation('Objeto1')<>'01stand0' then
  SetObjectAnimation('Objeto1', '01stand0');

      Lembre-se que “Objeto1” é o nome do meu Ator MD2, caso o seu possua outro nome, altere o “Objeto1” para o nome do seu Ator MD2, ou então altere o nome do seu objeto no mapa para “Objeto1”.

      Este script é responsável por fazer todo o controle do ator, o comando “GetObjectDistance” retorna distancia entre dois objetos, no caso é verificado a distancia entre o próprio ator (“Objeto1”) e o objeto “Player”, o objeto “Player” esta pré-definido em todos os projetos e é a representação da posição do ator principal. O outro comando importante neste script é o “PointObjectTo”, ele é responsável por fazer o ator virar na direção do ator principal. O comando “ApplyForce” é responsável por movimentar o ator, ele recebe como parâmetro o objeto onde será aplicado a força, e a quantidade de força aplicada nos eixo X, Y e Z. E os comandos “GetObjectAnimation” e “SetObjectAnimation” são responsáveis por controlar as animações do ator.

      Salve o script e o mapa e execute o jogo, você perceberá que ao aproximar-se do Ator MD2 ele correra em sua direção, e quando ele chegar bem próximo ele levantara as mãos.

      Como você pode notar adicionar inteligência artificial a um objeto é extremamente fácil, este foi um exemplo simples de inteligência artificial, porém outros algoritmos mais complexos também podem ser implementados utilizando a linguagem script. Nos próximos tutoriais aprenderemos a fazer outras coisas utilizando a linguagem scripts.