cosecivi'15 - implementación de nodos consulta en árboles de comportamiento

19
II Congreso de la Sociedad Española para las Ciencias del Videojuego. (Barcelona) II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015) Ismael Sagredo Olivenza, Gonzalo Flórez Puga, Marco Antonio Gómez Martín, Pedro A. González Calero. Universidad Complutense de Madrid Ismael Sagredo: [email protected]

Upload: sociedad-espanola-para-las-ciencias-del-videojuego

Post on 03-Aug-2015

12 views

Category:

Science


1 download

TRANSCRIPT

II Congreso de la Sociedad Española para las Ciencias del Videojuego. (Barcelona)

II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015)

Ismael Sagredo Olivenza, Gonzalo Flórez Puga, Marco Antonio Gómez Martín, Pedro A. González Calero.

Universidad Complutense de Madrid

Ismael Sagredo: [email protected]

Diferentes roles en la creación de comportamientos. Diseñadores.

Idean el comportamiento que deben tener los NPCs. No tienen por qué tener conocimientos técnicos. El comportamiento va cambiando durante el ciclo de vida del desarrollo para hacer el juego divertido.

Programadores. Implementan los comportamientos. Intentar facilitar a los diseñadores que puedan cambiar comportamientos de forma autónoma.

II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015) Pag 1

Diseño Inicial

Prototipo

Equilibrado

Evaluación

Ismael Sagredo: [email protected]

Requiere de rapidez de ejecución. Máquinas de estado finitos. (Finite State Machine FSM)

Árboles de comportamiento. (Behavior Trees BTs)

Lenguajes de scripting como LUA, Python, Javascript…

Sistemas de reglas…

¿Con cuál se siente cómodo el diseñador?

Ismael Sagredo: [email protected]

Modelos usados para representar IA.

II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015) Pag 2

Behavior Trees (BT).

Estructura jerárquica implícita en su definición (reutilización). BTs escalan mejor que las FSMs. Fáciles para generar comportamientos guiados por metas. Estado de la meta (Running, Success, Failure). Permite a los diseñadores supervisar el trabajo de los programadores.

Ismael Sagredo: [email protected]

Priority

LanzarMartillo

Repeat

Seguir Ruta

Koopa Troopa: Hammer Bross

Player

A Tiro Player

Visto

Perseguir

II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015) Pag 3

Diseñadores se involucren en la creación de comportamientos.

Programadores y deseñadores cooperan para llevar a cabo los comportamientos.

Ismael Sagredo: [email protected]

II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015) Pag 4

Diseñadores se involucren en la creación de comportamientos.

Programadores y deseñadores cooperan para llevar a cabo los comportamientos.

Ismael Sagredo: [email protected]

II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015) Pag 4

Diseñadores se involucren en la creación de comportamientos.

Programadores y deseñadores cooperan para llevar a cabo los comportamientos.

Mayor autonomía al diseñador Minimizar errores

Mayor productividad.

Ismael Sagredo: [email protected]

II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015) Pag 4

Modelo, Editores visuales, Metodología de trabajo, Asignación de responsabilidades.

Editor visual que simplifique la complejidad subyacente del modelo al diseñador: Behavior Bricks Tres roles:

Diseñadores no técnicos. Diseñadores técnicos. Programadores.

Asignación de responsabilidades. Comportamientos a alto y a bajo nivel y quienes son responsables de crearlos.

Ismael Sagredo: [email protected]

II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015) Pag 5

Caracteristicas

Nexo de unión entre programadores y diseñadores. Diseñadores (técnicos o no) crean comportamientos a alto nivel con le editor. Programadores y Diseñadores técnicos crean comportamientos a bajo nivel con el editor. Programadores crean primitivas básicas:

Acciones: Modifican el mundo. Condiciones: Que chequean el mundo.

Crear comportamientos complejos reutilizables. Parametrización de los comportamientos, los hace más generales. Permite gestionar colecciones de comportamientos.

Ismael Sagredo: [email protected]

II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015) Pag 6

Pizarra, variables de entorno.

Los comportamientos tiene parámetros de entrada y variables internas (pizarra) que representan el entorno de ese comportamiento.

Las tareas y otros comportamientos lee y escribe de esas variables de entorno para realizar sus tareas.

Ismael Sagredo: [email protected]

II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015) Pag 7

Mucha experiencia con los árboles de comportamiento. Solución: Simplificar la generación de comportamientos.

¿Cómo puede el diseñador describir como quiere que se comporte el NPC?

Ejemplificando las acciones al NPC.

El NPC se moverá en base a acciones previamente aprendidas.

II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015) Pag 8

Ismael Sagredo: [email protected]

Extensión de los BTs.

Nodo terminal especial que ejecuta un subcomportamiento.

¿Qué comportamientos? Un de los multiples comportamientos que implementan la tarea primitiva especificada.

¿Cuál de ellos elijo? Aquel que en el pasado fue ejecutado con éxito en una situación similar.

II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015) Pag 9

Ismael Sagredo: [email protected]

II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015) Pag 9

Ismael Sagredo: [email protected]

Priority

ATACAR??

Repeat

Seguir Ruta

Player

A Tiro Player

Visto

Perseguir

Melee : Atacar Distancia : Atacar AtacarYHuir :

Atacar

Enemigo

II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015) Pag 9

Ismael Sagredo: [email protected]

ATACAR??

Melee : Atacar Distancia : Atacar AtacarYHuir :

Atacar

Enemigo

Base de

Casos

Melee :

Atacar Distancia :

Atacar

Implementaciones

Viables => Prerequisitos()

Distancia :

Atacar

Entorno - Distancia : #DistanciaTarget

- Jugador: #Target

- Vida: #Vida

Cómo genero el conocimiento. Hay varias formas:

El diseñador decide cuál es la acción que debe ejecutar en base al contexto actual. (el juego se para esperando la decisión…)

Se proporcionan ejemplos por datos de cuando tiene que hacer cierta acción.

El NPC aprende directamente realizando acciones aleatorias. Exploración vs Explotación.

Los datos que describen el contexto deben ser seleccionados de entre los parámetros de la pizarra por el diseñador.

II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015) Pag 10

Ismael Sagredo: [email protected]

Cómo determinar si un ejemplo es similar a mi estado actual. Cómo saber si el comportamiento es compatible.

Múltiples medidas de similitud en la literatura. Debemos escoger cual es la que mejor funciona para nuestro caso. (Queda trabajo por hacer). ¿Distancia euclidea como ponderamos los pesos de cada uno de los atributos?

Pueden existir comportamientos que no sean compatibles con el NPC.

Por ejemplo: Que acceda a comportamientos que no dispone. Todas las tareas deben chequear unos prerrequisitos que les permite ser ejecutadas. Los comportamientos serán compatibles si sus tareas primitivas lo son.

II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015) Pag 11

Ismael Sagredo: [email protected]

Cada comportamiento puede haber definido los nombres de los atributos de su pizarra de diferente forma.

Los atributos deben tener una etiqueta semántica que los identifique más allá de su nombre para poder seleccionar diferentes comportamientos. Pueden existir semánticas similares. Habría que estudiar el uso de un tesauro en vez de una simple lista de tags semánticos.

Ventajas: mucho más expresivo. Incovenientes: hay que mantener dicho tesauro.

II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015) Pag 12

Ismael Sagredo: [email protected]

Ismael Sagredo: [email protected]

II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015) Pag 13

Cerrar la implementación.

Hacer que el entrenamiento no sea tedioso para el diseñador.

Experimentar con las mejores medidas de similitud.

Sugerencias de simplificación de los atributos que el diseñador seleccione como relevantes => ayudar al diseñador.

Ismael Sagredo: [email protected]

II Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECiVi 2015) Pag 14