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
Estado Atual
Saídas
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
Download

Jogos IA - Pasta do Mau