Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban...

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

Transcript of Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban...

Page 1: Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Autor: Marcos Vinicius Policarpo.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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...”