A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Framework motivacional aplicado a NPCs

Apresentações semelhantes


Apresentação em tema: "Framework motivacional aplicado a NPCs"— Transcrição da apresentação:

1 Framework motivacional aplicado a NPCs
Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Sonhos não são projetos. Desintrospecte-os... Niterói, 1 de julho de 2009

2 Framework motivacional
Introdução Áreas de pesquisa: Vida Artificial Agentes com emoções, Atores sintéticos IA Representação simbólica de conhecimento Interface Homem-Máquina Interação com o usuário/jogador Engenharia de Software Arquitetura e análise Games Arquitetura de Game Engines Framework motivacional Game Engine Objetivo: Simular “comportamento verossímil” em NPCs

3 Introdução Contribuições
Análise dos modelos de agentes emocionais de base fisiológica Aplicação de framework motivacional para controle de NPCs Arquitetura de GameEngine por GameObjects componentizados (construção) Arquitetura de agentes por componentes

4 Introdução O que é “comportamento verossímil”?
Porque “comportamento verossímil”? Como fazer “comportamento verossímil”? Como avaliar “comportamento verossímil”?

5 Agentes com emoção Modelo proposto Domínio e aplicação Framework motivacional Jogo exemplo

6 Agentes com emoção Conceito subjetivo, não há consenso
Ciência cognitiva busca relacionar os eventos emocionais com outras estruturas cognitivas, como memória, comportamento e tomada de decisão

7 Agentes com emoção Classificação:
Modelos ([RODRIGUES 07], [SEP 07] e [MORGADO 05] ) Emoções puras (Ex. Elkman) Avaliação (Ex. OCC) Neuro-fisiológicos (Ex. Damásio) Agentes ([MORGADO 05] ) Fisiológica (nossa abordagem) Cognitiva Arquitetural

8 Agentes com emoção Modelos de base fisiológica
Utilizam uma dinâmica fisiológica para representar a motivação do sistema e simular as emoções Exemplos: Abbott [CAÑAMERO 97] Cathexis [VELASQUEZ 96] Kismet [BREAZEAL 00]

9 Modelo proposto Modelo fisiológico baseado nos modelos de [VELASQUEZ 96] e [BREAZEAL 00] Objetivo: Simplificar e minimizar os modelos anteriores Possui histórico em utilização em jogos [POZZER 06] Orientado a controle de ações, e não somente a seleção de expressão facial

10 Modelo proposto Ontologia Influi Processo É um > Permite >
Compor- tamentos Drives Processo Consuma> Sensor Permite > É um > Facilita Influi Emoção Compor- tamentos Drives Sensor Emoção

11 Modelo proposto Processo
Unidade fundamental que generaliza as outras. Possui um valor associado e limites inferiores e superiores (thresholds) Possui duas regras de operação: Manter o seu valor entre os limites (bem-estar, homeostase, wellbeing). Caso extrapole um limiar, se torna ativo Quando ativo, influenciar (excitar ou inibir) outros processos

12 Modelo proposto Processo

13 Modelo proposto Drive Pulsão: desejos e vontades inconscientes ou fisiológicas Incrementa com o tempo Comportamentos podem consumá-lo (diminuir o seu valor)

14 Modelo proposto Emoção
Estado excepcional, que demonstra uma configuração interna do agente através de uma expressão comunicativa Emoções puras de Elkman Decrementa com o tempo Somente valores positivos

15 Modelo proposto Comportamento
Ações ou planos que o sistema pode tomar para alterar um estado do mundo Somente valores positivos Decrementa exponencialmente

16 Modelo proposto Sensor
Influência do mundo externo (percepções) dentro do sistema motivacional O sensor e outros processos avaliam as percepções (marcador somático de Damásio) (a) Pode ser simplificado ao número de percepções de um sensor (b) a) b)

17 Modelo proposto Discretização Emoção Sensor Drives Compor- tamentos ?

18 Modelo proposto Discretização Discretização Loop formal
Erro conceitual Performance Solução Direta não Ignora fator temporal (ingênuo) Eficiente Direta (usa-se valores dos processos) Temporal Simples sim Aproximação temporal Semi-direta( usa-se valores anteriores dos processos Contínua Exato ou aproximação formal Não eficiente ???? (algum solucionador de equações não lineares)

19 Domínio e aplicação Games – RPG – Action RPG
Propõe ao jogador ultrapassar desafios para observar a história. A vitória não é um fator tão importante. Narrativa, dos personagens e dos efeitos gráficos são mais importantes

20 Domínio e aplicação Engine
Sistema de apoio ao desenvolvimento de um determinado estilo de jogo: Engine = Motor + Editor + banco de dados de recursos Motor = Desenvolvimento próprio, vários frameworks Editor = Tiled + XML Recursos: RPG Maker Internet Requisitos 2D Jogabilidade de um Action RPG (Ex. Zelda) Possuir recursos de percepção e atuação de agentes (para suporte do framework motivacional)

21 Domínio e aplicação Arquitetura GameObject - Component
Em vez de herdar uma classe base (GameObject) para criar nossas novas entidades, usamos uma GameObject simples e adicionamos a ela os componentes que precisamos [PASSOS 08, BILLAS 03]

22 Domínio e aplicação Arquitetura GameObject - Component
Problema: Manutenção das referências entre componentes gera código fora da lógica do domínio e exige manutenção complexa. Solução: Usar Dependency Injection [PASSOS 08] //IA referencia componentes tradicionalmente public class IA: SoftComponent { public Animacao mAnimacao; public Items mItems; public bool init(Scene scene) //Resgata o componente SoftComponent sc = parent.getComponent(“Animacao”); //Verifica integridade if(sc==null)return false; if(!(sc is Animacao)) return false; //Atribui o valor mAnimacao = (Animacao)sc; } //IA referencia componentes por Dependency Injection public class IA: SoftComponent { [Injection(“Animacao”)] public Animacao mAnimacao; [Injection(“Items”)] public Items mItems; public bool init(Scene scene) //não precisa fazer nada }

23 Framework motivacional
Arquitetura do agente (IMotAgent) Visto como um componente a ser usado pela aplicação Uma lista de atuadores que deve ser fornecida A aplicação implementa os atuadores Uma lista de sensores que são oferecidas A aplicação solicita os sensores que devem ser preenchidos com percepções (tal como um buffer)

24 Framework motivacional
Fluxo principal do agente (EditableMotAgent)

25 Método run do Processor

26 Jogo exemplo Jogo: O jogador controla um detetive e deve eliminar os assassinos em uma cidade povoada por civis

27 Jogo exemplo Rede de processos Sensors Drives Emotions Behaviors
Alvejado Cansaço Felicidade Andar Ouvir tiro Passear Medo Conversar Ouvir paradeiro Interação Tristeza Fugir Conversado Segurança Contar paradeiro Receber prenda Descansar Intimidado Atirar Intimidar

28 Jogo exemplo Exemplo 1: Influência de “Conversar” em “Felicidade”

29 Jogo exemplo Exemplo 2: Influência de “Ouvir Tiro” em “Segurança”, “Fugir” e “Medo”

30 Considerações finais (trabalhos feitos) Simplificação feita em relação aos modelos de [BREAZEAL 98] e [VELASQUEZ 96] para ser usado eficientemente em simuladores e games Análise da discretização Arquitetura de Engine Game-Component para RPG 2D Ganchos estabelecidos (marcador somático, seleção de comportamentos) para trabalhos futuros Trabalho Realizado/Trabalho Esperado = 70% Resultado Obtido/Resultado Esperado = 40%~60%

31 Considerações finais (trabalhos futuros) Tal como cita [MORGADO 05], método apresenta limitações quando a escalabilidade. Sendo necessário aumentar esta escalabilidade sem perder a performance Adicionar algoritmos simbólicos (tornar sistema híbrido) Alterar equação do processo para que ele possua um raio de valores fixo e o sistema gere menos oscilações bruscas Melhorar sistema de seleção/coordenação de comportamentos Usar políticas mais ricas e/ou ontologias de domínio Usar algoritmos de aprendizagem Simplificar as ações e usar planejamento Investigar marcador somático de Damásio e aplicá-lo Ganho: Sistema passará a selecionar alvo de atuação (um agente selecionará um outro específico para interagir, e não um qualquer ou o mais próximo)

32 Obrigado! Dúvidas? “Shinji: Então, onde começa meu sonho? Rei: Ele é a continuação da realidade. Shinji: Onde começa... minha realidade? Rei: Onde termina teu sonho...”


Carregar ppt "Framework motivacional aplicado a NPCs"

Apresentações semelhantes


Anúncios Google