1 INICIAL. 2 ÍNDICES FINANCEIROS PROF. MARCOS VINICIUS FITTIPALDI.
Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban...
Transcript of Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban...
Framework motivacional aplicado a NPCsAutor: Marcos Vinicius
Policarpo Côrtes
Orientador: Esteban WalterGonzalez Clua
Niterói, 1 de julho de 2009 Sonh
os n
ão s
ão p
roje
tos.
Des
intr
ospe
cte-
os...
2
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
• Objetivo: Simular “comportamento verossímil” em NPCs
Fram
ewor
k m
otiva
cion
alG
ame
Engi
ne
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
Compor-tamentos Drives
Processo
Consuma>
Sensor
Permite >
É um
>
Facilita
Influi
EmoçãoCompor-tamentosDrivesSensor
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:a) Manter o seu valor entre os limites (bem-estar,
homeostase, wellbeing). Caso extrapole um limiar, se torna ativo
b) 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
Compor-tamentosDrivesSensor
Emoção
?
18
Modelo proposto
• Discretização
Discretização Loop formal Erro conceitual Performance Solução
Direta nãoIgnora fator
temporal (ingênuo)
EficienteDireta (usa-se
valores dos processos)
Temporal Simples sim Aproximação
temporal EficienteSemi-direta( usa-se valores anteriores
dos processos
Contínua simExato 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 2000 + 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 tradicionalmentepublic class IA: SoftComponent {
public Animacao mAnimacao;
public Items mItems;
public bool init(Scene scene){
//Resgata o componenteSoftComponent sc =
parent.getComponent(“Animacao”);//Verifica integridadeif(sc==null)return false;if(!(sc is Animacao)) return false;
//Atribui o valormAnimacao = (Animacao)sc;
}}
//IA referencia componentes por Dependency Injectionpublic 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
• 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%
(trabalhos feitos)
31
Considerações finais• 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)
(trabalhos futuros)
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...”