SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
Inteligência Artificial
Algumas Técnicas e Aplicações em Jogos
Crislânio de Souza Macêdo
Macilio da Silva Ferreira
Sumário
1. Introdução
2. Breve Histórico
3. Objetivos
4. Algumas Técnicas
5. Exemplos
6. Referências
Introdução
John McCarthy em 1956 definiu Inteligência Artificial como “a ciência e engenharia capaz
de construir máquinas inteligentes”.
O termo “IA em jogos” (ou “Game AI”) é usado amplamente, para a representação e
controle de comportamento de personagens não controlados pelo jogador no jogo
(Non-player characters - NPCs). Utilizado para diferenciar o significado do termo IA em
jogos do significado do termo IA no meio acadêmico.
Breve Histórico
● Década de 60
Surgimento dos jogos por computador
Principal preocupação era com o visual
Sem técnicas de IA
Breve Histórico
● Década de 70
Número maior de jogos em modo texto também conhecidos como
Multi User Dungeons (MDU’s)
Primeiro sucesso comercial foi Pong (1972) (Do mesmo fundador da Atari)
Breve Histórico
● Década de 90
Melhoria na interface e interação depois do lançamento dos computadores de 16 bits
Evolução tanto na área gráfica como de IA
Breve Histórico
● Atualmente
A IA do jogo passa a ter tanta importância quanto a parte gráfica
Objetivos
Descrever brevemente algumas técnicas de IA aplicadas a jogos
eletrônicos e mostrar exemplos.
Algumas Técnicas
● Máquina de Estados Finitos
● Algoritmos Genéticos
● Planejamento
● MultiAgentes
Máquina de Estados Finitos
Basicamente uma Máquina de Estados é composta por um conjunto de
estados e por um conjunto de regras de transições entre estes estados
(Neste caso, normalmente refletem algum evento no mundo do jogo).
Máquina de Estados Finitos
Representa através dos estados as ações possíveis ao agente
inteligente, de forma que as regras de transição representam as
condições que devem ser verificadas para avaliar se o agente deve
mudar de estado.
Máquina de Estados Finitos
Algoritmos Genéticos
Algoritmos genéticos são uma classe particular de algoritmos
evolutivos que usam técnicas inspiradas pela biologia evolutiva
como hereditariedade, mutação, seleção natural e recombinação
(ou crossing over).
Algoritmos Genéticos
Algoritmos Genéticos
Frequentemente usados, possibilita novos tipos de Gameplay:
jogador treinar NPCs.
Criar um modelo do jogo para competir com outros.
Planejamento
Em Inteligência Artificial, Planejamento é a tarefa de propor uma sequência de ações
que alcançarão um determinado objetivo.
Ao se utilizar um sistema de planejamento de ações orientado a objetivos (goal oriented
action planning - GOAP) em um jogo, é possível permitir aos NPCs decidir não só o que
fazer em um certo momento, mas também como fazer. O personagem formula seus
próprios planos, tem comportamentos menos repetitivos e menos previsíveis, além de
poder adaptar suas ações específicas da situação corrente.
Planejamento
Definições:
Ação:
É um comportamento indivisível que contribui para a satisfação de um ou mais objetivos.
Possui um conjunto de efeitos e pré-condições. Os efeitos definem como a execução da
ação modifica o estado do mundo e as pré-condições definem aspectos do estado do
mundo que devem ser verdade no momento da execução da ação.
Planejamento
Objetivo:
Sub-estado do ambiente do jogo (acoplado ao personagem ou ao mundo) que um plano
tenta alcançar e que quando é alcançado com sucesso encerrar o comportamento
iniciado para alcançá-lo.
Plano:
É uma sequência válida de ações, que quando executadas a partir do estado atual
permite ao agente inteligente alcançar o objetivo.
Planejamento
Funcionamento de um Sistema de Planejamento:
Recebe como entrada o estado atual do mundo do jogo, objetivos a serem satisfeitos e o
conjunto das ações que podem ser executadas e gera um plano.
A idéia é então criar um plano em tempo real passando um ou mais objetivos para o
planejador, caso um plano seja encontrado o mesmo é retornado ao agente. Com o
plano, o agente pode seguí-lo até o fim, até que o plano seja invalidado por mudanças no
mundo ou até o surgimento de outro objetivo de maior prioridade ocasionar a criação de
um novo plano.
MultiAgentes
O que é um agente? é uma entidade real ou virtual
que está inserida em um ambiente
que pode perceber o seu ambiente
que pode agir no ambiente
que pode se comunicar com outros agentes
que tem um comportamento autônomo, conseqüência de suas observações, de seu
conhecimento e de suas interações com os outros agentes
MultiAgentes
Outras características de agentes
Continuidade temporal
Mobilidade
Aprendizagem
Cooperação
entre outros …
MultiAgentes
Tipos de Sistemas MultiAgentes
Agentes Cognitivos
● Comunicação direta
● Organização social
● Poucos agentes
Agentes Reativos
● Comunicação indireta
● Organização etológica
● Muitos agentes
Exemplos
Máquina de Estados Finitos: Pacman
Pac-Man é baseado em máquina de estados: dispersar, caçar e
fugir. Dispersar: responsável por mover os personagens em direção
aos cantos e andar em círculos. Caçar:1.movimenta-se de acordo
com a posição do Pac-Man. Fugir : é acionada, quando o usuário
“come” uma pastilha de “força”.
Exemplos
Máquina de Estados Finitos
Exemplos
Em Resident Evil 4, há muitas partes em que o jogador tem a possibilidade de quebrar caixas de madeira que possuem (ou não)
equipamentos ou artefatos dentro. Essas caixas também representam uma das características das Máquinas de Estado, já que possui
estados distintos: Antes de ser quebrada e após ser quebrada, além do estado em que reproduz a animação ao ser quebrada.
Exemplos
O lutador possui seus movimentos mapeados em estados. Dependendo do estado do oponente (atacando, defendendo, recuando) o NPC irá
efetuar uma estratégia de luta ou combinação de movimentos.Se você já deu um “hadouken” saiba que ele também está dentro de uma
FSM.
Exemplos
Algoritmos Genéticos
Exemplos
Algoritmos Genéticos - StarCraft
Exemplos
Planejamento
F.E.A.R. é um jogo eletrônico de tiro em primeira pessoa produzido pela Monolith. O enredo tem como base vários acontecimentos
sobrenaturais. A sigla F.E.A.R. significa First Encounter Assault Recon.
Exemplos
Exemplos
MultiAgentes
Referências
https://www.slideshare.net/mauricioastiazara/inteligncia-artificial-em-jogos-14301019
https://image.slidesharecdn.com/tcnicasdeintelignciaartificialemjogoseletrnicoss-130620074703-phpapp02/95/tcni
cas-de-inteligncia-artificial-em-jogos-eletrnicoss-20-638.jpg?cb=1371714682
http://www.matematicauva.org/semana2011/palestras/carpegiani.pdf
https://www.maxwell.vrac.puc-rio.br/7861/7861_3.PDF
https://in.pinterest.com/pin/214765475959678536/
https://pt.wikipedia.org/wiki/Algoritmo_gen%C3%A9tico
Referências
https://pt.slideshare.net/mauricioastiazara/inteligncia-artificial-em-jogos-14301019
https://pt.slideshare.net/rafaelsakurai/inteligncia-artificial-aplicada-a-jogos
https://pt.slideshare.net/rogerritter/tcnicas-de-inteligncia-artificial-em-jogos-eletrnicoss
https://pt.slideshare.net/AdrianoGil/panorama-da-inteligncia-artificial-aplicada-a-jogos
https://pt.slideshare.net/rogerritter/tcnicas-de-inteligncia-artificial-em-jogos-eletrnicoss
https://pt.slideshare.net/andreldm/tcnicas-de-ia
http://www.karenreis.com.br/pdf/andre_kishimoto.pdf
Referências
http://apocalyx.sourceforge.net/guntactyx/downloads.php
http://slideplayer.com.br/slide/359361/
http://alumni.media.mit.edu/~jorkin/goap.html
“Game Over!!!”
Obrigado!!!
Inteligência Artificial
Algumas Técnicas e Aplicações em Jogos
Crislânio de Souza Macêdo
Macilio da Silva Ferreira

Mais conteúdo relacionado

Semelhante a IA em Jogos

Criação de Jogos 2D com Técnicas 3D Utilizando Python e C
Criação de Jogos 2D com Técnicas 3D Utilizando Python e CCriação de Jogos 2D com Técnicas 3D Utilizando Python e C
Criação de Jogos 2D com Técnicas 3D Utilizando Python e CLeinylson Fontinele
 
Educating the fighter: buttonmashing, seeing, being. Kurt Squire (2005)
Educating the fighter:  buttonmashing,  seeing, being. Kurt Squire (2005)Educating the fighter:  buttonmashing,  seeing, being. Kurt Squire (2005)
Educating the fighter: buttonmashing, seeing, being. Kurt Squire (2005)Raquel Salcedo Gomes
 
Aspectos Criativos do Design de Jogos
Aspectos Criativos do Design de JogosAspectos Criativos do Design de Jogos
Aspectos Criativos do Design de JogosNelson Zagalo
 
4 game design_atomos_do_game_unibero_2010
4 game design_atomos_do_game_unibero_20104 game design_atomos_do_game_unibero_2010
4 game design_atomos_do_game_unibero_2010Kao Tokio
 
Palestra Introdução ao Game Design
Palestra Introdução ao Game DesignPalestra Introdução ao Game Design
Palestra Introdução ao Game DesignLeonardo Zamprogno
 
Palestra Game Design
Palestra Game DesignPalestra Game Design
Palestra Game Designvincevader
 
Fundamentos da Inteligencia Artificial :: Prof Dr. Carlos Estombelo
Fundamentos da Inteligencia Artificial :: Prof Dr. Carlos EstombeloFundamentos da Inteligencia Artificial :: Prof Dr. Carlos Estombelo
Fundamentos da Inteligencia Artificial :: Prof Dr. Carlos EstombeloRogerio P C do Nascimento
 
Júlio Pescuite - Advanced Topics for Game Developers
Júlio Pescuite - Advanced Topics for Game DevelopersJúlio Pescuite - Advanced Topics for Game Developers
Júlio Pescuite - Advanced Topics for Game DevelopersiMasters
 
Frameworks Formais de Game Design.
Frameworks Formais de Game Design.Frameworks Formais de Game Design.
Frameworks Formais de Game Design.Pedro Emil Freme
 
Gifted Game Bible
Gifted   Game BibleGifted   Game Bible
Gifted Game Biblemaikonsm
 

Semelhante a IA em Jogos (12)

Criação de Jogos 2D com Técnicas 3D Utilizando Python e C
Criação de Jogos 2D com Técnicas 3D Utilizando Python e CCriação de Jogos 2D com Técnicas 3D Utilizando Python e C
Criação de Jogos 2D com Técnicas 3D Utilizando Python e C
 
Educating the fighter: buttonmashing, seeing, being. Kurt Squire (2005)
Educating the fighter:  buttonmashing,  seeing, being. Kurt Squire (2005)Educating the fighter:  buttonmashing,  seeing, being. Kurt Squire (2005)
Educating the fighter: buttonmashing, seeing, being. Kurt Squire (2005)
 
Aspectos Criativos do Design de Jogos
Aspectos Criativos do Design de JogosAspectos Criativos do Design de Jogos
Aspectos Criativos do Design de Jogos
 
4 game design_atomos_do_game_unibero_2010
4 game design_atomos_do_game_unibero_20104 game design_atomos_do_game_unibero_2010
4 game design_atomos_do_game_unibero_2010
 
Palestra Introdução ao Game Design
Palestra Introdução ao Game DesignPalestra Introdução ao Game Design
Palestra Introdução ao Game Design
 
Curso Dia 02
Curso Dia 02Curso Dia 02
Curso Dia 02
 
Cp game design
Cp game designCp game design
Cp game design
 
Palestra Game Design
Palestra Game DesignPalestra Game Design
Palestra Game Design
 
Fundamentos da Inteligencia Artificial :: Prof Dr. Carlos Estombelo
Fundamentos da Inteligencia Artificial :: Prof Dr. Carlos EstombeloFundamentos da Inteligencia Artificial :: Prof Dr. Carlos Estombelo
Fundamentos da Inteligencia Artificial :: Prof Dr. Carlos Estombelo
 
Júlio Pescuite - Advanced Topics for Game Developers
Júlio Pescuite - Advanced Topics for Game DevelopersJúlio Pescuite - Advanced Topics for Game Developers
Júlio Pescuite - Advanced Topics for Game Developers
 
Frameworks Formais de Game Design.
Frameworks Formais de Game Design.Frameworks Formais de Game Design.
Frameworks Formais de Game Design.
 
Gifted Game Bible
Gifted   Game BibleGifted   Game Bible
Gifted Game Bible
 

Mais de CRISLANIO MACEDO

Record Deduplication and Record Linkage
Record Deduplication and  Record LinkageRecord Deduplication and  Record Linkage
Record Deduplication and Record LinkageCRISLANIO MACEDO
 
Pitch selo sebrae - Hackathon 2019
Pitch selo sebrae - Hackathon 2019Pitch selo sebrae - Hackathon 2019
Pitch selo sebrae - Hackathon 2019CRISLANIO MACEDO
 
Search based gravitational algorithm
Search based gravitational algorithmSearch based gravitational algorithm
Search based gravitational algorithmCRISLANIO MACEDO
 
ANÁLISE ESTATÍSTICA DA RELAÇÃO ENTRE EVASÃO E AS RESPOSTAS DO QUESTIONÁRIO PA...
ANÁLISE ESTATÍSTICA DA RELAÇÃO ENTRE EVASÃO E AS RESPOSTAS DO QUESTIONÁRIO PA...ANÁLISE ESTATÍSTICA DA RELAÇÃO ENTRE EVASÃO E AS RESPOSTAS DO QUESTIONÁRIO PA...
ANÁLISE ESTATÍSTICA DA RELAÇÃO ENTRE EVASÃO E AS RESPOSTAS DO QUESTIONÁRIO PA...CRISLANIO MACEDO
 
Integración de métodos ágiles a una empresa de nivel 5 cmmi dev- un caso de e...
Integración de métodos ágiles a una empresa de nivel 5 cmmi dev- un caso de e...Integración de métodos ágiles a una empresa de nivel 5 cmmi dev- un caso de e...
Integración de métodos ágiles a una empresa de nivel 5 cmmi dev- un caso de e...CRISLANIO MACEDO
 
JGROUPS- A Toolkit for Reliable Multicast Communication
JGROUPS- A Toolkit for Reliable Multicast CommunicationJGROUPS- A Toolkit for Reliable Multicast Communication
JGROUPS- A Toolkit for Reliable Multicast CommunicationCRISLANIO MACEDO
 
Artigo ia traps, invariants, and dead-ends
Artigo ia   traps, invariants, and dead-endsArtigo ia   traps, invariants, and dead-ends
Artigo ia traps, invariants, and dead-endsCRISLANIO MACEDO
 
Análise dos dados abertos do governo federal
Análise dos dados abertos do governo federalAnálise dos dados abertos do governo federal
Análise dos dados abertos do governo federalCRISLANIO MACEDO
 
ANÁLISE ESTATÍSTICA DA RELAÇÃO ENTRE EVASÃO E AS RESPOSTAS DO QUESTIONÁRIO PA...
ANÁLISE ESTATÍSTICA DA RELAÇÃO ENTRE EVASÃO E AS RESPOSTAS DO QUESTIONÁRIO PA...ANÁLISE ESTATÍSTICA DA RELAÇÃO ENTRE EVASÃO E AS RESPOSTAS DO QUESTIONÁRIO PA...
ANÁLISE ESTATÍSTICA DA RELAÇÃO ENTRE EVASÃO E AS RESPOSTAS DO QUESTIONÁRIO PA...CRISLANIO MACEDO
 
Sistema de denúncia de desperdício de água - Etapa de Avaliação
Sistema de denúncia de desperdício de água - Etapa de AvaliaçãoSistema de denúncia de desperdício de água - Etapa de Avaliação
Sistema de denúncia de desperdício de água - Etapa de AvaliaçãoCRISLANIO MACEDO
 
Sistema de denúncia de desperdício de água - Etapa de Síntese
Sistema de denúncia de desperdício de água - Etapa de SínteseSistema de denúncia de desperdício de água - Etapa de Síntese
Sistema de denúncia de desperdício de água - Etapa de SínteseCRISLANIO MACEDO
 
Haskell aula7 libs_intro_arquivos
Haskell aula7 libs_intro_arquivosHaskell aula7 libs_intro_arquivos
Haskell aula7 libs_intro_arquivosCRISLANIO MACEDO
 
Haskell aula5 f.ordem-sup_modulos-cifra_cesar
Haskell aula5 f.ordem-sup_modulos-cifra_cesarHaskell aula5 f.ordem-sup_modulos-cifra_cesar
Haskell aula5 f.ordem-sup_modulos-cifra_cesarCRISLANIO MACEDO
 

Mais de CRISLANIO MACEDO (20)

Record Deduplication and Record Linkage
Record Deduplication and  Record LinkageRecord Deduplication and  Record Linkage
Record Deduplication and Record Linkage
 
Pitch selo sebrae - Hackathon 2019
Pitch selo sebrae - Hackathon 2019Pitch selo sebrae - Hackathon 2019
Pitch selo sebrae - Hackathon 2019
 
Pitch Medbloc
Pitch MedblocPitch Medbloc
Pitch Medbloc
 
Search based gravitational algorithm
Search based gravitational algorithmSearch based gravitational algorithm
Search based gravitational algorithm
 
ANÁLISE ESTATÍSTICA DA RELAÇÃO ENTRE EVASÃO E AS RESPOSTAS DO QUESTIONÁRIO PA...
ANÁLISE ESTATÍSTICA DA RELAÇÃO ENTRE EVASÃO E AS RESPOSTAS DO QUESTIONÁRIO PA...ANÁLISE ESTATÍSTICA DA RELAÇÃO ENTRE EVASÃO E AS RESPOSTAS DO QUESTIONÁRIO PA...
ANÁLISE ESTATÍSTICA DA RELAÇÃO ENTRE EVASÃO E AS RESPOSTAS DO QUESTIONÁRIO PA...
 
Integración de métodos ágiles a una empresa de nivel 5 cmmi dev- un caso de e...
Integración de métodos ágiles a una empresa de nivel 5 cmmi dev- un caso de e...Integración de métodos ágiles a una empresa de nivel 5 cmmi dev- un caso de e...
Integración de métodos ágiles a una empresa de nivel 5 cmmi dev- un caso de e...
 
JGROUPS- A Toolkit for Reliable Multicast Communication
JGROUPS- A Toolkit for Reliable Multicast CommunicationJGROUPS- A Toolkit for Reliable Multicast Communication
JGROUPS- A Toolkit for Reliable Multicast Communication
 
Artigo ia traps, invariants, and dead-ends
Artigo ia   traps, invariants, and dead-endsArtigo ia   traps, invariants, and dead-ends
Artigo ia traps, invariants, and dead-ends
 
Análise dos dados abertos do governo federal
Análise dos dados abertos do governo federalAnálise dos dados abertos do governo federal
Análise dos dados abertos do governo federal
 
ANÁLISE ESTATÍSTICA DA RELAÇÃO ENTRE EVASÃO E AS RESPOSTAS DO QUESTIONÁRIO PA...
ANÁLISE ESTATÍSTICA DA RELAÇÃO ENTRE EVASÃO E AS RESPOSTAS DO QUESTIONÁRIO PA...ANÁLISE ESTATÍSTICA DA RELAÇÃO ENTRE EVASÃO E AS RESPOSTAS DO QUESTIONÁRIO PA...
ANÁLISE ESTATÍSTICA DA RELAÇÃO ENTRE EVASÃO E AS RESPOSTAS DO QUESTIONÁRIO PA...
 
Sistema de denúncia de desperdício de água - Etapa de Avaliação
Sistema de denúncia de desperdício de água - Etapa de AvaliaçãoSistema de denúncia de desperdício de água - Etapa de Avaliação
Sistema de denúncia de desperdício de água - Etapa de Avaliação
 
Sistema de denúncia de desperdício de água - Etapa de Síntese
Sistema de denúncia de desperdício de água - Etapa de SínteseSistema de denúncia de desperdício de água - Etapa de Síntese
Sistema de denúncia de desperdício de água - Etapa de Síntese
 
Resolução lista2
Resolução lista2Resolução lista2
Resolução lista2
 
Resoluçãohaskell2
Resoluçãohaskell2Resoluçãohaskell2
Resoluçãohaskell2
 
Haskell ufc quixadalista2
Haskell ufc quixadalista2Haskell ufc quixadalista2
Haskell ufc quixadalista2
 
Haskell ufc quixadalista1
Haskell ufc quixadalista1Haskell ufc quixadalista1
Haskell ufc quixadalista1
 
Haskell motivação
Haskell motivaçãoHaskell motivação
Haskell motivação
 
Haskell motivaçãoaula2
Haskell motivaçãoaula2Haskell motivaçãoaula2
Haskell motivaçãoaula2
 
Haskell aula7 libs_intro_arquivos
Haskell aula7 libs_intro_arquivosHaskell aula7 libs_intro_arquivos
Haskell aula7 libs_intro_arquivos
 
Haskell aula5 f.ordem-sup_modulos-cifra_cesar
Haskell aula5 f.ordem-sup_modulos-cifra_cesarHaskell aula5 f.ordem-sup_modulos-cifra_cesar
Haskell aula5 f.ordem-sup_modulos-cifra_cesar
 

IA em Jogos