SlideShare una empresa de Scribd logo
1 de 30
Jogos em Inteligência
      Artificial

     Inteligência Artificial I


          Ricardo Borges
          Cícero Augusto
         Mauricio Volkweis


     Professora Andrea Konzen
    Torres - RS, Junho de 2003
Sumário
   Introdução
   1 Objetivos
   2 Histórico
   3 Técnicas Atualmente Utilizadas
   Conclusão




                                       2
Introdução




             3
1 Objetivos
   Embutir uma inteligência simulada nos jogos
    através de técnicas de Inteligência Artificial
    (IA)
   Tornar o jogo mais real
   Por conseqüência, mais envolvente e
    desafiador para o jogador




                                         4
2 Histórico
   Década de 60
   Surgimento dos jogos de computador
   Versões para mainframes
   Principal preocupação era o visual
   Sem técnicas de IA
   Em Space War (1961), os jogadores se
    confrontavam em naves espaciais com
    interface em caracteres ASCII



                                     5
2 Histórico
   Década de 70
   Bom número de jogos em modo texto
   Também conhecidos como Multi User
    Dungeons (MDU’s)
   Primeiro sucesso comercial foi Pong (1972)
   Pong foi criado por Nolan Bushnell, fundador
    da Atari




                                       6
2 Histórico
   Jogos que marcaram a década de 70:
      Breakout

      Space Invaders

      Asteroids

      Pac Man




                                    7
2 Histórico
   Década de 80
   Grande diversidade de jogos
   Destaque foi Donkey Kong, que deu origem ao
    personagem Mário de Shigeru Miyamato
   O sucesso de Mário Brothers (1984) fez de
    Mário o principal mascote da Nintendo




                                     8
2 Histórico
   Década de 90
   Melhoria na interface e interação depois do
    lançamento dos computadores de 16 bits
   Surgimento de alguns jogos de simulação 3D:
      Flight Simulator

      Wing Commander




                                     9
2 Histórico
   Década de 90
   Revolução na plataforma IBM PC com o
    lançamento de Doom pela ID Software (1993)
       Inovação tecnológica
       Perspectiva em primeira pessoa
       Evolução tanto na área gráfica como de IA




                                        10
2 Histórico
   Década de 90
   Duke Nuke em 3D é lançado com ferramenta
    de IA Extensível
   A ID Software lança Quake (1996) primeiro
    jogo em 3D real
   Desaceleração na aplicação de IA em relação a
    parte gráfica




                                      11
2 Histórico
   Década de 90
   Reaperbot, um oponente criado para ser usado
    em Quake dá novo impulso ao uso de IA em
    jogos
   O jogo Unreal (1998) lançado pela Epic
    Megagames mostrou avanço no uso de IA em
    jogos usando técnicas como:
      Finite State Machines

      Fuzzy State Machines

      IA Extensível



                                     12
2 Histórico
   Atualidade
   Jogos com gráficos 3D avançados com nível
    razoável de aplicação de IA
   A IA do jogo passa a ter tanta importância
    quanto a parte gráfica
   Exemplos de jogos atuais:
      Diablo 2

      Quake III: Arena

      Unreal Tournament




                                      13
2 Histórico
   Atualidade
   Grandes orçamentos para produção de jogos
   Equipes normalmente compostas de:
      Projetistas de Jogo

      Projetistas de Fases

      Planejador de Software

      Arquiteto Chefe

      Gerente de Projeto

      Programadores

      Artistas Gráficos

      Músicos e Sonoplastas

                                    14
3 Técnicas Atualmente Utilizadas
   Máquinas de Estados Finitos
   IA Extensível
   Técnicas de Busca
   Máquinas de Aprendizado
   Vida Artificial
   Kits de Desenvolvimento




                                  15
3.1 Máquinas de Estados Finitos
   Baseadas em regras
   Implementação relativamente simples
   Técnica já consolidada no mercado
   Permite criar elementos com comportamentos
    relativamente complexos
   Foi utilizada no jogo Unreal
   Podem ser:
      Finite State Machines (FSM)

      Hierarchical Finite State Machines (HFSM)

      Fuzzy State Machines (FuSM)

                                      16
3.1 Máquinas de Estados Finitos
   Normalmente representadas por um Diagrama
    de Transição de Estados
   Uma FSM possui
      Conjunto de estados

      Estado inicial

      Conjunto de entradas

      Conjunto de saídas

      Função de transição de estado




                                   17
3.1 Máquinas de Estados Finitos
   A função de transição de estados recebe as
    entradas e o estado atual
   Retorna o conjunto de saídas e um novo
    estado que passa a ser o estado atual

    Entradas                         Saídas

    Estado Atual               Estado Futuro




                                         18
3.1 Máquinas de Estados Finitos
   Uma HFSM são FSM hierarquizadas
   Usadas para modelagem de comportamentos
    mais complexos




                                   19
3.1 Máquinas de Estados Finitos
   As FuSM’s são baseadas em cadeias de Markov
   Pesos são associados aos estados e transições
   Regras são usadas para calcular pesos de
    estados futuros

        3
                      %
             8




                                      20
3.2 IA Extensível
   Iniciada com Duke Nuke em 3D e Quake
   O jogador pode criar seus próprios
    personagens ou alterar o nível e IA dos
    existentes
   É feita através de uma linguagem de script
   A forma do script pode ser semelhante a
    linguagens como C e C++ ou até conjuntos de
    ordens passadas diretamente ao elemento do
    jogo                                  __________
                                          ________
                                          __________
                                          ____
                                          ________




                                     21
3.2 IA Extensível
 Exemplo de script:
IF
!Range(NearestEnemyOf(Myself),3) and
Range(NearestEnemyOf(Myself),8)
THEN
EquipMostDamagingMelee()
AttackReevalutate(NearestEnemyOf
  (Myself),60)



                                22
3.3 Técnicas de Busca
   Entre os algoritmos existentes, o A-star (A*) é
    o mais utilizado
   Utilizado para encontrar um melhor caminho a
    partir da posição atual
   Foi aplicado em Age of Empires II: The Age of
    Kings para análise de terrenos
   Utiliza uma função heurística para calcular a
    estimativa de custo de cada rota




                                        23
3.4 Máquinas de Aprendizado
   Estão começando a ter mais espaço em jogos
   No jogo Magic & Mayhem, são gravados dados
    das jogadas para que o sistema evite usar
    técnicas com baixo grau de efetividade
   Entre os enfoques com maior embasamento
    científico estão:
      Redes Neurais

      Algoritmos Genéticos




                                    24
3.4 Máquinas de Aprendizado
   Battle Cruiser: 3000 AD foi um dos primeiros
    jogos a usar redes neurais
   Foi desenvolvida uma linguagem
    especialmente para implementar a IA do jogo
   Denominada Artificial Intelligence and Logistics
    (AILOG), usava uma rede neural para efetuar
    tomadas de decisão e busca das melhores
    rotas
   AILOG também implementa alguns conceitos
    de lógica difusa (fuzzy logic)

                                        25
3.4 Máquinas de Aprendizado
   Cloak Dagger and DNA (1995) foi um dos
    primeiros jogos comerciais a utilizar algoritmos
    genéticos
   O jogo vêm com quatro “seqüências de DNA”
   Estas seqüências são conjuntos de
    características comportamentais dos inimigos
   A medida que cada um desses conjuntos
    participa de batalhas recebe pontos pelo
    desempenho
   Os melhores conjuntos são combinados
    gerando novos e melhores comportamentos
                                        26
3.5 Vida Artificial
   Também conhecida como A-Life (do inglês
    Artificial Life)
   Tem sua origem no estudo de seres vivos do
    mundo real
   Tenta simular este comportamento usando
    uma variedade de técnicas de IA combinadas




                                     27
3.5 Vida Artificial
   Estas técnicas são interligadas em uma
    hierarquia de tomada de decisão
   Foi utilizada nos jogos The Sims e Creatures




                                       28
3.6 Kits de Desenvolvimento
   Software Development Kits (SDK’s) ou
    simplesmente toolkits
   Bibliotecas que implementam uma ou mais
    técnicas de IA
   Podem ser específicos para jogos ou mais
    genéricos
   Agilizam o desenvolvimento da aplicação
   Exemplos:
      Motivate

      Spark!

      DirectIA
                                       29
Conclusão




            30

Más contenido relacionado

La actualidad más candente

Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...Leinylson Fontinele
 
Desenvolvimento Mobile
Desenvolvimento MobileDesenvolvimento Mobile
Desenvolvimento MobileElton Minetto
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 
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
 
Sistemas Multimídia - Aula 02 - Introdução
Sistemas Multimídia - Aula 02 - IntroduçãoSistemas Multimídia - Aula 02 - Introdução
Sistemas Multimídia - Aula 02 - IntroduçãoLeinylson Fontinele
 
Arquitetura de projetos IoT
Arquitetura de projetos IoTArquitetura de projetos IoT
Arquitetura de projetos IoTFernando Veiga
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoDaniel Brandão
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitoslicardino
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De SoftwareFelipe Goulart
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidorMarcia Abrahim
 
02 - A evolução do Microsoft Windows - v1.0
02 - A evolução do Microsoft Windows - v1.002 - A evolução do Microsoft Windows - v1.0
02 - A evolução do Microsoft Windows - v1.0César Augusto Pessôa
 
Sistemas operativos módulo2 - ms dos
Sistemas operativos   módulo2 -  ms dosSistemas operativos   módulo2 -  ms dos
Sistemas operativos módulo2 - ms dosteacherpereira
 
Aula 11 - História dos Sistemas Operacionais - Windows
Aula 11 - História dos Sistemas Operacionais - WindowsAula 11 - História dos Sistemas Operacionais - Windows
Aula 11 - História dos Sistemas Operacionais - WindowsSuzana Viana Mota
 
Aula 0. introdução ao scratch 1.4
Aula 0. introdução ao scratch 1.4Aula 0. introdução ao scratch 1.4
Aula 0. introdução ao scratch 1.4Scratch_TCC
 
Apresentação lego mindstorms
Apresentação lego mindstormsApresentação lego mindstorms
Apresentação lego mindstormsCristina Conchinha
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Cloves da Rocha
 

La actualidad más candente (20)

Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
 
Desenvolvimento Mobile
Desenvolvimento MobileDesenvolvimento Mobile
Desenvolvimento Mobile
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
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
 
Sistemas Multimídia - Aula 02 - Introdução
Sistemas Multimídia - Aula 02 - IntroduçãoSistemas Multimídia - Aula 02 - Introdução
Sistemas Multimídia - Aula 02 - Introdução
 
Arquitetura de projetos IoT
Arquitetura de projetos IoTArquitetura de projetos IoT
Arquitetura de projetos IoT
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de Informação
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitos
 
Projeto de Software
Projeto de SoftwareProjeto de Software
Projeto de Software
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidor
 
02 - A evolução do Microsoft Windows - v1.0
02 - A evolução do Microsoft Windows - v1.002 - A evolução do Microsoft Windows - v1.0
02 - A evolução do Microsoft Windows - v1.0
 
Sistemas operativos módulo2 - ms dos
Sistemas operativos   módulo2 -  ms dosSistemas operativos   módulo2 -  ms dos
Sistemas operativos módulo2 - ms dos
 
Aula 11 - História dos Sistemas Operacionais - Windows
Aula 11 - História dos Sistemas Operacionais - WindowsAula 11 - História dos Sistemas Operacionais - Windows
Aula 11 - História dos Sistemas Operacionais - Windows
 
Linguagem Dart (Google)
Linguagem Dart (Google)Linguagem Dart (Google)
Linguagem Dart (Google)
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 
Aula 0. introdução ao scratch 1.4
Aula 0. introdução ao scratch 1.4Aula 0. introdução ao scratch 1.4
Aula 0. introdução ao scratch 1.4
 
Apresentação lego mindstorms
Apresentação lego mindstormsApresentação lego mindstorms
Apresentação lego mindstorms
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1
 

Destacado

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
 
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ônicosAndré Kishimoto
 
Seminario fuzzy
Seminario fuzzySeminario fuzzy
Seminario fuzzyiaudesc
 
INFUZZY - FERRAMENTA PARA DESENVOLVIMENTO DE APLICAÇÕES DE SISTEMAS DIFUSOS
INFUZZY - FERRAMENTA PARA  DESENVOLVIMENTO DE APLICAÇÕES  DE SISTEMAS DIFUSOSINFUZZY - FERRAMENTA PARA  DESENVOLVIMENTO DE APLICAÇÕES  DE SISTEMAS DIFUSOS
INFUZZY - FERRAMENTA PARA DESENVOLVIMENTO DE APLICAÇÕES DE SISTEMAS DIFUSOSEderson Posselt
 
Máquina de Estados: Controlando o jogo, do menu à IA
Máquina de Estados: Controlando o jogo, do menu à IAMáquina de Estados: Controlando o jogo, do menu à IA
Máquina de Estados: Controlando o jogo, do menu à IAAndré Kishimoto
 
Game Design para quem não é Game Designer (versão revista e compactada - TDC2...
Game Design para quem não é Game Designer (versão revista e compactada - TDC2...Game Design para quem não é Game Designer (versão revista e compactada - TDC2...
Game Design para quem não é Game Designer (versão revista e compactada - TDC2...André Kishimoto
 
Lógica Fuzzy aplicada à Sistemas de Apoio a Decisão
Lógica Fuzzy aplicada à  Sistemas de Apoio a DecisãoLógica Fuzzy aplicada à  Sistemas de Apoio a Decisão
Lógica Fuzzy aplicada à Sistemas de Apoio a DecisãoOtávio Calaça Xavier
 
Logica fuzzy Conceitos e Aplicações
Logica fuzzy   Conceitos e AplicaçõesLogica fuzzy   Conceitos e Aplicações
Logica fuzzy Conceitos e AplicaçõesToni Esteves
 
Inteligência artificial aplicada a jogos
Inteligência artificial aplicada a jogosInteligência artificial aplicada a jogos
Inteligência artificial aplicada a jogosRafael Sakurai
 
Inteligência Artificial
Inteligência ArtificialInteligência Artificial
Inteligência ArtificialNEO Empresarial
 
Curso Inteligência Artificial - Parte 1 -
Curso Inteligência Artificial - Parte 1 -Curso Inteligência Artificial - Parte 1 -
Curso Inteligência Artificial - Parte 1 -ronaldo ramos
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 

Destacado (15)

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
 
Técnicas de ia
Técnicas de iaTécnicas de ia
Técnicas de ia
 
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
 
Seminario fuzzy
Seminario fuzzySeminario fuzzy
Seminario fuzzy
 
Aula3 input
Aula3   inputAula3   input
Aula3 input
 
Aula menus
Aula menusAula menus
Aula menus
 
INFUZZY - FERRAMENTA PARA DESENVOLVIMENTO DE APLICAÇÕES DE SISTEMAS DIFUSOS
INFUZZY - FERRAMENTA PARA  DESENVOLVIMENTO DE APLICAÇÕES  DE SISTEMAS DIFUSOSINFUZZY - FERRAMENTA PARA  DESENVOLVIMENTO DE APLICAÇÕES  DE SISTEMAS DIFUSOS
INFUZZY - FERRAMENTA PARA DESENVOLVIMENTO DE APLICAÇÕES DE SISTEMAS DIFUSOS
 
Máquina de Estados: Controlando o jogo, do menu à IA
Máquina de Estados: Controlando o jogo, do menu à IAMáquina de Estados: Controlando o jogo, do menu à IA
Máquina de Estados: Controlando o jogo, do menu à IA
 
Game Design para quem não é Game Designer (versão revista e compactada - TDC2...
Game Design para quem não é Game Designer (versão revista e compactada - TDC2...Game Design para quem não é Game Designer (versão revista e compactada - TDC2...
Game Design para quem não é Game Designer (versão revista e compactada - TDC2...
 
Lógica Fuzzy aplicada à Sistemas de Apoio a Decisão
Lógica Fuzzy aplicada à  Sistemas de Apoio a DecisãoLógica Fuzzy aplicada à  Sistemas de Apoio a Decisão
Lógica Fuzzy aplicada à Sistemas de Apoio a Decisão
 
Logica fuzzy Conceitos e Aplicações
Logica fuzzy   Conceitos e AplicaçõesLogica fuzzy   Conceitos e Aplicações
Logica fuzzy Conceitos e Aplicações
 
Inteligência artificial aplicada a jogos
Inteligência artificial aplicada a jogosInteligência artificial aplicada a jogos
Inteligência artificial aplicada a jogos
 
Inteligência Artificial
Inteligência ArtificialInteligência Artificial
Inteligência Artificial
 
Curso Inteligência Artificial - Parte 1 -
Curso Inteligência Artificial - Parte 1 -Curso Inteligência Artificial - Parte 1 -
Curso Inteligência Artificial - Parte 1 -
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Similar a Jogos IA: Uma viagem histórica de como a inteligência artificial evoluiu nos games

Utilização da Engine de Jogos CryENGINE para o Desenvolvimento de Aplicativos...
Utilização da Engine de Jogos CryENGINE para o Desenvolvimento de Aplicativos...Utilização da Engine de Jogos CryENGINE para o Desenvolvimento de Aplicativos...
Utilização da Engine de Jogos CryENGINE para o Desenvolvimento de Aplicativos...Leonardo Dalmina
 
Realidade aumentada com ia
Realidade aumentada com iaRealidade aumentada com ia
Realidade aumentada com iaAdriana Euzebio
 
Palestra Introdução ao Game Design
Palestra Introdução ao Game DesignPalestra Introdução ao Game Design
Palestra Introdução ao Game DesignLeonardo Zamprogno
 
Desenvolvimento De Jogos Na Plataforma Xna
Desenvolvimento De Jogos Na Plataforma XnaDesenvolvimento De Jogos Na Plataforma Xna
Desenvolvimento De Jogos Na Plataforma XnaEllison Leão
 
Introdução ao Desenvolvimento de Jogos
Introdução ao Desenvolvimento de JogosIntrodução ao Desenvolvimento de Jogos
Introdução ao Desenvolvimento de JogosGabriel Giordano Medina
 
A importância do software nas organizações de Jogos Digitais
A importância do software nas organizações de Jogos DigitaisA importância do software nas organizações de Jogos Digitais
A importância do software nas organizações de Jogos DigitaisKelvin Oliveira
 
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
 
Desenvolvimento de Jogos - Mercado Parte 2
Desenvolvimento de Jogos - Mercado Parte 2Desenvolvimento de Jogos - Mercado Parte 2
Desenvolvimento de Jogos - Mercado Parte 2Fabio Moura Pereira
 
Palestra “UDK no Brasil e os Caminhos para Design e Desenvolvimento de games ...
Palestra “UDK no Brasil e os Caminhos para Design e Desenvolvimento de games ...Palestra “UDK no Brasil e os Caminhos para Design e Desenvolvimento de games ...
Palestra “UDK no Brasil e os Caminhos para Design e Desenvolvimento de games ...Impacta Eventos
 
Computação grafica
Computação graficaComputação grafica
Computação graficaLucas Castro
 
Programação de jogos eletrônicos
Programação de jogos eletrônicosProgramação de jogos eletrônicos
Programação de jogos eletrônicosguest8ff100
 
Desenvolvimento de jogos e ogre 3D - Jaguariuna
Desenvolvimento de jogos e ogre 3D - JaguariunaDesenvolvimento de jogos e ogre 3D - Jaguariuna
Desenvolvimento de jogos e ogre 3D - Jaguariunajonathanblacknight
 
FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGame
FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGameFLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGame
FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGameLucas Mousinho
 
Motores para Jogos: Apresentação Laboratório de Jogos_UDF_Moa_2013
Motores para Jogos: Apresentação Laboratório de Jogos_UDF_Moa_2013Motores para Jogos: Apresentação Laboratório de Jogos_UDF_Moa_2013
Motores para Jogos: Apresentação Laboratório de Jogos_UDF_Moa_2013Dra. Camila Hamdan
 

Similar a Jogos IA: Uma viagem histórica de como a inteligência artificial evoluiu nos games (20)

Inteligência Artificial em Jogos
Inteligência Artificial em JogosInteligência Artificial em Jogos
Inteligência Artificial em Jogos
 
Utilização da Engine de Jogos CryENGINE para o Desenvolvimento de Aplicativos...
Utilização da Engine de Jogos CryENGINE para o Desenvolvimento de Aplicativos...Utilização da Engine de Jogos CryENGINE para o Desenvolvimento de Aplicativos...
Utilização da Engine de Jogos CryENGINE para o Desenvolvimento de Aplicativos...
 
Realidade aumentada com ia
Realidade aumentada com iaRealidade aumentada com ia
Realidade aumentada com ia
 
Palestra Introdução ao Game Design
Palestra Introdução ao Game DesignPalestra Introdução ao Game Design
Palestra Introdução ao Game Design
 
Desenvolvimento De Jogos Na Plataforma Xna
Desenvolvimento De Jogos Na Plataforma XnaDesenvolvimento De Jogos Na Plataforma Xna
Desenvolvimento De Jogos Na Plataforma Xna
 
Introdução ao Desenvolvimento de Jogos
Introdução ao Desenvolvimento de JogosIntrodução ao Desenvolvimento de Jogos
Introdução ao Desenvolvimento de Jogos
 
Unity3d
Unity3dUnity3d
Unity3d
 
A importância do software nas organizações de Jogos Digitais
A importância do software nas organizações de Jogos DigitaisA importância do software nas organizações de Jogos Digitais
A importância do software nas organizações de Jogos Digitais
 
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)
 
Desenvolvimento de Jogos - Mercado Parte 2
Desenvolvimento de Jogos - Mercado Parte 2Desenvolvimento de Jogos - Mercado Parte 2
Desenvolvimento de Jogos - Mercado Parte 2
 
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
 
Palestra “UDK no Brasil e os Caminhos para Design e Desenvolvimento de games ...
Palestra “UDK no Brasil e os Caminhos para Design e Desenvolvimento de games ...Palestra “UDK no Brasil e os Caminhos para Design e Desenvolvimento de games ...
Palestra “UDK no Brasil e os Caminhos para Design e Desenvolvimento de games ...
 
Computação grafica
Computação graficaComputação grafica
Computação grafica
 
Programação de jogos eletrônicos
Programação de jogos eletrônicosProgramação de jogos eletrônicos
Programação de jogos eletrônicos
 
Desenvolvimento de jogos e ogre 3D - Jaguariuna
Desenvolvimento de jogos e ogre 3D - JaguariunaDesenvolvimento de jogos e ogre 3D - Jaguariuna
Desenvolvimento de jogos e ogre 3D - Jaguariuna
 
Game AI
Game AIGame AI
Game AI
 
FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGame
FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGameFLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGame
FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGame
 
Motores para Jogos: Apresentação Laboratório de Jogos_UDF_Moa_2013
Motores para Jogos: Apresentação Laboratório de Jogos_UDF_Moa_2013Motores para Jogos: Apresentação Laboratório de Jogos_UDF_Moa_2013
Motores para Jogos: Apresentação Laboratório de Jogos_UDF_Moa_2013
 
CGPI - Aula 20/08/2018
CGPI - Aula 20/08/2018CGPI - Aula 20/08/2018
CGPI - Aula 20/08/2018
 
Game programming
Game programmingGame programming
Game programming
 

Más de Mauricio Volkweis Astiazara

Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...Mauricio Volkweis Astiazara
 
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...Mauricio Volkweis Astiazara
 
Comparação de Algoritmos Baseados em Q-Learning
Comparação de Algoritmos Baseados em Q-LearningComparação de Algoritmos Baseados em Q-Learning
Comparação de Algoritmos Baseados em Q-LearningMauricio Volkweis Astiazara
 
Sistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre SaúdeSistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre SaúdeMauricio Volkweis Astiazara
 
Sistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre SaúdeSistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre SaúdeMauricio Volkweis Astiazara
 

Más de Mauricio Volkweis Astiazara (20)

Como Programar Melhor em Java
Como Programar Melhor em JavaComo Programar Melhor em Java
Como Programar Melhor em Java
 
Sistemas Imunológicos Artificiais
Sistemas Imunológicos ArtificiaisSistemas Imunológicos Artificiais
Sistemas Imunológicos Artificiais
 
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
 
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
 
Comparação de Algoritmos Baseados em Q-Learning
Comparação de Algoritmos Baseados em Q-LearningComparação de Algoritmos Baseados em Q-Learning
Comparação de Algoritmos Baseados em Q-Learning
 
Classificador de Documentos Naïve Bayes
Classificador de Documentos Naïve BayesClassificador de Documentos Naïve Bayes
Classificador de Documentos Naïve Bayes
 
Visão Computacional
Visão ComputacionalVisão Computacional
Visão Computacional
 
Sistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre SaúdeSistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre Saúde
 
Sistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre SaúdeSistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre Saúde
 
Processamento de Imagens
Processamento de ImagensProcessamento de Imagens
Processamento de Imagens
 
Percepção, Movimento e Ação
Percepção, Movimento e AçãoPercepção, Movimento e Ação
Percepção, Movimento e Ação
 
Memória e Aprendizagem
Memória e AprendizagemMemória e Aprendizagem
Memória e Aprendizagem
 
Gerência de Requisitos
Gerência de RequisitosGerência de Requisitos
Gerência de Requisitos
 
Testes de Sistema
Testes de SistemaTestes de Sistema
Testes de Sistema
 
Telefonia Móvel
Telefonia MóvelTelefonia Móvel
Telefonia Móvel
 
Telefonia Móvel
Telefonia MóvelTelefonia Móvel
Telefonia Móvel
 
Realidade Virtual
Realidade VirtualRealidade Virtual
Realidade Virtual
 
Protótipo de Simulador de Elevadores
Protótipo de Simulador de ElevadoresProtótipo de Simulador de Elevadores
Protótipo de Simulador de Elevadores
 
Protótipo de Simulador de Elevadores
Protótipo de Simulador de ElevadoresProtótipo de Simulador de Elevadores
Protótipo de Simulador de Elevadores
 
Planejamento de Informática
Planejamento de InformáticaPlanejamento de Informática
Planejamento de Informática
 

Jogos IA: Uma viagem histórica de como a inteligência artificial evoluiu nos games

  • 1. Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho de 2003
  • 2. Sumário  Introdução  1 Objetivos  2 Histórico  3 Técnicas Atualmente Utilizadas  Conclusão 2
  • 4. 1 Objetivos  Embutir uma inteligência simulada nos jogos através de técnicas de Inteligência Artificial (IA)  Tornar o jogo mais real  Por conseqüência, mais envolvente e desafiador para o jogador 4
  • 5. 2 Histórico  Década de 60  Surgimento dos jogos de computador  Versões para mainframes  Principal preocupação era o visual  Sem técnicas de IA  Em Space War (1961), os jogadores se confrontavam em naves espaciais com interface em caracteres ASCII 5
  • 6. 2 Histórico  Década de 70  Bom número de jogos em modo texto  Também conhecidos como Multi User Dungeons (MDU’s)  Primeiro sucesso comercial foi Pong (1972)  Pong foi criado por Nolan Bushnell, fundador da Atari 6
  • 7. 2 Histórico  Jogos que marcaram a década de 70:  Breakout  Space Invaders  Asteroids  Pac Man 7
  • 8. 2 Histórico  Década de 80  Grande diversidade de jogos  Destaque foi Donkey Kong, que deu origem ao personagem Mário de Shigeru Miyamato  O sucesso de Mário Brothers (1984) fez de Mário o principal mascote da Nintendo 8
  • 9. 2 Histórico  Década de 90  Melhoria na interface e interação depois do lançamento dos computadores de 16 bits  Surgimento de alguns jogos de simulação 3D:  Flight Simulator  Wing Commander 9
  • 10. 2 Histórico  Década de 90  Revolução na plataforma IBM PC com o lançamento de Doom pela ID Software (1993)  Inovação tecnológica  Perspectiva em primeira pessoa  Evolução tanto na área gráfica como de IA 10
  • 11. 2 Histórico  Década de 90  Duke Nuke em 3D é lançado com ferramenta de IA Extensível  A ID Software lança Quake (1996) primeiro jogo em 3D real  Desaceleração na aplicação de IA em relação a parte gráfica 11
  • 12. 2 Histórico  Década de 90  Reaperbot, um oponente criado para ser usado em Quake dá novo impulso ao uso de IA em jogos  O jogo Unreal (1998) lançado pela Epic Megagames mostrou avanço no uso de IA em jogos usando técnicas como:  Finite State Machines  Fuzzy State Machines  IA Extensível 12
  • 13. 2 Histórico  Atualidade  Jogos com gráficos 3D avançados com nível razoável de aplicação de IA  A IA do jogo passa a ter tanta importância quanto a parte gráfica  Exemplos de jogos atuais:  Diablo 2  Quake III: Arena  Unreal Tournament 13
  • 14. 2 Histórico  Atualidade  Grandes orçamentos para produção de jogos  Equipes normalmente compostas de:  Projetistas de Jogo  Projetistas de Fases  Planejador de Software  Arquiteto Chefe  Gerente de Projeto  Programadores  Artistas Gráficos  Músicos e Sonoplastas 14
  • 15. 3 Técnicas Atualmente Utilizadas  Máquinas de Estados Finitos  IA Extensível  Técnicas de Busca  Máquinas de Aprendizado  Vida Artificial  Kits de Desenvolvimento 15
  • 16. 3.1 Máquinas de Estados Finitos  Baseadas em regras  Implementação relativamente simples  Técnica já consolidada no mercado  Permite criar elementos com comportamentos relativamente complexos  Foi utilizada no jogo Unreal  Podem ser:  Finite State Machines (FSM)  Hierarchical Finite State Machines (HFSM)  Fuzzy State Machines (FuSM) 16
  • 17. 3.1 Máquinas de Estados Finitos  Normalmente representadas por um Diagrama de Transição de Estados  Uma FSM possui  Conjunto de estados  Estado inicial  Conjunto de entradas  Conjunto de saídas  Função de transição de estado 17
  • 18. 3.1 Máquinas de Estados Finitos  A função de transição de estados recebe as entradas e o estado atual  Retorna o conjunto de saídas e um novo estado que passa a ser o estado atual Entradas Saídas Estado Atual Estado Futuro 18
  • 19. 3.1 Máquinas de Estados Finitos  Uma HFSM são FSM hierarquizadas  Usadas para modelagem de comportamentos mais complexos 19
  • 20. 3.1 Máquinas de Estados Finitos  As FuSM’s são baseadas em cadeias de Markov  Pesos são associados aos estados e transições  Regras são usadas para calcular pesos de estados futuros 3 % 8 20
  • 21. 3.2 IA Extensível  Iniciada com Duke Nuke em 3D e Quake  O jogador pode criar seus próprios personagens ou alterar o nível e IA dos existentes  É feita através de uma linguagem de script  A forma do script pode ser semelhante a linguagens como C e C++ ou até conjuntos de ordens passadas diretamente ao elemento do jogo __________ ________ __________ ____ ________ 21
  • 22. 3.2 IA Extensível  Exemplo de script: IF !Range(NearestEnemyOf(Myself),3) and Range(NearestEnemyOf(Myself),8) THEN EquipMostDamagingMelee() AttackReevalutate(NearestEnemyOf (Myself),60) 22
  • 23. 3.3 Técnicas de Busca  Entre os algoritmos existentes, o A-star (A*) é o mais utilizado  Utilizado para encontrar um melhor caminho a partir da posição atual  Foi aplicado em Age of Empires II: The Age of Kings para análise de terrenos  Utiliza uma função heurística para calcular a estimativa de custo de cada rota 23
  • 24. 3.4 Máquinas de Aprendizado  Estão começando a ter mais espaço em jogos  No jogo Magic & Mayhem, são gravados dados das jogadas para que o sistema evite usar técnicas com baixo grau de efetividade  Entre os enfoques com maior embasamento científico estão:  Redes Neurais  Algoritmos Genéticos 24
  • 25. 3.4 Máquinas de Aprendizado  Battle Cruiser: 3000 AD foi um dos primeiros jogos a usar redes neurais  Foi desenvolvida uma linguagem especialmente para implementar a IA do jogo  Denominada Artificial Intelligence and Logistics (AILOG), usava uma rede neural para efetuar tomadas de decisão e busca das melhores rotas  AILOG também implementa alguns conceitos de lógica difusa (fuzzy logic) 25
  • 26. 3.4 Máquinas de Aprendizado  Cloak Dagger and DNA (1995) foi um dos primeiros jogos comerciais a utilizar algoritmos genéticos  O jogo vêm com quatro “seqüências de DNA”  Estas seqüências são conjuntos de características comportamentais dos inimigos  A medida que cada um desses conjuntos participa de batalhas recebe pontos pelo desempenho  Os melhores conjuntos são combinados gerando novos e melhores comportamentos 26
  • 27. 3.5 Vida Artificial  Também conhecida como A-Life (do inglês Artificial Life)  Tem sua origem no estudo de seres vivos do mundo real  Tenta simular este comportamento usando uma variedade de técnicas de IA combinadas 27
  • 28. 3.5 Vida Artificial  Estas técnicas são interligadas em uma hierarquia de tomada de decisão  Foi utilizada nos jogos The Sims e Creatures 28
  • 29. 3.6 Kits de Desenvolvimento  Software Development Kits (SDK’s) ou simplesmente toolkits  Bibliotecas que implementam uma ou mais técnicas de IA  Podem ser específicos para jogos ou mais genéricos  Agilizam o desenvolvimento da aplicação  Exemplos:  Motivate  Spark!  DirectIA 29