Inteligência Artificial aplicada a Jogos Digitais
Paulo Bruno de Sousa Serafim
CRAb
Computação Gráfica, Realidade Virtual, Animação e Visualização Científica
Deep Reinforcement Learning para Jogos
Deep Learning + Aprendizado por Reforço
Minha Pesquisa
youtu.be/JTNZCXO1r2Y
Vs.
Indústria
Restrições
Diversão Praticidade Novidades
Melhor solução
Problemas complexos
Academia
Jogos de tabuleiro
Jogos de tabuleiro
Chinook (Jonathan Schaeffer) vs Marion Tinsley (1994)
GM Kasparov 2.5 vs 3.5 Deep Blue (1997)
Komodo Chess Engine 2.5 x 1.5 GM Nakamura (2016)
AlphaGo 4 vs 1 Lee Sedol
Fator de ramificação (b) = 3
Fator de ramificação (b) = 3
Profundidade (d) = 2
Fator de ramificação (b) = 3
Profundidade (d) = 2
Complexidade em
relação ao tempo = O(b
d)
b = ~13.34 d = ~18
Espaço de busca = ~1019
b = ~35 d = ~100
Espaço de busca = ~10120
b = ~300 d = ~150
Espaço de busca = ~10360
b = ~10100 d = ?
Espaço de busca = ???
O que é
Inteligência Artificial
para
Jogos?
(comerciais)
Cor
Pul
Fug
Peg em Ati
Aba
Chu
Ag u r Es o d
Pro r
Comportamento
C o m
p l e x i d a d e
D i f i c u l d a d e
Fácil
C o m
p l e x i d a d e
Fácil
C o m
p l e x i d a d e
Difícil Fácil
C o m
p l e x i d a d e
Difícil Fácil
C o m
p l e x i d a d e
Headshot = 1/3
Difícil Fácil
C o m
p l e x i d a d e
Ideal Difícil
Fácil
C o m
p l e x i d a d e
Ideal Difícil
Fácil
C o m
p l e x i d a d e
Ideal Difícil
Fácil
C o m
p l e x i d a d e
Ideal Difícil
Fácil
C o m
p l e x i d a d e
pode ser
“burro”
pode ser
“roubado”
Remediável
Morte
do jogo
“Boa o suficiente para ser desafiadora,
Ruim o suficiente para ser divertida”.
Frames Per
Second
60
Frames Per
Second
60
=
60 frames 1 segundo
Frames Per
Second
60
x
1
segundo60
frames1000
milissegundos1
segundox
1
segundo60
frames1000
milissegundos1
segundo1 frame 1000
milissegundos60
frames1
frame
16.7
milissegundos
IA
Física
Renderização
Input
IA
Renderização IA
Física Renderização
Input
Física
Renderização
Física IA
Renderização
Input
IA
Física
Input
IA
Física Renderização
Input
Input
IA
Renderização
Input
Física
IA Física
Input
Física
Renderização
Física Input
Renderização
Input
Input
Renderização
Input IA
Renderização IA
Física Renderização
Input
Física
Renderização
Física IA
Renderização
Input
IA
Física
Input
IA
Física Renderização
Input
Input
IA
Renderização
Input
Física Renderização
IA
Renderização IA Renderização IA
Física Input
Física Física
IA Física
Input
Física
Renderização
Física Input
Renderização
Input
Input
Renderização
Input IA
Renderização IA
Física Renderização
Input
Física
Renderização
Física IA
Renderização
Input
IA
Física
Input
IA
Física Renderização
Input
Input
IA
Renderização
Input
Física Renderização
IA
Renderização IA Renderização IA
Física Input
Física
Física IA
Física Input
Física Renderização
Input IA
Renderização
Física
Renderização IA Input IA Input Física
Renderização
Renderização
Renderização
IA Renderização
IA
Renderização Input Física Física Física
Renderização
Input
Input
IA
Física Renderização IA Física IA
Input
Renderização
Renderização Renderização
Física Física Input
Renderização
16.7
milissegundos
Exemplos de Técnicas
utilizadas
Árvores de decisão
?
? ? ?
? ?
?
Máquina de Estados
Finitos
PATROL
ALERT EVASION
ATTACK
Player in FOV
0%
CHASE
0%
Seeing Player Lost Player
Combinação de diversas técnicas:
Árvores de decisão (Decision Trees) Máquinas de Estado Finito (FSM) Funções de Utilidade
Árvores de Comportamento (Behavior Trees) Lógica Fuzzy
Sistemas de Markov
...
No mundo
real
Combinação de diversas técnicas:
Árvores de decisão (Decision Trees) Máquinas de Estado Finito (FSM) Funções de Utilidade
Árvores de Comportamento (Behavior Trees) Lógica Fuzzy
Sistemas de Markov
...
No mundo
real E isso é só para
Tomada de decisão!
Movimentação Pathfinding
Tática e Estratégia Aprendizado
Arquiteturas de IA ...
No mundo
real
Como fazer a IA do
meu jogo ?
Qual filme devo assistir hoje?
Quais são as restrições?
Quais os principais objetivos?
Quais são os comportamentos
esperados?
Quantos recursos estão
disponíveis?