Base de Conocimiento | Documento
Título: Diseño de una Arquitectura de Sistemas Multiagente para Videojuegos basada en el modelo de Creencias, Deseos e Intenciones en Unity Dominio: Copyright + Free
Diseño de una Arquitectura de Sistemas Multiagente para Videojuegos basada en el modelo de Creencias, Deseos e Intenciones en Unity
Bas Domínguez, Jaime María
Cuevas Álvarez, Álvaro
García Montero, Alejandro
Gómez-Martinho González, Juan
González Velasco, Irene
Trabajo Fin de Grado dirigido por Federico Peinado y defendido en el año 2019, cuyos integrantes obtuvieron la calificación de Sobresaliente.
Si bien existen multitud de aproximaciones técnicas para desarrollar Inteligencia Artificial, la simulación de personajes con comportamiento realista sigue siendo un gran reto para los desarrolladores de videojuegos, sobre todo si se quieren evitar inabarcables máquinas de estados o árboles de comportamiento.
Desde el punto de vista del diseñador, sería más sencillo olvidarse de predecir y programar todas las situaciones posibles y diseñar en torno a tres aspectos fundamentales de cada personaje: qué es lo que cree sobre su entorno, qué metas desea alcanzar y cuáles son sus intenciones más inmediatas, representadas en forma de planes de actuación. Trabajar bajo este paradigma podría dar lugar a videojuegos dotados de una narrativa emergente con gran potencial.
Basándonos en dos Trabajos de Fin de Grado anteriores, tomamos como referencia para este proyecto a Jason, el intérprete más popular para implementar sistemas multiagente basados en el modelo de Creencias, Deseos e Intenciones (BDI) implementado en Java y apoyado en el lenguaje declarativo AgentSpeak. Hasta ahora, lo máximo que han logrado otros proyectos es usar Jason como un servidor externo de razonamiento para los agentes, pero esto sigue suponiendo muchos problemas para el programador, como son los tediosos protocolos de comunicación vía sockets, o el manejo, ejecución y depuración de varios entornos de desarrollo simultáneos.
El objetivo de nuestro proyecto es agilizar todo el trabajo del programador, permitiendo a la vez diseñar personajes más “humanos” con menor esfuerzo, buscando generar experiencias interactivas más ricas e interesantes. Para ello este trabajo pretende llevar las ideas de Jason a un sistema interno al propio videojuego, con una arquitectura BDI implementada en C# e integrada dentro del entorno de desarrollo de Unity.
Se ha llevado a cabo el análisis y la reingeniería de Jason, así como el posterior diseño e implementación de “Jasonity”, un sistema multiagente BDI para Unity inspirado en Jason, comprobando mediante pruebas de integridad que el planteamiento es viable como propuesta para programar agentes sencillos, útiles para dar soporte al comportamiento de personajes de videojuegos y de uso más fácil y natural para el programador.