Documente Academic
Documente Profesional
Documente Cultură
Trabalho de Formatura Supervisionado
IMEUSP
Implementação De Um Jogo Com
Inteligência Artificial e
Aprendizado Probabilístico
Aluno: Rogério Cazelato Papetti
Orientador: Marcelo Finger
CoOrientador: Flávio Soares Corrêa
Agenda
PacMan
Proposta
Maya & Panda3D
Algoritmos
Resultados e Conclusões
Dúvidas
Demonstração (se houver tempo)
Total: 23 slides
PacMan
História
Lançado na década de 1980
Estrondoso sucesso
Regras Básicas:
Pacman deve capturar todas as PacDots do
cenário
Fantasmas o perseguem
O PacMan perde uma vida ao encostar num
fantasma
O PacMan ganha pontos ao coletar bônus (maçãs)
PacMan: Um Clássico
Inteligência Artificial no Jogo
Fantasmas
Algoritmo Determinístico
Engenharia reversa
Movimentos Pacman
Estratégia vencedora
Pattern (Padrão)
Jogo 'Perfeito'
Proposta
Desenvolver Inteligência Artificial Para
Fantasmas
Algoritmos
Movimentação
Aprendizado
Implementar esses algoritmos na prática
PacMan 3D
Regras adaptadas
Maya
Modelagem 3D
Manipulação de figuras geométricas
Implementação de animações
Recursos como sombra, antialiasing
Modelagem PacMan
Modelagem Fantasma
Panda3D
Framework para implementação do jogo
Suporte a Python e C++
Python é preferível
Classes Auxiliares
Articulações das Personagens
Gerenciar Colisões
Física Básica
Movimentação de Fluídos
Implementação
Colisões
Manipulação Câmera
Manipulação de Modelos 3D
Timers
Tasks
Colisões no Panda3D
Collision Solids
Collision Handlers
Collision Entries
Bitmask
Collision Solids
Esfera
Cilindro
Plano
Segmento de reta ou reta
Collision Solids Exemplo
Collision Handlers
Diversos tipos
Gerador de Eventos
Armazenador de Colisões
'Collision Pusher'
'Collision Floor'
Collision Handlers Exemplo
Collision Bitmask Exemplo
Algoritmo de Movimentação
Baseado na visão e percepção do mapa do
fantasma
Visão e Percepção
Qual objeto mais próximo
Está muito perto de uma parede
Existe alguma entrada lateral ou esquina
Está sobre uma PacDot
Sorteia uma jogada segundo probabilidades
Estabelecidas para cada ação
Algoritmo De Aprendizado
Modifica probabilidade de cada ação
Análise a cada fim de jogo
Tempo de Vida
Capturou PacMan
Instante da Jogada
Resultados e Conclusões
Fantasma
Movimentação
Decisões
Aprendizado
Probabilidades Viesadas
Probabilidades Não Viesadas
Referências
RUSSELL, Stuart ; NORVIG, Peter “Artificial
Intelligence: A Modern Approach” Prentice Hall
Series in Artificial Intelligence, 1995 .
Site Panda3D: www.panda3d.org
Site Maya: www.everything4maya.com
Dúvidas
MAC 499
Trabalho de Formatura Supervisionado
IMEUSP
Implementação De Um Jogo Com
Inteligência Artificial e
Aprendizado Probabilístico
Aluno: Rogério Cazelato Papetti
Orientador: Marcelo Finger
CoOrientador: Flávio Soares Corrêa
1
Agenda
PacMan
Proposta
Maya & Panda3D
Algoritmos
Resultados e Conclusões
Dúvidas
Demonstração (se houver tempo)
Total: 23 slides 2
PacMan
3
História
Lançado na década de 1980
Estrondoso sucesso
Regras Básicas:
Pacman deve capturar todas as PacDots do
cenário
Fantasmas o perseguem
O PacMan perde uma vida ao encostar num
fantasma
O PacMan ganha pontos ao coletar bônus (maçãs)
4
PacMan: Um Clássico
5
Inteligência Artificial no Jogo
Fantasmas
Algoritmo Determinístico
Engenharia reversa
Movimentos Pacman
Estratégia vencedora
Pattern (Padrão)
Jogo 'Perfeito'
6
Proposta
Desenvolver Inteligência Artificial Para
Fantasmas
Algoritmos
Movimentação
Aprendizado
Implementar esses algoritmos na prática
PacMan 3D
Regras adaptadas
7
Maya
Modelagem 3D
Manipulação de figuras geométricas
Implementação de animações
Recursos como sombra, antialiasing
8
Modelagem PacMan
9
Modelagem Fantasma
10
Panda3D
Framework para implementação do jogo
Suporte a Python e C++
Python é preferível
Classes Auxiliares
Articulações das Personagens
Gerenciar Colisões
Física Básica
Movimentação de Fluídos
11
Implementação
Colisões
Manipulação Câmera
Manipulação de Modelos 3D
Timers
Tasks
12
Colisões no Panda3D
Collision Solids
Collision Handlers
Collision Entries
Bitmask
13
Collision Solids
Esfera
Cilindro
Plano
Segmento de reta ou reta
14
Collision Solids Exemplo
15
Collision Handlers
Diversos tipos
Gerador de Eventos
Armazenador de Colisões
'Collision Pusher'
'Collision Floor'
16
Collision Handlers Exemplo
17
Collision Bitmask Exemplo
18
Algoritmo de Movimentação
Baseado na visão e percepção do mapa do
fantasma
Visão e Percepção
Qual objeto mais próximo
Está muito perto de uma parede
Existe alguma entrada lateral ou esquina
Está sobre uma PacDot
Sorteia uma jogada segundo probabilidades
Estabelecidas para cada ação
19
Algoritmo De Aprendizado
Modifica probabilidade de cada ação
Análise a cada fim de jogo
Tempo de Vida
Capturou PacMan
Instante da Jogada
20
Resultados e Conclusões
Fantasma
Movimentação
Decisões
Aprendizado
Probabilidades Viesadas
Probabilidades Não Viesadas
21
Referências
RUSSELL, Stuart ; NORVIG, Peter “Artificial
Intelligence: A Modern Approach” Prentice Hall
Series in Artificial Intelligence, 1995 .
Site Panda3D: www.panda3d.org
Site Maya: www.everything4maya.com
22
Dúvidas
23