![Page 1: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/1.jpg)
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...
![Page 2: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/2.jpg)
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
![Page 3: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/3.jpg)
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
![Page 4: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/4.jpg)
4
Introdução
• O que é “comportamento verossímil”?
• Porque “comportamento verossímil”?
• Como fazer “comportamento verossímil”?
• Como avaliar “comportamento verossímil”?
![Page 5: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/5.jpg)
5
•Agentes com emoção
•Modelo proposto
•Domínio e aplicação
•Framework motivacional
•Jogo exemplo
![Page 6: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/6.jpg)
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
![Page 7: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/7.jpg)
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
![Page 8: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/8.jpg)
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]
![Page 9: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/9.jpg)
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
![Page 10: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/10.jpg)
10
Modelo proposto
• Ontologia
Compor-tamentos Drives
Processo
Consuma>
Sensor
Permite >
É um
>
Facilita
Influi
EmoçãoCompor-tamentosDrivesSensor
Emoção
![Page 11: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/11.jpg)
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
![Page 12: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/12.jpg)
12
Modelo proposto
• Processo
![Page 13: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/13.jpg)
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)
![Page 14: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/14.jpg)
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
![Page 15: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/15.jpg)
15
Modelo proposto
• Comportamento– Ações ou planos que o sistema pode tomar para
alterar um estado do mundo– Somente valores positivos– Decrementa exponencialmente
![Page 16: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/16.jpg)
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)
![Page 17: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/17.jpg)
17
Modelo proposto
• Discretização
Compor-tamentosDrivesSensor
Emoção
?
![Page 18: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/18.jpg)
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)
![Page 19: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/19.jpg)
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
![Page 20: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/20.jpg)
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)
![Page 21: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/21.jpg)
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]
![Page 22: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/22.jpg)
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}
}
![Page 23: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/23.jpg)
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)
![Page 24: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/24.jpg)
24
Framework motivacional
• Fluxo principal do agente (EditableMotAgent)
![Page 25: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/25.jpg)
25
• Método run do Processor
![Page 26: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/26.jpg)
26
Jogo exemplo
• Jogo: O jogador controla um detetive e deve eliminar os assassinos em uma cidade povoada por civis
![Page 27: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/27.jpg)
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
![Page 28: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/28.jpg)
28
Jogo exemplo
• Exemplo 1: Influência de “Conversar” em “Felicidade”
![Page 29: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/29.jpg)
29
Jogo exemplo• Exemplo 2: Influência de “Ouvir Tiro” em “Segurança”, “Fugir” e “Medo”
![Page 30: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/30.jpg)
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)
![Page 31: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/31.jpg)
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)
![Page 32: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8ded76/html5/thumbnails/32.jpg)
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...”