Universidad Complutense de Madrid
E-Prints Complutense

Diseño de una Arquitectura de Sistemas Multiagente para Videojuegos basada en el modelo de Creencias, Deseos e Intenciones en Unity

Impacto

Downloads

Downloads per month over past year



Bas Domínguez, Jaime María and Cuevas Álvarez, Álvaro and García Montero, Alejandro and Gómez-Martinho González, Juan and González Velasco, Irene (2019) Diseño de una Arquitectura de Sistemas Multiagente para Videojuegos basada en el modelo de Creencias, Deseos e Intenciones en Unity. [Trabajo Fin de Grado]

[thumbnail of 1138485703-335351_JUAN_GÓMEZ-MARTINHO_GONZÁLEZ_TFG_Bas__Cuevas__García__González__Gómez-Martinho_3940146_94379676.pdf]
Preview
PDF
Creative Commons Attribution Non-commercial.

7MB


Abstract

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.

Resumen (otros idiomas)

Although there are many technical approaches to develop Artificial Intelligences, simulating characters with human-like behavior is still a huge challenge for video game developers, especially if you want to avoid unmanageable state machines or behavior trees. From a designer’s point of view, it would be easier to forget about predicting and programming every possible situation and designing around three fundamental aspects for each character: what they believe about their environment, which goals do they want to reach and what their most immediate intentions are, represented as acting plans. Working under this paradigm could mean having video games with emergent narrative with huge potential. Taking two previous Final Degree Projects as a starting point, we took Jason as reference for this project. Jason is the most popular interpreter for implementing multiagent systems based on the Belief, Desire and Intention (BDI) model, implemented in Java and supported by the declarative language AgentSpeak. Until now, the further other projects have gone is using Jason as an external server for the agents’ reasoning, but this is still troublesome for the programmer, just like the tedious communication protocols through sockets or the handling, execution and debugging of several, simultaneous environments. The goal of our project is to speed up the programmer’s work, allowing them to design more “human-like” characters with less effort, looking to generate richer and more interesting interactive experiences. To do this, this project strives to take the concepts in Jason to an internal system in the video game itself, with a BDI architecture implemented in C# and integrated inside the Unity environment. We have conducted an analysis and reengineering process on Jason, as well as the subsequent design and implementation of “Jasonity”, a multiagent system based on BDI for Unity inspired by Jason, verifying through integrity tests that the proposal is viable for programming simple agents, useful to support character behavior in video games, and easier and more natural to use for the programmer.

Item Type:Trabajo Fin de Grado
Additional Information:

Trabajo de Fin de Grado, Universidad Complutense, Facultad de Informática, Departamento de Ingeniería del Software e Inteligencia Artificial, Curso 2018/2019

Directors:
Directors
Peinado Gil, Federico
Uncontrolled Keywords:Desarrollo de Videojuegos, Inteligencia Artificial, Sistemas Multiagente, Ingeniería del Software, Razonamiento Lógico, Diseño de Sistemas Interactivos
Palabras clave (otros idiomas):Video Game Development, Artificial Intelligence, Multi-Agent Systems, Software Engineering, Logical Reasoning, Interactive Systems Design
Subjects:Sciences > Computer science
Título de Grado:Grado en Ingeniería del Software
ID Code:56541
Deposited On:25 Jul 2019 12:51
Last Modified:09 Mar 2020 12:32

Origin of downloads

Repository Staff Only: item control page