Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio...

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

Transcript of Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio...

Page 1: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

Jogos em Inteligência Artificial

Inteligência Artificial I

Ricardo Borges

Cícero Augusto

Mauricio Volkweis

Professora Andrea Konzen

Torres - RS, Junho de 2003

Page 2: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

2

Sumário

Introdução 1 Objetivos 2 Histórico 3 Técnicas Atualmente Utilizadas Conclusão

Page 3: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

3

Introdução

Page 4: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

Page 5: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

Page 6: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

Page 7: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

7

2 Histórico

Jogos que marcaram a década de 70: Breakout Space Invaders Asteroids Pac Man

Page 8: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

Page 9: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

Page 10: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

Page 11: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

Page 12: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

Page 13: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

Page 14: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

Page 15: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

Page 16: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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)

Page 17: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

Page 18: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

Page 19: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

19

3.1 Máquinas de Estados Finitos

Uma HFSM são FSM hierarquizadas Usadas para modelagem de comportamentos

mais complexos

Page 20: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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 futuros3

8%

Page 21: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

________________________________________

Page 22: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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)

Page 23: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

Page 24: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

Page 25: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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)

Page 26: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

Page 27: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

Page 28: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

Page 29: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

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

Page 30: Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho.

30

Conclusão