SlideShare ist ein Scribd-Unternehmen logo
1 von 60
Downloaden Sie, um offline zu lesen
Game AI
Inteligência Artificial para Jogos
           Eletrônicos
                             J. Gabriel Lima
                         gabriel@ecomp.eng.br
                   http://jgabriellima.wordpress.com
  Laboratório de Planejamento de Redes de Alto Desempenho - LPRAD
         Empresa Júnior de Engenharia de Computação /UFPa
Agenda


   Histórico
   Técnicas de Inteligência Artificial para Jogos
   Motores de IA e plataformas de Desenvolvimento
   Por onde começar?
Um Breve Histórico
“O Turco” (1770)
• Máquina de jogar xadrez supostamente
  provida de inteligência artificial

•   Construída por Wolfgang para
    impressionar a imperatriz Maria Tereza
    da Áustria

•   A “máquina” venceu a maioria dos jogos
    e fez demonstrações pela Europa e
    América durante mais de 84 anos

•   Ganhou disputas contra os famosos:
    Napoleão Bonaparte e Benjamin
    Franklin

•   Era na verdade uma ilusão mecânica que
    permitia que um jogador de xadrez
    escondido, controlasse a máquina.

•   Algumas imitações foram propostas ao
    longo dos anos:
      •    O Egípcio (Ajeeb) – 1868 – Charles Hooper
      •    Mephisto – 1878 – Charles Gumpel
      •    El Ajedrecista - 1912
• A indústria percebeu que a inclusão
  de um modo para um jogador
  poderia atrair um público maior,
  desta forma, aumentando os lucros


• Técnicas já conhecidas no meio
  acadêmico passaram a ser utilizadas
  para simular o comportamento
  humano
Space Invaders
• Lançado em 1978

• Construído pela Taito Corporation

• foi um dos primeiros jogos de tiro
  com gráfico bidimensional

• Implantou as primeiras entidades
  inteligentes em jogos

• foi um sucesso e gerou centenas
  de milhões de dólares, não só
  para os desenvolvedores mas
  também para outras empresas
  que imitaram a fórmula de
  sucesso do jogo.
Pac-Man
• Criado em 1980 pora a empresa Namco

• Tornou-se um dos jogos         mais
  populares no momento

• O jogador era uma cabeça redonda
  com uma boca que se abre e fecha,
  posicionado em um labirinto simples
  repleto de pastilhas e 4 fantasmas
  que o perseguiam. O objetivo era
  comer todas as pastilhas sem ser
  alcançado pelos fantasmas, em ritmo
  progressivo de dificuldade.

• Pac-man conta com movimentos
  padronizados dos inimigos

• Porém cada fantasma tem um modo
  diferente de caçar o jogador
Herzog ZWei
• Desenvolvido em 1990

• O primeiro jogo de estratégia em
  tempo real, Herzog ZWei, é lançado.

• A busca de caminho apresentada
  nesse jogo era de baixa qualidade

• Enquanto o jogador controlava um
  veículo que podia se transformar em
  avião de transporte ou robô de guerra,
  ele precisava controlar o maior
  número de zonas estratégicas, que por
  sua vez aumentavam o fluxo de
  recursos para seu caixa.

• O game oferece nativamente suporte
  para dois jogadores.

• Faltava muita refinação, mas a
  presença desses mesmos elementos
  continua intacta em dezenas de jogos
  do gênero até hoje.
BattleCruiser: 3000AD
•  Foi desenvolvido utilizando-se redes
   neurais.
O estilo do jogo é "você e sua nave contra o
                 universo".
• Cada personagem do jogo, exeto o
   controlado pelo jogador, é dirigido por
   uma rede neural,

• Os oponentes também usam redes
  neurais para combater, negociar, etc.

•    Este jogo causou muita controvérsia pois
    seus desenvolvedores afirmam ter
    utilizado técnicas de IA, como redes
    neurais, no seu desenvolvimento mas
    muitos discordam desse fato.

• O jogo usa uma rede neural para todas
  as decisões orientadas ao seu objetivo,
  e em alguns casos usa também lógica
  fuzzy.
Half-Life
• Desenvolvido em 1998 pela Valve
  Software


• Foi um dos jogos mais revolucionários
  da história do estilo em primeira
  pessoa


• Comparado com o clássico e pioneiro
  DOOM


• É lançado como a melhor Game IA
  até então.
Resumo Histórico
IA e Game IA
 Para as empresas desenvolvedoras de jogos eletrônicos, as
  aplicações computacionais de IA e o significado do termo IA são
  diferente dos encontrados no meio acadêmico.

 Para distinguir a inteligência artificial utilizada em jogos e no
  meio acadêmico, os desenvolvedores adotaram o termo Game AI

 A principal diferença entre a IA acadêmica e a IA para jogos é o
  objetivo que cada uma busca.
IA Acadêmica
 Dentre outras coisas, um dos objetivos, é buscar a solução para problemas
  complexos, como imitar o reconhecimento que os humanos são capazes de
  realizar (reconhecimento facial e de imagens e objetos, por exemplo),
  entender e construir agentes inteligentes, por exemplo.


   Game IA
 O objetivo de usar inteligência artificial é a diversão. Sua importância é quanto
  aos resultados que o sistema irá gerar, e não como o sistema chega até os
  resultados.

 Isso se deve pelo fato que jogos eletrônicos são negócios.

 Os consumidores desses produtos os compram em busca de diversão, e não
  lhes interessa como a inteligência de um personagem no jogo foi criada.
 Alguns pesquisadores afirmam que a indústria de jogos está muito anos à
    frente do meio acadêmico com relação à construção de soluções práticas
    de IA para certos problemas.


   Outros afirmam que estudos formais de IA podem levar anos para
    formular teorias de comportamento, examinar possíveis soluções e
    desenvolver protótipos para testes.


 Apesar disso, a falta de uma metodologia científica faz com que muitas
  das soluções encontradas pelos desenvolvedores de jogos não sejam
  aceitas como um apoio aos estudos formais de IA.
IA em Jogos
 Há diversas razões para que os pesquisadores de IA migrem para a área de
  desenvolvimento de jogos:


    As empresas desenvolvedoras de jogos já perceberam a necessidade de construir cada vez
      mais personagens inteligentes.

    A área de jogos eletrônicos é altamente competitiva e a tecnologia que será o grande
      diferencial a partir de agora é o desenvolvimento de IA.

    A cargo de programador de IA, já está comum na área de desenvolvimento de jogos

    O mercado de jogos fatura mais que a do cinema.

    Com a evolução dos hardwares de processamento gráfico e a sua otimização sobra mais
      processamento para os algoritmos de IA.
 Alguns dos tipos de Inteligência Artificial voltada para área dos
  jogos, em ordem crescente de complexidade, são:

     Algoritmos determinísticos e Padrões de Movimento
     Máquina de Estado Finita
     Sistemas Baseados em Regras
     Algoritmos de Busca
     Redes Neurais
     Algoritmos Genéticos
Padrões de Movimento

 Utilizados nos primeiros jogos eletrônicos da historia
 Compostos por:
   Movimentos aleatórios
   Algoritmos de perseguição
   Algoritmo de Evasão

 O algoritmo de perseguição verifica a posição de um personagem 1 em
  relação a posição de um personagem 2, e avança em direção a ele.

 O algoritmo de evasão faz o personagem 1 se distancie do personagem
  2.

 Exemplo: Gun Fight (1975)
Máquina de Estado Finito

 Define os estados em que um personagem pode se encontrar e quando o
  mesmo muda de estado.



 Recurso de fácil entendimento, implementação e depuração



 Exemplo: no pac-man, uma máquina de estados é utilizada para cada
  fantasma, sendo os estados possíveis:

   Procurando o jogador

   Perseguindo o jogador

   Fugindo do jogador
Máquina de Estado Finito

 Quando o fantasma procura o jogador, ele apenas se movimenta pelo
  labirinto ate encontrar o jogador



 Quando ele encontra o jogador ele verifica se pode perseguir o jogador ou se
  precisa fugir e troca de estado para “perseguindo jogador” e tenta alcançar o
  jogador



 Se durante esse tempo o jogador ganha a habilidade de engolir o fantasma, o
  fantasma muda seu estado para “fugindo do jogador”
Máquina de Estado Finito

 Maquinas de estado são uteis para situações locais
   Onde dado um estado, apenas algumas condições podem ser
    aplicadas como saída.
Máquina de Estado Finito

 Quando o fantasma procura o jogador, ele apenas se movimenta pelo
  labirinto ate encontrar o jogador



 Quando ele encontra o jogador ele verifica se pode perseguir o jogador ou se
  precisa fugir e troca de estado para “perseguindo jogador” e tenta alcançar o
  jogador



 Se durante esse tempo o jogador ganha a habilidade de engolir o fantasma, o
  fantasma muda seu estado para “fugindo do jogador”
Sistemas Baseados em
                                                    Regras

 Representação de comportamento muito utilizada em jogos


 Mais flexível que a abordagem puramente estimulo-resposta.


 SBRs apresentam algumas vantagens como as pessoas normalmente pensam sobre
  conhecimento


 São bastante expressivos e permitem a modelagem de comportamentos complexos


 Modelam o conhecimento de uma maneira modular


 São fáceis de escrever e são mais concisos que maquinas de estados finitos
Sistemas Baseados em
                                               Regras

 Como funciona?
   O conhecimento é definido através de um conjunto de parâmetros (variáveis) e um
    conjunto de regras que trabalham sobre esses parâmetros, de modo que durante a
    “Tomada de Decisão” essas regras são então processadas



 Exemplo: Supondo que o conjunto de parâmetros seja definido como:
   Distancia do Inimigo

   Energia do Agente

   Energia do Inimigo

   Quantidade de Munição
Sistemas Baseados em
                                                    Regras

 E uma vez definidos os parâmetros de entrada, seja também concebido o conjunto de ações
   possíveis do agente:

    fugir

    procurar

    Atirar

   SE (distancia do inimigo > 100) E (energia do agente > 50) E ( energia do inimigo < 50)

   ENTAO procurar.

 E se a seguinte condição fosse assim:

    - Se há um osso por perto e o cachorro esta com fome, ele irá comê-lo;

    - Se o cachorro está com fome, mas não há nenhum osso por perto, ele procura por um;

    - Se o cachorro não está com fome, mas está com sono, ele irá dormir;

    - Se o cachorro não está com fome e não esta com sono, o cachorro irá andar e latir.
Sistemas Baseados em
                                                    Regras

 Essas quatro sentenças são difíceis de serem representadas através de uma
  maquina de estados
   Cada sentença leva a um estado da maquina e cada estado pode transitar para
     qualquer um dos outros estados.


 Nesse exemplo, o cachorro se comporta de acordo com um conjunto de
  prioridades ou regras. Um sistema baseado em regras tem a forma:
   “Condição _ Ação”
      Fome & osso por perto _ comer;
      Fome & não osso por perto _ procurar;
      Não fome & com sono _ dormir;
      Não fome & sem sono _ andar e latir
Algoritmos de Busca

 A busca é um dos problemas mais básicos de IA para jogos
 Algumas das principais consequências de uma busca “pobre” são:
   Personagens que parecem totalmente artificiais
   Personagens sem inteligência de navegar entre locais e desviar de obstáculos


 Para solucionar o problema de busca (sair de uma ponto e chegar a um destino),
  diversos algoritmos podem ser utilizados


 Algoritmo A* (Lê-se A estrela) o mais famoso e implementado em jogos


 Outros:
   Algoritmo de Dijkstra e waypoints também são utilizados
Algoritmos de Busca


 O A* é um algoritmo onde utiliza uma função heurística que determina a
  qualidade de cada um dos estados possíveis, por meio de um custo para a
  melhor rota até o destino passando pelo nó atual.



 Esse custo determina a qualidade do caminho, quanto menor o custo melhor
  é o caminho.



 Essa técnica é amplamente utilizada para jogos de estratégia, onde os
  agentes devem procurar a melhor rota para se deslocar no cenário essa busca
  é conhecida como pathfinding.
Algoritmos de Busca


 Pode-se utilizar a analise do terreno para aumentar ou diminuir o custo do
  caminho, onde pontos do mapa são identificados como pontes, travessias ou
  rios.



 A busca A* é a forma de busca pela melhor escolha mais conhecida.



 Ela avalia nós combinando g(n), o custo para alcançar cada nó, e h(n), o custo
  para ir do nó até o objetivo:
                                  f(n) = g(n) + h(n)
Algoritmos de Busca

 Desse modo, se tenta encontrar a solução de custo mais baixo, a opção razoável seria
  experimentar o menor valor de g(n) + h(n).



 Desde que a função heurística h(n) satisfaça certas condições, a busca A* será ao
  mesmo tempo completa e ótima.



 O algoritmo de A* é utilizado em jogos para realmente encontrar o melhor caminho a
  ser tomado, sendo mais utilizado em jogos de estratégia como Age of Empires ou
  WarCraft, onde deve-se mover unidades de exército ou unidades normais
Algoritmos de Busca

 Exemplo:
Redes Neurais

 Método de solucionar problemas de inteligência artificial, construindo um
  sistema que tenha circuitos que simulem o cérebro humano


   Comportamento
   Aprendizagem,
   Erros
   Descobertas


 São técnicas computacionais que apresentam um modelo inspirado na estrutura
  neural de organismos inteligentes e que adquirem conhecimento através da
  experiência
Redes Neurais

 As principais vantagens das redes neurais são:

   Tolerância a falhas
      Podem ser treinadas para reconhecerem padrões distorcidos e até
       mesmo incompletos

   Compatibilidade com a tecnologia
      Funciona em hardware de baixo custo

   Auto-organização
      Capacidade de aprendizagem adaptativa
Redes Neurais

 Redes neurais são formadas por vários neurônios artificiais

 O número de neurônios do qual a rede é formada depende da tarefa que ela
  irá desempenhar, podendo variar de poucos neurônios (3 ou 4) a milhares
  deles.
Redes Neurais

 Em aplicações da vida real, as RNs são utilizadas no reconhecimento de padrões,
  categorização, aprendizado, competição, auto-organização, entre outras áreas



 Toda rede neural recebe como entrada um conjunto de números reais.



 O problema ocorre quando precisamos utilizar outros tipos de valores de entrada,
  como enumerações e valores lógicos verdadeiro/falso –o que é comum na
  implementação de jogos.
Redes Neurais

 Em jogos é utilizada onde os personagens necessitam de aprendizado
  através das escolhas do jogador

      São usadas em conjunto com outras técnicas, executando tarefas que
       necessitam um certo grau de aprendizado ou para realizar tarefas em
       que as unidades controladas pelo computador sejam menos previsíveis.
      Exemplo:
      Simuladores de vôo
        Onde as decisões do jogador podem ser mapeadas a fim de obter padrão de
         comportamento
Algoritmos Genéticos


 Baseada nos estudos sobre a evolução das espécies, de Charles Darwin,
  moldando a população de indivíduos através da sobrevivência dos membros
  mais aptos a viver naquele ambiente



 Os seres mais “fortes” e capazes de sobreviver passam adiante suas
  características para a próxima geração



 A geração resultante é fruto da combinação de dois cromossomos da
  geração atual, num processo denominado crossover
Algoritmos Genéticos


 Nessa combinação podem ocorrer mutações aleatórias, e, se estas mutações
  contribuírem para a sobrevivência da espécie, elas serão também passadas
  para as gerações futuras


 No desenvolvimento de jogos, os algoritmos genéticos visam a busca de uma
  solução ótima para um determinado problema


 Geralmente, os algoritmos genéticos são utilizados quando se deseja uma IA
  que atue mesmo em situações não previstas pelo desenvolvedor, como em
  tomadas de decisão de acordo com o comportamento do jogador
Algoritmos Genéticos



 São ótimos para resolver problemas de otimização combinatória, onde o
  espaço de busca é grande e complexo



 Para problemas como o do pathfinding, (nos quais já existem algoritmos
  sólidos para sua resolução) não é recomendado o uso dos algoritmos
  genéticos, pois estes são mais custosos computacionalmente
Algoritmos Genéticos

 A implementação dos algoritmos genéticos em jogos pode ser dividida em quatro etapas:



    1- Inicialização:    primeiramente, é preciso definir um modo de codificar os
     cromossomos da população de criaturas de IA que iremos criar.


   Exemplo:

    Suponha que a população de criaturas controladas pelo computador tenham que responder de
     acordo com a arma em uso pelo jogador(espada, arco, lança e machado), e as respostas
     possíveis são: usarEscudo (1), ataqueComEspada (2), fugir (3), esconder (4) e ataqueComArco
     (5). Então os cromossomos destas criaturas serão representados por um vetor de quatro
     posições, onde a posição 1 contém o identificador da ação a ser executada caso o jogador tenha
     uma espada, a posição 2 será executada caso o jogador tenha um arco, e assim por diante. Cada
     posição do vetor assume um valor de 1 a 5.
Algoritmos Genéticos


 2- Validação da aptidão


   Nesta etapa do processo evolucionário, deve se avaliar quais indivíduos da
     população são os mais aptos a resolver o problema em questão.



   Utilizamos uma função de avaliação de aptidão



   Para o exemplo acima, uma boa função avaliação é contabilizar a diferença entre o
     dano que a criatura causou ao jogador e o dano recebido.
Algoritmos Genéticos


 3- Seleção


   Nesta etapa é utilizada a função calculada na etapa anterior para que sejam
     escolhidos os indivíduos que participarão do processo evolucionário.



   Na vida real, geralmente dois pais contribuem com seus cromossomos para a
     geração seguinte.



   No mundo dos jogos, podemos escolher qualquer número dentre os melhores
     indivíduos
Algoritmos Genéticos


 4- Evolução



   Nesta última etapa, serão criados os novos indivíduos que serão
    introduzidos no ambiente do jogo.



   São selecionados os melhores indivíduos e combinados seus genes no
    processo de crossover.



   São introduzidas mutações aleatórias
 Futuramente, espera-se que a IA aprenda cada vez mais com o jogador,
  utilizando redes neurais artificiais e até mesmo os algoritmos genéticos, que
  até o momento têm sido pouco utilizados, salvo em implementações
  específicas.
Motores de IA
 A evolução dos motores e frameworks para o desenvolvimento de jogos
  eletrônicos seguiu a idéia de dividir e conquistar, após a divisão das áreas de
  engine o desenvolvedor só precisaria juntar todas as engines para construir o
  jogo.


 Essas engines abordam diversas áreas, porém a área de IA ainda não teve um
  aprofundamento e consta de forma tímida em grande maioria das engines
  para jogos, deixando o trabalho para o desenvolvedor criar a IA


 Alguns motores de jogos se destacam na ênfase que dão para a área da IA,
  porém ainda que timidamente:
 Unreal Engine 3


    Framework desenvolvido pela Epic Games
    Especialmente feito para os novos consoles: Playstation 3, Xbox 360 e Nitendo Wii, além dos PC’s.
    O sistema de IA aborda:
       Suporte ao pathfiding
             Comporta objetos complexos como portas e elevadores
             Permite navegação entre cenários
             Personagens interagem com objeto

       Navegação de Alto Nível
             Suporta táticas de combate

       IA baseada em times
             Adequada para jogos de tiro em primeira pessoa e estratégia
 A Unreal Engine é um framework proprietário tendo três tipos de licença:
    · Royalty-Bearing;

    · Royalty-Free;

    · Custom.



 Royalty-Bearing: possui o valor de U$$ 350.000,00 mais U$$ 50.000,00 por plataforma de
    desenvolvimento, além de pagar uma taxa de 3% em cima do faturamento do jogo.

   Royalty-Free: possui o valor de US$750.000,00 mais US$100.000,00 por plataforma, não
    cobrando nenhuma taxa por jogo vendido.

 Custom: essa última licença a empresa interessada deverá entrar em contato com a Epic Games
    para a aquisição do produto. Sendo destinada para projetos não comerciais voltados mais para
    aprendizado.
   Source Engine


     Framework, Desenvolvido pela Valve Software para produção de jogos envolvendo animação de
       personagens, física, baseada em shaders e uma avançada IA.


     Foi usado para o desenvolvimento de jogos famosos como Half-Life, Counter-Strike e Day of Defeat.


     Os recursos da engine consistem em um sistema de entrada e saída dando o controle da IA para os
       desenvolvedores.


     Possui um sistema de navegação onde os personagens podem correr, voar, pular.


     Permite tratar eventos relacionado aos sentidos humanos e ainda adicionar relacionamentos que
       definem o status amigo ou inimigo
 Reality Engine


    Motor para o desenvolvimento de jogos produzido pela Artificial Studios.


    Desenvolvido em cima da plataforma DirectX9 podendo rodar em DirectX7 ou 8.


    Foi criada com o objetivo de competir com a Source Engine e a Unreal Engine 3, tendo
      uma qualidade gráfica bem superior.


    Possui um suporte a IA com técnicas importantes como, pathfinding, tomada de
      decisões baseadas em máquinas de estados, além de dar aos agentes inteligentes a
      possibilidade de responder a estímulos sonoros e visuais.


    A arquitetura da engine foi desenvolvida para melhorar a performance da IA
 Reality Engine


    Motor para o desenvolvimento de jogos produzido pela Artificial Studios.


    Desenvolvido em cima da plataforma DirectX9 podendo rodar em DirectX7 ou 8.


    Foi criada com o objetivo de competir com a Source Engine e a Unreal Engine 3, tendo
      uma qualidade gráfica bem superior.


    Possui um suporte a IA com técnicas importantes como, pathfinding, tomada de
      decisões baseadas em máquinas de estados, além de dar aos agentes inteligentes a
      possibilidade de responder a estímulos sonoros e visuais.


    A arquitetura da engine foi desenvolvida para melhorar a performance da IA
Por onde começar?
Obrigado!

  Dúvidas?
gabriel@ecomp.eng.br
Game AI
Inteligência Artificial para Jogos
           Eletrônicos
                             J. Gabriel Lima
                         gabriel@ecomp.eng.br
                   http://jgabriellima.wordpress.com
  Laboratório de Planejamento de Redes de Alto Desempenho - LPRAD
         Empresa Júnior de Engenharia de Computação /UFPa

Weitere ähnliche Inhalte

Was ist angesagt?

Manejo Reprodutivo de Equinos
Manejo Reprodutivo de EquinosManejo Reprodutivo de Equinos
Manejo Reprodutivo de EquinosKiller Max
 
Manejo reprodutivo de bovinos
Manejo reprodutivo de bovinosManejo reprodutivo de bovinos
Manejo reprodutivo de bovinosKiller Max
 
O universo, orientação e distâncias do e fora no Sistema Solar
O universo, orientação e distâncias do e fora no Sistema SolarO universo, orientação e distâncias do e fora no Sistema Solar
O universo, orientação e distâncias do e fora no Sistema SolarIsadora Girio
 
Trabalho bebedouros tipo nipple
Trabalho bebedouros tipo   nippleTrabalho bebedouros tipo   nipple
Trabalho bebedouros tipo nippleTaís Leandro
 
Trabalhando com jogos eletronicos
Trabalhando com jogos eletronicosTrabalhando com jogos eletronicos
Trabalhando com jogos eletronicosMarcelo Sávio
 
Cadeia produtiva da bovinocultura de corte
Cadeia produtiva da bovinocultura de corteCadeia produtiva da bovinocultura de corte
Cadeia produtiva da bovinocultura de corteTiago Maboni Derlan
 
produção de Animal Coelho
produção de Animal Coelho produção de Animal Coelho
produção de Animal Coelho Carls Tavares
 
Especialidade gatos
Especialidade gatosEspecialidade gatos
Especialidade gatosPCaatinga
 
A física dos foguetes e das sondas espaciais
A física dos foguetes e das sondas espaciaisA física dos foguetes e das sondas espaciais
A física dos foguetes e das sondas espaciaisLucas Guimaraes
 
História dos jogos - 2015 - PowerPoint
História dos jogos - 2015 - PowerPointHistória dos jogos - 2015 - PowerPoint
História dos jogos - 2015 - PowerPointTiago Sousa
 
O que é um jogo?
O que é um jogo?O que é um jogo?
O que é um jogo?Aline Corso
 
Anatomia da apis mellifera
Anatomia da apis melliferaAnatomia da apis mellifera
Anatomia da apis melliferaTalicia Marinho
 
GRÉCIA DEMOCRACIA ATENIENSE E PERÍODO CLÁSSICO
GRÉCIA DEMOCRACIA ATENIENSE E PERÍODO CLÁSSICOGRÉCIA DEMOCRACIA ATENIENSE E PERÍODO CLÁSSICO
GRÉCIA DEMOCRACIA ATENIENSE E PERÍODO CLÁSSICOJorge Miklos
 

Was ist angesagt? (20)

02 tipos de maquinas e implementos
02  tipos de maquinas e implementos02  tipos de maquinas e implementos
02 tipos de maquinas e implementos
 
Manejo Reprodutivo de Equinos
Manejo Reprodutivo de EquinosManejo Reprodutivo de Equinos
Manejo Reprodutivo de Equinos
 
Manejo reprodutivo de bovinos
Manejo reprodutivo de bovinosManejo reprodutivo de bovinos
Manejo reprodutivo de bovinos
 
O universo, orientação e distâncias do e fora no Sistema Solar
O universo, orientação e distâncias do e fora no Sistema SolarO universo, orientação e distâncias do e fora no Sistema Solar
O universo, orientação e distâncias do e fora no Sistema Solar
 
Agricultura de Precisão - UFCG Pombal
Agricultura de Precisão - UFCG PombalAgricultura de Precisão - UFCG Pombal
Agricultura de Precisão - UFCG Pombal
 
Trabalho bebedouros tipo nipple
Trabalho bebedouros tipo   nippleTrabalho bebedouros tipo   nipple
Trabalho bebedouros tipo nipple
 
Trabalhando com jogos eletronicos
Trabalhando com jogos eletronicosTrabalhando com jogos eletronicos
Trabalhando com jogos eletronicos
 
Cadeia produtiva da bovinocultura de corte
Cadeia produtiva da bovinocultura de corteCadeia produtiva da bovinocultura de corte
Cadeia produtiva da bovinocultura de corte
 
produção de Animal Coelho
produção de Animal Coelho produção de Animal Coelho
produção de Animal Coelho
 
Especialidade gatos
Especialidade gatosEspecialidade gatos
Especialidade gatos
 
Psicomotricidade pacto
Psicomotricidade   pactoPsicomotricidade   pacto
Psicomotricidade pacto
 
Jogos e brincadeiras
Jogos e brincadeirasJogos e brincadeiras
Jogos e brincadeiras
 
A física dos foguetes e das sondas espaciais
A física dos foguetes e das sondas espaciaisA física dos foguetes e das sondas espaciais
A física dos foguetes e das sondas espaciais
 
História dos jogos - 2015 - PowerPoint
História dos jogos - 2015 - PowerPointHistória dos jogos - 2015 - PowerPoint
História dos jogos - 2015 - PowerPoint
 
O que é um jogo?
O que é um jogo?O que é um jogo?
O que é um jogo?
 
Anatomia da apis mellifera
Anatomia da apis melliferaAnatomia da apis mellifera
Anatomia da apis mellifera
 
Horta escolar
Horta escolarHorta escolar
Horta escolar
 
Tração Animal
Tração AnimalTração Animal
Tração Animal
 
1.histórico e importância
1.histórico e importância1.histórico e importância
1.histórico e importância
 
GRÉCIA DEMOCRACIA ATENIENSE E PERÍODO CLÁSSICO
GRÉCIA DEMOCRACIA ATENIENSE E PERÍODO CLÁSSICOGRÉCIA DEMOCRACIA ATENIENSE E PERÍODO CLÁSSICO
GRÉCIA DEMOCRACIA ATENIENSE E PERÍODO CLÁSSICO
 

Ähnlich wie Game AI

Inteligência Artificial em Jogos Eletrônicos
Inteligência Artificial em Jogos EletrônicosInteligência Artificial em Jogos Eletrônicos
Inteligência Artificial em Jogos EletrônicosErisvaldo Junior
 
Técnicas de Inteligência Artificial em Jogos Eletrônicos
Técnicas de Inteligência Artificial em Jogos EletrônicosTécnicas de Inteligência Artificial em Jogos Eletrônicos
Técnicas de Inteligência Artificial em Jogos EletrônicosRoger Ritter
 
Workshop Fischer
Workshop FischerWorkshop Fischer
Workshop Fischervincevader
 
Palestra Game Design
Palestra Game DesignPalestra Game Design
Palestra Game Designvincevader
 
Desenvolvimento de jogos e Ogre 3D - Dev In Santos
Desenvolvimento de jogos e Ogre 3D - Dev In SantosDesenvolvimento de jogos e Ogre 3D - Dev In Santos
Desenvolvimento de jogos e Ogre 3D - Dev In Santosjonathanblacknight
 
Inteligência artificial algumas técnicas aplicadas em jogos
Inteligência artificial  algumas técnicas aplicadas em jogosInteligência artificial  algumas técnicas aplicadas em jogos
Inteligência artificial algumas técnicas aplicadas em jogosCRISLANIO MACEDO
 
Games e inovacao tecnologica
Games e inovacao tecnologicaGames e inovacao tecnologica
Games e inovacao tecnologicaAlexsandro
 
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)Fabio Moura Pereira
 
Frameworks Formais de Game Design.
Frameworks Formais de Game Design.Frameworks Formais de Game Design.
Frameworks Formais de Game Design.Pedro Emil Freme
 
Técnicas de inteligência artificial em jogos eletrônicoss
Técnicas de inteligência artificial em jogos eletrônicossTécnicas de inteligência artificial em jogos eletrônicoss
Técnicas de inteligência artificial em jogos eletrônicossRoger Ritter
 
Desenvolvimento de jogos e ogre 3D - Palestra Fatec Santos
Desenvolvimento de jogos e ogre 3D - Palestra Fatec SantosDesenvolvimento de jogos e ogre 3D - Palestra Fatec Santos
Desenvolvimento de jogos e ogre 3D - Palestra Fatec Santosjonathanblacknight
 
Campus party apresentação
Campus party apresentaçãoCampus party apresentação
Campus party apresentaçãoGigliola Bissoni
 

Ähnlich wie Game AI (20)

Inteligência Artificial em Jogos Eletrônicos
Inteligência Artificial em Jogos EletrônicosInteligência Artificial em Jogos Eletrônicos
Inteligência Artificial em Jogos Eletrônicos
 
Técnicas de Inteligência Artificial em Jogos Eletrônicos
Técnicas de Inteligência Artificial em Jogos EletrônicosTécnicas de Inteligência Artificial em Jogos Eletrônicos
Técnicas de Inteligência Artificial em Jogos Eletrônicos
 
Curso Dia 02
Curso Dia 02Curso Dia 02
Curso Dia 02
 
Cp game design
Cp game designCp game design
Cp game design
 
Workshop Fischer
Workshop FischerWorkshop Fischer
Workshop Fischer
 
Games, lado dev
Games, lado devGames, lado dev
Games, lado dev
 
Palestra Game Design
Palestra Game DesignPalestra Game Design
Palestra Game Design
 
Desenvolvimento de jogos e Ogre 3D - Dev In Santos
Desenvolvimento de jogos e Ogre 3D - Dev In SantosDesenvolvimento de jogos e Ogre 3D - Dev In Santos
Desenvolvimento de jogos e Ogre 3D - Dev In Santos
 
Inteligência artificial algumas técnicas aplicadas em jogos
Inteligência artificial  algumas técnicas aplicadas em jogosInteligência artificial  algumas técnicas aplicadas em jogos
Inteligência artificial algumas técnicas aplicadas em jogos
 
Irradiar #03
Irradiar #03Irradiar #03
Irradiar #03
 
Games e inovacao tecnologica
Games e inovacao tecnologicaGames e inovacao tecnologica
Games e inovacao tecnologica
 
Comparativo entre Engines de Jogos em 3d
Comparativo entre Engines de Jogos em 3dComparativo entre Engines de Jogos em 3d
Comparativo entre Engines de Jogos em 3d
 
Inteligência Artificial em Jogos
Inteligência Artificial em JogosInteligência Artificial em Jogos
Inteligência Artificial em Jogos
 
Oficinasimsocial
OficinasimsocialOficinasimsocial
Oficinasimsocial
 
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)
 
Frameworks Formais de Game Design.
Frameworks Formais de Game Design.Frameworks Formais de Game Design.
Frameworks Formais de Game Design.
 
Técnicas de inteligência artificial em jogos eletrônicoss
Técnicas de inteligência artificial em jogos eletrônicossTécnicas de inteligência artificial em jogos eletrônicoss
Técnicas de inteligência artificial em jogos eletrônicoss
 
Games, lado dev
Games, lado devGames, lado dev
Games, lado dev
 
Desenvolvimento de jogos e ogre 3D - Palestra Fatec Santos
Desenvolvimento de jogos e ogre 3D - Palestra Fatec SantosDesenvolvimento de jogos e ogre 3D - Palestra Fatec Santos
Desenvolvimento de jogos e ogre 3D - Palestra Fatec Santos
 
Campus party apresentação
Campus party apresentaçãoCampus party apresentação
Campus party apresentação
 

Mehr von João Gabriel Lima

Deep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer SegmentationDeep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer SegmentationJoão Gabriel Lima
 
Aplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackAplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackJoão Gabriel Lima
 
Realidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKitRealidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKitJoão Gabriel Lima
 
Big data e Inteligência Artificial
Big data e Inteligência ArtificialBig data e Inteligência Artificial
Big data e Inteligência ArtificialJoão Gabriel Lima
 
Mineração de Dados no Weka - Regressão Linear
Mineração de Dados no Weka -  Regressão LinearMineração de Dados no Weka -  Regressão Linear
Mineração de Dados no Weka - Regressão LinearJoão Gabriel Lima
 
Segurança na Internet - Estudos de caso
Segurança na Internet - Estudos de casoSegurança na Internet - Estudos de caso
Segurança na Internet - Estudos de casoJoão Gabriel Lima
 
Segurança na Internet - Google Hacking
Segurança na Internet - Google  HackingSegurança na Internet - Google  Hacking
Segurança na Internet - Google HackingJoão Gabriel Lima
 
Segurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentaisSegurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentaisJoão Gabriel Lima
 
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...João Gabriel Lima
 
Mineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - ClusterizaçãoMineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - ClusterizaçãoJoão Gabriel Lima
 
Mineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaMineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaJoão Gabriel Lima
 
Visualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark sideVisualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark sideJoão Gabriel Lima
 
REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?João Gabriel Lima
 
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...João Gabriel Lima
 
E-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãosE-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãosJoão Gabriel Lima
 
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.jsJoão Gabriel Lima
 
Hackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com JavascriptHackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com JavascriptJoão Gabriel Lima
 

Mehr von João Gabriel Lima (20)

Cooking with data
Cooking with dataCooking with data
Cooking with data
 
Deep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer SegmentationDeep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer Segmentation
 
Aplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackAplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full Stack
 
Realidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKitRealidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKit
 
JS - IA
JS - IAJS - IA
JS - IA
 
Big data e Inteligência Artificial
Big data e Inteligência ArtificialBig data e Inteligência Artificial
Big data e Inteligência Artificial
 
Mineração de Dados no Weka - Regressão Linear
Mineração de Dados no Weka -  Regressão LinearMineração de Dados no Weka -  Regressão Linear
Mineração de Dados no Weka - Regressão Linear
 
Segurança na Internet - Estudos de caso
Segurança na Internet - Estudos de casoSegurança na Internet - Estudos de caso
Segurança na Internet - Estudos de caso
 
Segurança na Internet - Google Hacking
Segurança na Internet - Google  HackingSegurança na Internet - Google  Hacking
Segurança na Internet - Google Hacking
 
Segurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentaisSegurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentais
 
Web Machine Learning
Web Machine LearningWeb Machine Learning
Web Machine Learning
 
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
 
Mineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - ClusterizaçãoMineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - Clusterização
 
Mineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaMineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e Weka
 
Visualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark sideVisualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark side
 
REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?
 
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
 
E-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãosE-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãos
 
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
 
Hackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com JavascriptHackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com Javascript
 

Kürzlich hochgeladen

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 

Kürzlich hochgeladen (8)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

Game AI

  • 1. Game AI Inteligência Artificial para Jogos Eletrônicos J. Gabriel Lima gabriel@ecomp.eng.br http://jgabriellima.wordpress.com Laboratório de Planejamento de Redes de Alto Desempenho - LPRAD Empresa Júnior de Engenharia de Computação /UFPa
  • 2. Agenda  Histórico  Técnicas de Inteligência Artificial para Jogos  Motores de IA e plataformas de Desenvolvimento  Por onde começar?
  • 4. “O Turco” (1770) • Máquina de jogar xadrez supostamente provida de inteligência artificial • Construída por Wolfgang para impressionar a imperatriz Maria Tereza da Áustria • A “máquina” venceu a maioria dos jogos e fez demonstrações pela Europa e América durante mais de 84 anos • Ganhou disputas contra os famosos: Napoleão Bonaparte e Benjamin Franklin • Era na verdade uma ilusão mecânica que permitia que um jogador de xadrez escondido, controlasse a máquina. • Algumas imitações foram propostas ao longo dos anos: • O Egípcio (Ajeeb) – 1868 – Charles Hooper • Mephisto – 1878 – Charles Gumpel • El Ajedrecista - 1912
  • 5. • A indústria percebeu que a inclusão de um modo para um jogador poderia atrair um público maior, desta forma, aumentando os lucros • Técnicas já conhecidas no meio acadêmico passaram a ser utilizadas para simular o comportamento humano
  • 6. Space Invaders • Lançado em 1978 • Construído pela Taito Corporation • foi um dos primeiros jogos de tiro com gráfico bidimensional • Implantou as primeiras entidades inteligentes em jogos • foi um sucesso e gerou centenas de milhões de dólares, não só para os desenvolvedores mas também para outras empresas que imitaram a fórmula de sucesso do jogo.
  • 7. Pac-Man • Criado em 1980 pora a empresa Namco • Tornou-se um dos jogos mais populares no momento • O jogador era uma cabeça redonda com uma boca que se abre e fecha, posicionado em um labirinto simples repleto de pastilhas e 4 fantasmas que o perseguiam. O objetivo era comer todas as pastilhas sem ser alcançado pelos fantasmas, em ritmo progressivo de dificuldade. • Pac-man conta com movimentos padronizados dos inimigos • Porém cada fantasma tem um modo diferente de caçar o jogador
  • 8. Herzog ZWei • Desenvolvido em 1990 • O primeiro jogo de estratégia em tempo real, Herzog ZWei, é lançado. • A busca de caminho apresentada nesse jogo era de baixa qualidade • Enquanto o jogador controlava um veículo que podia se transformar em avião de transporte ou robô de guerra, ele precisava controlar o maior número de zonas estratégicas, que por sua vez aumentavam o fluxo de recursos para seu caixa. • O game oferece nativamente suporte para dois jogadores. • Faltava muita refinação, mas a presença desses mesmos elementos continua intacta em dezenas de jogos do gênero até hoje.
  • 9. BattleCruiser: 3000AD • Foi desenvolvido utilizando-se redes neurais. O estilo do jogo é "você e sua nave contra o universo". • Cada personagem do jogo, exeto o controlado pelo jogador, é dirigido por uma rede neural, • Os oponentes também usam redes neurais para combater, negociar, etc. • Este jogo causou muita controvérsia pois seus desenvolvedores afirmam ter utilizado técnicas de IA, como redes neurais, no seu desenvolvimento mas muitos discordam desse fato. • O jogo usa uma rede neural para todas as decisões orientadas ao seu objetivo, e em alguns casos usa também lógica fuzzy.
  • 10. Half-Life • Desenvolvido em 1998 pela Valve Software • Foi um dos jogos mais revolucionários da história do estilo em primeira pessoa • Comparado com o clássico e pioneiro DOOM • É lançado como a melhor Game IA até então.
  • 12.
  • 13. IA e Game IA
  • 14.  Para as empresas desenvolvedoras de jogos eletrônicos, as aplicações computacionais de IA e o significado do termo IA são diferente dos encontrados no meio acadêmico.  Para distinguir a inteligência artificial utilizada em jogos e no meio acadêmico, os desenvolvedores adotaram o termo Game AI  A principal diferença entre a IA acadêmica e a IA para jogos é o objetivo que cada uma busca.
  • 15. IA Acadêmica  Dentre outras coisas, um dos objetivos, é buscar a solução para problemas complexos, como imitar o reconhecimento que os humanos são capazes de realizar (reconhecimento facial e de imagens e objetos, por exemplo), entender e construir agentes inteligentes, por exemplo. Game IA  O objetivo de usar inteligência artificial é a diversão. Sua importância é quanto aos resultados que o sistema irá gerar, e não como o sistema chega até os resultados.  Isso se deve pelo fato que jogos eletrônicos são negócios.  Os consumidores desses produtos os compram em busca de diversão, e não lhes interessa como a inteligência de um personagem no jogo foi criada.
  • 16.  Alguns pesquisadores afirmam que a indústria de jogos está muito anos à frente do meio acadêmico com relação à construção de soluções práticas de IA para certos problemas.  Outros afirmam que estudos formais de IA podem levar anos para formular teorias de comportamento, examinar possíveis soluções e desenvolver protótipos para testes.  Apesar disso, a falta de uma metodologia científica faz com que muitas das soluções encontradas pelos desenvolvedores de jogos não sejam aceitas como um apoio aos estudos formais de IA.
  • 18.  Há diversas razões para que os pesquisadores de IA migrem para a área de desenvolvimento de jogos:  As empresas desenvolvedoras de jogos já perceberam a necessidade de construir cada vez mais personagens inteligentes.  A área de jogos eletrônicos é altamente competitiva e a tecnologia que será o grande diferencial a partir de agora é o desenvolvimento de IA.  A cargo de programador de IA, já está comum na área de desenvolvimento de jogos  O mercado de jogos fatura mais que a do cinema.  Com a evolução dos hardwares de processamento gráfico e a sua otimização sobra mais processamento para os algoritmos de IA.
  • 19.  Alguns dos tipos de Inteligência Artificial voltada para área dos jogos, em ordem crescente de complexidade, são:  Algoritmos determinísticos e Padrões de Movimento  Máquina de Estado Finita  Sistemas Baseados em Regras  Algoritmos de Busca  Redes Neurais  Algoritmos Genéticos
  • 20. Padrões de Movimento  Utilizados nos primeiros jogos eletrônicos da historia  Compostos por:  Movimentos aleatórios  Algoritmos de perseguição  Algoritmo de Evasão  O algoritmo de perseguição verifica a posição de um personagem 1 em relação a posição de um personagem 2, e avança em direção a ele.  O algoritmo de evasão faz o personagem 1 se distancie do personagem 2.  Exemplo: Gun Fight (1975)
  • 21. Máquina de Estado Finito  Define os estados em que um personagem pode se encontrar e quando o mesmo muda de estado.  Recurso de fácil entendimento, implementação e depuração  Exemplo: no pac-man, uma máquina de estados é utilizada para cada fantasma, sendo os estados possíveis:  Procurando o jogador  Perseguindo o jogador  Fugindo do jogador
  • 22. Máquina de Estado Finito  Quando o fantasma procura o jogador, ele apenas se movimenta pelo labirinto ate encontrar o jogador  Quando ele encontra o jogador ele verifica se pode perseguir o jogador ou se precisa fugir e troca de estado para “perseguindo jogador” e tenta alcançar o jogador  Se durante esse tempo o jogador ganha a habilidade de engolir o fantasma, o fantasma muda seu estado para “fugindo do jogador”
  • 23. Máquina de Estado Finito  Maquinas de estado são uteis para situações locais  Onde dado um estado, apenas algumas condições podem ser aplicadas como saída.
  • 24. Máquina de Estado Finito  Quando o fantasma procura o jogador, ele apenas se movimenta pelo labirinto ate encontrar o jogador  Quando ele encontra o jogador ele verifica se pode perseguir o jogador ou se precisa fugir e troca de estado para “perseguindo jogador” e tenta alcançar o jogador  Se durante esse tempo o jogador ganha a habilidade de engolir o fantasma, o fantasma muda seu estado para “fugindo do jogador”
  • 25. Sistemas Baseados em Regras  Representação de comportamento muito utilizada em jogos  Mais flexível que a abordagem puramente estimulo-resposta.  SBRs apresentam algumas vantagens como as pessoas normalmente pensam sobre conhecimento  São bastante expressivos e permitem a modelagem de comportamentos complexos  Modelam o conhecimento de uma maneira modular  São fáceis de escrever e são mais concisos que maquinas de estados finitos
  • 26. Sistemas Baseados em Regras  Como funciona?  O conhecimento é definido através de um conjunto de parâmetros (variáveis) e um conjunto de regras que trabalham sobre esses parâmetros, de modo que durante a “Tomada de Decisão” essas regras são então processadas  Exemplo: Supondo que o conjunto de parâmetros seja definido como:  Distancia do Inimigo  Energia do Agente  Energia do Inimigo  Quantidade de Munição
  • 27. Sistemas Baseados em Regras  E uma vez definidos os parâmetros de entrada, seja também concebido o conjunto de ações possíveis do agente:  fugir  procurar  Atirar SE (distancia do inimigo > 100) E (energia do agente > 50) E ( energia do inimigo < 50) ENTAO procurar.  E se a seguinte condição fosse assim:  - Se há um osso por perto e o cachorro esta com fome, ele irá comê-lo;  - Se o cachorro está com fome, mas não há nenhum osso por perto, ele procura por um;  - Se o cachorro não está com fome, mas está com sono, ele irá dormir;  - Se o cachorro não está com fome e não esta com sono, o cachorro irá andar e latir.
  • 28. Sistemas Baseados em Regras  Essas quatro sentenças são difíceis de serem representadas através de uma maquina de estados  Cada sentença leva a um estado da maquina e cada estado pode transitar para qualquer um dos outros estados.  Nesse exemplo, o cachorro se comporta de acordo com um conjunto de prioridades ou regras. Um sistema baseado em regras tem a forma:  “Condição _ Ação”  Fome & osso por perto _ comer;  Fome & não osso por perto _ procurar;  Não fome & com sono _ dormir;  Não fome & sem sono _ andar e latir
  • 29. Algoritmos de Busca  A busca é um dos problemas mais básicos de IA para jogos  Algumas das principais consequências de uma busca “pobre” são:  Personagens que parecem totalmente artificiais  Personagens sem inteligência de navegar entre locais e desviar de obstáculos  Para solucionar o problema de busca (sair de uma ponto e chegar a um destino), diversos algoritmos podem ser utilizados  Algoritmo A* (Lê-se A estrela) o mais famoso e implementado em jogos  Outros:  Algoritmo de Dijkstra e waypoints também são utilizados
  • 30. Algoritmos de Busca  O A* é um algoritmo onde utiliza uma função heurística que determina a qualidade de cada um dos estados possíveis, por meio de um custo para a melhor rota até o destino passando pelo nó atual.  Esse custo determina a qualidade do caminho, quanto menor o custo melhor é o caminho.  Essa técnica é amplamente utilizada para jogos de estratégia, onde os agentes devem procurar a melhor rota para se deslocar no cenário essa busca é conhecida como pathfinding.
  • 31. Algoritmos de Busca  Pode-se utilizar a analise do terreno para aumentar ou diminuir o custo do caminho, onde pontos do mapa são identificados como pontes, travessias ou rios.  A busca A* é a forma de busca pela melhor escolha mais conhecida.  Ela avalia nós combinando g(n), o custo para alcançar cada nó, e h(n), o custo para ir do nó até o objetivo: f(n) = g(n) + h(n)
  • 32. Algoritmos de Busca  Desse modo, se tenta encontrar a solução de custo mais baixo, a opção razoável seria experimentar o menor valor de g(n) + h(n).  Desde que a função heurística h(n) satisfaça certas condições, a busca A* será ao mesmo tempo completa e ótima.  O algoritmo de A* é utilizado em jogos para realmente encontrar o melhor caminho a ser tomado, sendo mais utilizado em jogos de estratégia como Age of Empires ou WarCraft, onde deve-se mover unidades de exército ou unidades normais
  • 34.
  • 35.
  • 36.
  • 37. Redes Neurais  Método de solucionar problemas de inteligência artificial, construindo um sistema que tenha circuitos que simulem o cérebro humano  Comportamento  Aprendizagem,  Erros  Descobertas  São técnicas computacionais que apresentam um modelo inspirado na estrutura neural de organismos inteligentes e que adquirem conhecimento através da experiência
  • 38. Redes Neurais  As principais vantagens das redes neurais são:  Tolerância a falhas  Podem ser treinadas para reconhecerem padrões distorcidos e até mesmo incompletos  Compatibilidade com a tecnologia  Funciona em hardware de baixo custo  Auto-organização  Capacidade de aprendizagem adaptativa
  • 39. Redes Neurais  Redes neurais são formadas por vários neurônios artificiais  O número de neurônios do qual a rede é formada depende da tarefa que ela irá desempenhar, podendo variar de poucos neurônios (3 ou 4) a milhares deles.
  • 40. Redes Neurais  Em aplicações da vida real, as RNs são utilizadas no reconhecimento de padrões, categorização, aprendizado, competição, auto-organização, entre outras áreas  Toda rede neural recebe como entrada um conjunto de números reais.  O problema ocorre quando precisamos utilizar outros tipos de valores de entrada, como enumerações e valores lógicos verdadeiro/falso –o que é comum na implementação de jogos.
  • 41. Redes Neurais  Em jogos é utilizada onde os personagens necessitam de aprendizado através das escolhas do jogador  São usadas em conjunto com outras técnicas, executando tarefas que necessitam um certo grau de aprendizado ou para realizar tarefas em que as unidades controladas pelo computador sejam menos previsíveis.  Exemplo:  Simuladores de vôo  Onde as decisões do jogador podem ser mapeadas a fim de obter padrão de comportamento
  • 42. Algoritmos Genéticos  Baseada nos estudos sobre a evolução das espécies, de Charles Darwin, moldando a população de indivíduos através da sobrevivência dos membros mais aptos a viver naquele ambiente  Os seres mais “fortes” e capazes de sobreviver passam adiante suas características para a próxima geração  A geração resultante é fruto da combinação de dois cromossomos da geração atual, num processo denominado crossover
  • 43. Algoritmos Genéticos  Nessa combinação podem ocorrer mutações aleatórias, e, se estas mutações contribuírem para a sobrevivência da espécie, elas serão também passadas para as gerações futuras  No desenvolvimento de jogos, os algoritmos genéticos visam a busca de uma solução ótima para um determinado problema  Geralmente, os algoritmos genéticos são utilizados quando se deseja uma IA que atue mesmo em situações não previstas pelo desenvolvedor, como em tomadas de decisão de acordo com o comportamento do jogador
  • 44. Algoritmos Genéticos  São ótimos para resolver problemas de otimização combinatória, onde o espaço de busca é grande e complexo  Para problemas como o do pathfinding, (nos quais já existem algoritmos sólidos para sua resolução) não é recomendado o uso dos algoritmos genéticos, pois estes são mais custosos computacionalmente
  • 45. Algoritmos Genéticos  A implementação dos algoritmos genéticos em jogos pode ser dividida em quatro etapas:  1- Inicialização: primeiramente, é preciso definir um modo de codificar os cromossomos da população de criaturas de IA que iremos criar. Exemplo:  Suponha que a população de criaturas controladas pelo computador tenham que responder de acordo com a arma em uso pelo jogador(espada, arco, lança e machado), e as respostas possíveis são: usarEscudo (1), ataqueComEspada (2), fugir (3), esconder (4) e ataqueComArco (5). Então os cromossomos destas criaturas serão representados por um vetor de quatro posições, onde a posição 1 contém o identificador da ação a ser executada caso o jogador tenha uma espada, a posição 2 será executada caso o jogador tenha um arco, e assim por diante. Cada posição do vetor assume um valor de 1 a 5.
  • 46. Algoritmos Genéticos  2- Validação da aptidão  Nesta etapa do processo evolucionário, deve se avaliar quais indivíduos da população são os mais aptos a resolver o problema em questão.  Utilizamos uma função de avaliação de aptidão  Para o exemplo acima, uma boa função avaliação é contabilizar a diferença entre o dano que a criatura causou ao jogador e o dano recebido.
  • 47. Algoritmos Genéticos  3- Seleção  Nesta etapa é utilizada a função calculada na etapa anterior para que sejam escolhidos os indivíduos que participarão do processo evolucionário.  Na vida real, geralmente dois pais contribuem com seus cromossomos para a geração seguinte.  No mundo dos jogos, podemos escolher qualquer número dentre os melhores indivíduos
  • 48. Algoritmos Genéticos  4- Evolução  Nesta última etapa, serão criados os novos indivíduos que serão introduzidos no ambiente do jogo.  São selecionados os melhores indivíduos e combinados seus genes no processo de crossover.  São introduzidas mutações aleatórias
  • 49.
  • 50.  Futuramente, espera-se que a IA aprenda cada vez mais com o jogador, utilizando redes neurais artificiais e até mesmo os algoritmos genéticos, que até o momento têm sido pouco utilizados, salvo em implementações específicas.
  • 52.  A evolução dos motores e frameworks para o desenvolvimento de jogos eletrônicos seguiu a idéia de dividir e conquistar, após a divisão das áreas de engine o desenvolvedor só precisaria juntar todas as engines para construir o jogo.  Essas engines abordam diversas áreas, porém a área de IA ainda não teve um aprofundamento e consta de forma tímida em grande maioria das engines para jogos, deixando o trabalho para o desenvolvedor criar a IA  Alguns motores de jogos se destacam na ênfase que dão para a área da IA, porém ainda que timidamente:
  • 53.  Unreal Engine 3  Framework desenvolvido pela Epic Games  Especialmente feito para os novos consoles: Playstation 3, Xbox 360 e Nitendo Wii, além dos PC’s.  O sistema de IA aborda:  Suporte ao pathfiding  Comporta objetos complexos como portas e elevadores  Permite navegação entre cenários  Personagens interagem com objeto  Navegação de Alto Nível  Suporta táticas de combate  IA baseada em times  Adequada para jogos de tiro em primeira pessoa e estratégia
  • 54.  A Unreal Engine é um framework proprietário tendo três tipos de licença: · Royalty-Bearing; · Royalty-Free; · Custom.  Royalty-Bearing: possui o valor de U$$ 350.000,00 mais U$$ 50.000,00 por plataforma de desenvolvimento, além de pagar uma taxa de 3% em cima do faturamento do jogo.  Royalty-Free: possui o valor de US$750.000,00 mais US$100.000,00 por plataforma, não cobrando nenhuma taxa por jogo vendido.  Custom: essa última licença a empresa interessada deverá entrar em contato com a Epic Games para a aquisição do produto. Sendo destinada para projetos não comerciais voltados mais para aprendizado.
  • 55. Source Engine  Framework, Desenvolvido pela Valve Software para produção de jogos envolvendo animação de personagens, física, baseada em shaders e uma avançada IA.  Foi usado para o desenvolvimento de jogos famosos como Half-Life, Counter-Strike e Day of Defeat.  Os recursos da engine consistem em um sistema de entrada e saída dando o controle da IA para os desenvolvedores.  Possui um sistema de navegação onde os personagens podem correr, voar, pular.  Permite tratar eventos relacionado aos sentidos humanos e ainda adicionar relacionamentos que definem o status amigo ou inimigo
  • 56.  Reality Engine  Motor para o desenvolvimento de jogos produzido pela Artificial Studios.  Desenvolvido em cima da plataforma DirectX9 podendo rodar em DirectX7 ou 8.  Foi criada com o objetivo de competir com a Source Engine e a Unreal Engine 3, tendo uma qualidade gráfica bem superior.  Possui um suporte a IA com técnicas importantes como, pathfinding, tomada de decisões baseadas em máquinas de estados, além de dar aos agentes inteligentes a possibilidade de responder a estímulos sonoros e visuais.  A arquitetura da engine foi desenvolvida para melhorar a performance da IA
  • 57.  Reality Engine  Motor para o desenvolvimento de jogos produzido pela Artificial Studios.  Desenvolvido em cima da plataforma DirectX9 podendo rodar em DirectX7 ou 8.  Foi criada com o objetivo de competir com a Source Engine e a Unreal Engine 3, tendo uma qualidade gráfica bem superior.  Possui um suporte a IA com técnicas importantes como, pathfinding, tomada de decisões baseadas em máquinas de estados, além de dar aos agentes inteligentes a possibilidade de responder a estímulos sonoros e visuais.  A arquitetura da engine foi desenvolvida para melhorar a performance da IA
  • 60. Game AI Inteligência Artificial para Jogos Eletrônicos J. Gabriel Lima gabriel@ecomp.eng.br http://jgabriellima.wordpress.com Laboratório de Planejamento de Redes de Alto Desempenho - LPRAD Empresa Júnior de Engenharia de Computação /UFPa