ção de um jogo com ência artificial e aprendizado … · implementação de um jogo com...
TRANSCRIPT
Implementação De Um Jogo Com Implementação De Um Jogo Com Inteligência Artificial e Inteligência Artificial e
Aprendizado ProbabilísticoAprendizado Probabilístico
Aluno: Rogério Cazelato PapettiOrientador: Marcelo Finger
CoOrientador: Flávio Soares Corrêa
MAC 499Trabalho de Formatura Supervisionado
IMEUSP
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
1
Implementação De Um Jogo Com Implementação De Um Jogo Com Inteligência Artificial e Inteligência Artificial e
Aprendizado ProbabilísticoAprendizado Probabilístico
Aluno: Rogério Cazelato PapettiOrientador: Marcelo Finger
CoOrientador: Flávio Soares Corrêa
MAC 499Trabalho de Formatura Supervisionado
IMEUSP
2
Agenda
PacMan Proposta Maya & Panda3D Algoritmos Resultados e Conclusões Dúvidas Demonstração (se houver tempo) Total: 23 slides
3
PacMan
4
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)
5
PacMan: Um Clássico
6
Inteligência Artificial no Jogo
Fantasmas Algoritmo Determinístico
Engenharia reversa
Movimentos Pacman Estratégia vencedora
Pattern (Padrão) Jogo 'Perfeito'
7
Proposta
Desenvolver Inteligência Artificial Para Fantasmas
Algoritmos Movimentação Aprendizado
Implementar esses algoritmos na prática PacMan 3D
Regras adaptadas
8
Maya
Modelagem 3D Manipulação de figuras geométricas Implementação de animações Recursos como sombra, antialiasing
9
Modelagem PacMan
10
Modelagem Fantasma
11
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
12
Implementação
Colisões Manipulação Câmera Manipulação de Modelos 3D Timers Tasks
13
Colisões no Panda3D
Collision Solids Collision Handlers Collision Entries Bitmask
14
Collision Solids
Esfera Cilindro Plano Segmento de reta ou reta
15
Collision Solids Exemplo
16
Collision Handlers
Diversos tipos Gerador de Eventos Armazenador de Colisões 'Collision Pusher' 'Collision Floor'
17
Collision Handlers Exemplo
18
Collision Bitmask Exemplo
19
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
20
Algoritmo De Aprendizado
Modifica probabilidade de cada ação Análise a cada fim de jogo
Tempo de Vida Capturou PacMan Instante da Jogada
21
Resultados e Conclusões
Fantasma Movimentação
Decisões Aprendizado
Probabilidades Viesadas Probabilidades Não Viesadas
22
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
23
Dúvidas