SlideShare uma empresa 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

Mais conteúdo relacionado

Mais procurados

1 requisitos funcionais e não funcionais ok
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais ok
Marcos Morais de Sousa
 
Inteligência Artificial
Inteligência ArtificialInteligência Artificial
Inteligência Artificial
NEO Empresarial
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
elliando dias
 

Mais procurados (20)

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
 
Engenharia de Software para Jogos
Engenharia de  Software para JogosEngenharia de  Software para Jogos
Engenharia de Software para Jogos
 
Aula 03 - Hardware e Software
Aula 03 - Hardware e SoftwareAula 03 - Hardware e Software
Aula 03 - Hardware e Software
 
1 requisitos funcionais e não funcionais ok
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais ok
 
Introdução sobre desenvolvimento de games
Introdução sobre desenvolvimento de gamesIntrodução sobre desenvolvimento de games
Introdução sobre desenvolvimento de games
 
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
 
exercicio-Organização e estrutura de Computadores
exercicio-Organização e estrutura de Computadoresexercicio-Organização e estrutura de Computadores
exercicio-Organização e estrutura de Computadores
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
 
Maquinas multinivel
Maquinas multinivelMaquinas multinivel
Maquinas multinivel
 
Inteligência Artificial
Inteligência ArtificialInteligência Artificial
Inteligência Artificial
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Orientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - ExercíciosOrientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - Exercícios
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
Apostila Jogos
Apostila Jogos Apostila Jogos
Apostila Jogos
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - Algoritmos
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Computação Gráfica
Computação GráficaComputação Gráfica
Computação Gráfica
 

Destaque

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
Ederson Posselt
 
Logica fuzzy Conceitos e Aplicações
Logica fuzzy   Conceitos e AplicaçõesLogica fuzzy   Conceitos e Aplicações
Logica fuzzy Conceitos e Aplicações
Toni Esteves
 

Destaque (13)

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
 
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
 
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
 

Semelhante a 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...
Leonardo Dalmina
 
Realidade aumentada com ia
Realidade aumentada com iaRealidade aumentada com ia
Realidade aumentada com ia
Adriana Euzebio
 
Desenvolvimento De Jogos Na Plataforma Xna
Desenvolvimento De Jogos Na Plataforma XnaDesenvolvimento De Jogos Na Plataforma Xna
Desenvolvimento De Jogos Na Plataforma Xna
Ellison Leão
 
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
 
Programação de jogos eletrônicos
Programação de jogos eletrônicosProgramação de jogos eletrônicos
Programação de jogos eletrônicos
guest8ff100
 
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
Dra. Camila Hamdan
 

Semelhante a Inteligência Artificial em Jogos (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
 

Mais 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
 
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
Mauricio Volkweis Astiazara
 

Mais 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
 

Último

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Último (6)

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
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
 
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
 
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 - 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
 
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
 

Inteligência Artificial em Jogos

  • 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