Utility-AI para controlar personajes no-jugador de un videojuego
Professor Advisor
dc.contributor.advisor
Calderón Saavedra, Daniel
Author
dc.contributor.author
Cathalifaud Salazar, Gerard Andre
Associate professor
dc.contributor.other
Zelada Baeza, Elías
Associate professor
dc.contributor.other
Barriere, Valentín
Admission date
dc.date.accessioned
2025-04-25T16:48:53Z
Available date
dc.date.available
2025-04-25T16:48:53Z
Publication date
dc.date.issued
2024
Identifier
dc.identifier.uri
https://repositorio.uchile.cl/handle/2250/204565
Abstract
dc.description.abstract
En el desarrollo de un videojuego, una parte importante del juego corresponde a la implementación de entidades o personajes que son controlados por el computador, permitiendo generar interacciones con el jugador más allá de mecánicas y sistemas de juegos. Para lograr eso, es necesario crear un sistema de reglas que dirijan el comportamiento de un actor a lo largo del juego, respondiendo a los eventos que ocurran y a las respuestas del jugador. La capacidad de respuesta de un personaje puede ser muy variable, desde simplemente caminar y entregar un tipo de diálogo, como hasta ser un protagonista en el juego, tomando acciones que dificultan o facilitan el progreso del jugador. Convirtiéndole en un pilar esencial en la inmersión del juego.
La creación de una inteligencia artificial para estas entidades puede resultar desafiante según lo complejo que se quiera conseguir, mientras mayor sea la variabilidad de situaciones que pueden surgir en el juego, y la extensión en la cantidad de pasos que debe tomar un personaje para completar sus actividades.
En la memoria se diseña un sistema de comportamiento basado en objetivos como _Plugin_ para el motor usado, lo que brinda una herramienta genérica para la implementaciones de personajes no jugadores con comportamientos avanzados, permitiendo realizar actividades que requieran de varios pasos, sin importar el contexto en que se haya generado. Esto se consigue modelando el estado de mundo y las acciones como nodos y aristas de un grafo, e implementando un algoritmo de búsqueda de camino como el planificador que logra encontrar una secuencia válida para concretar el comportamiento buscado.
El sistema consigue un buen rendimiento, gracias a la utilización de un thread asíncrono que se encarga de procesar la planificación de los distintos personajes no jugadores del videojuego, lo que permite la ejecución en tiempo real. El comportamiento reflejado por las entidades que utilizan el sistema pueden resultar de buena calidad según la implementación adecuada en el diseño de las acciones y objetivos. Sin embargo, es necesario tener un buen control sobre la cantidad de acciones que se disponen en una planificación, ya que su coste es exponencial a dicho número. Por eso, la solución ofrece varias herramientas para la gestión de las acciones. A pesar de eso, el peor caso sigue siendo muy elevado, lo que puede provocar que un personaje se vea detenido durante un breve lapso de tiempo mientras planifica sus siguientes acciones, se proponen varias alternativas para solucionar el problema.
es_ES
Lenguage
dc.language.iso
es
es_ES
Publisher
dc.publisher
Universidad de Chile
es_ES
Type of license
dc.rights
Attribution-NonCommercial-NoDerivs 3.0 United States