Anda di halaman 1dari 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

Anda mungkin juga menyukai