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

Post on 19-Apr-2015

123 views 5 download

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