ção de um jogo com ência artificial e aprendizado...

46
 Implementação De Um Jogo Com Implementação De Um Jogo Com Inteligência Artificial e  Inteligência Artificial e  Aprendizado Probabilístico Aprendizado Probabilístico Aluno: Rogério Cazelato Papetti Orientador: Marcelo Finger Co-Orientador: Flávio Soares Corrêa MAC 499 Trabalho de Formatura Supervisionado IME-USP

Upload: phungphuc

Post on 21-Jan-2019

213 views

Category:

Documents


0 download

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

Co­Orientador: Flávio Soares Corrêa

MAC 499Trabalho de Formatura Supervisionado

IME­USP

   

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

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 Panda­3D: 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

Co­Orientador: Flávio Soares Corrêa

MAC 499Trabalho de Formatura Supervisionado

IME­USP

   

 

    2

Agenda

Pac­Man Proposta Maya & Panda­3D Algoritmos  Resultados e Conclusões Dúvidas Demonstração (se houver tempo) Total: 23 slides

   

 

    3

Pac­Man

   

 

    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 Pac­Man perde uma vida ao encostar num 

fantasma O Pac­Man ganha pontos ao coletar bônus (maçãs) 

   

 

    5

Pac­Man: 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 Pac­Man 3D

Regras adaptadas

   

 

    8

Maya

Modelagem 3D Manipulação de figuras geométricas Implementação de animações Recursos como sombra, anti­aliasing

   

 

    9

Modelagem Pac­Man

   

 

    10

Modelagem Fantasma

   

 

    11

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

   

 

    12

Implementação

Colisões Manipulação Câmera Manipulação de Modelos 3D Timers Tasks

   

 

    13

Colisões no Panda­3D

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 Pac­Man 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 Panda­3D: www.panda3d.org Site Maya: www.everything4maya.com

   

 

    23

Dúvidas