MAC 499 Trabalho de Formatura Supervisionado IME USP Implementação De Um Jogo Com Inteligência Artificial e Aprendizado Probabilístico Aluno: Rogério Cazelato Papetti Orientador: Marcelo Finger Co Orientador: Flávio Soares Corrêa
Agenda Pac Man Proposta Maya & Panda 3D Algoritmos Resultados e Conclusões Dúvidas Demonstração (se houver tempo) Total: 23 slides
Pac Man
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 Pac Man perde uma vida ao encostar num fantasma O Pac Man ganha pontos ao coletar bônus (maçãs)
Pac Man: 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 Pac Man 3D Regras adaptadas
Maya Modelagem 3D Manipulação de figuras geométricas Implementação de animações Recursos como sombra, anti aliasing
Modelagem Pac Man
Modelagem Fantasma
Panda 3D 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 Panda 3D 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 Pac Man Instante da Jogada
Resultados e Conclusões Fantasma Movimentação Aprendizado Decisões 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 Panda 3D: www.panda3d.org Site Maya: www.everything4maya.com
Dúvidas
MAC 499 Trabalho de Formatura Supervisionado IME USP Implementação De Um Jogo Com Inteligência Artificial e Aprendizado Probabilístico Aluno: Rogério Cazelato Papetti Orientador: Marcelo Finger Co Orientador: Flávio Soares Corrêa 1
Agenda Pac Man Proposta Maya & Panda 3D Algoritmos Resultados e Conclusões Dúvidas Demonstração (se houver tempo) Total: 23 slides 2
Pac Man 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 Pac Man perde uma vida ao encostar num fantasma O Pac Man ganha pontos ao coletar bônus (maçãs) 4
Pac Man: 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 Pac Man 3D Regras adaptadas 7
Maya Modelagem 3D Manipulação de figuras geométricas Implementação de animações Recursos como sombra, anti aliasing 8
Modelagem Pac Man 9
Modelagem Fantasma 10
Panda 3D 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 Panda 3D 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 Pac Man Instante da Jogada 20
Resultados e Conclusões Fantasma Movimentação Aprendizado Decisões 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 Panda 3D: www.panda3d.org Site Maya: www.everything4maya.com 22
Dúvidas 23