Plug-in de Inteligencia Artificial para NPC en un juego RPG desarrollado en Unreal Engine 4
Fecha
2021-06-04Registro en:
instname:Universidad Militar Nueva Granada
reponame:Repositorio Institucional Universidad Militar Nueva Granada
Autor
Reina Rojas, David Santiago
Romero Hernandez, Erikson Javier
Institución
Resumen
En el desarrollo de los videojuegos de tipo RPG (Role Play Game por sus siglas en inglés), existe una amplia cantidad de personajes no jugables (NPC por sus siglas en inglés), que en algunas ocasiones no destacan por su inteligencia artificial (IA), llevando a cabo comportamientos incongruentes, lo cual puede romper la inmersión y la jugabilidad. Este tipo de situaciones puede dañar el flujo de la partida en el momento que el jugador interactúa con el NPC.
La configuración de la IA de cada NPC varía de acuerdo a cada título, género, o fin al que se quiere mostrar en el juego, para esto, dentro de los motores de desarrollo de videojuegos, se implementan herramientas que realicen la implementación de esta característica al NPC. Unreal Engine hace manejo de árboles de comportamiento propios, los cuales se encargan de realizar una acción, dependiendo de un conjunto de entradas que son recopiladas por el ambiente y definidas por el desarrollador.
El presente proyecto plantea el diseño e implementación de un complemento de IA para el motor de videojuegos Unreal Engine 4, ya que este editor permite un gran procesamiento visual y de desarrollo, que facilita la implementación de este y futuros proyectos de mayor envergadura; haciendo uso del árbol de búsqueda de Monte Carlo (MCTS por sus siglas en inglés), que permite generar una serie de decisiones aleatorias, escogiendo la mejor a partir de los cálculos basados en simulaciones aleatorias que agilizan la toma de posibles acciones.
Para validar la implementación propuesta en este trabajo de grado, se generó un ambiente de pruebas de tipo RPG para toma de decisiones, acotado por un escenario de casillas con mecánicas basadas en combates por turnos, donde cada NPC cuenta con los conceptos armamentísticos derivados de las antiguas legiones romanas, conceptualizando las funciones de cada legionario junto al equipamiento que los acompañaba durante cada batalla, en pos de dinamizar estos comportamientos de manera lógica, incluyendo un esquema basado en variables que definen una personalidad, junto a paquetes de estado que identifican las cualidades de miedo, fe y venganza que derivan de las acciones del jugador y afectan el comportamiento del actor.
Lo que lleva a corroborar la implementación con un sistema de tres pruebas, las cuales cuentan con distintos entornos construidos en base a la cantidad de NPC presentes en escena, junto a la ubicación de los mismos alrededor de la escenografía y del jugador, donde se clasifican tres tipos de NPC que se diferencian por sus valores de personalidad, los cuales son el IQ (del alemán Intelligenzquotient, conocido como coeficiente intelectual), miedo, valentía, venganza, locura, liderazgo y confianza, para así, formar un carácter a cada decisión que se deba tomar. Generando rangos basados en dichas variables que representan el nivel bajo, básico y avanzado, a los cuales hará frente al jugador, con la finalidad de analizar los árboles generados y sus comportamientos dependiendo de dichas configuraciones, arrojando datos que evidencian las relaciones entre actores de tipo NPC, y la varianza en su actitud para afrontar diferentes acciones realizadas por la persona que los confronte.