Desarrollo de un videojuego en tercera persona utilizando máquinas de estado finitas (fsm) y pathfinding jerárquico (hpa)
M. Rimachi, L. Bardalez, D. Achanccaray
Universidad Nacional de Ingeniería
Lima, Perú
mrimachip22@gmail.com
lbardalezg@gmail.com
ingmec251@gmail.com
Abstract— El presente trabajo está enfocado a la implementación de algoritmos de inteligencia artificial en eldesarrollo de juego del tipo Tercera Persona, los algoritmos de Màquina de Estado Finita (FSM) y Pathfinding Jerárquico A estrella (HPA) fueron utilizados. El soporte de software utiliado fue el Qt creator, el cual es un IDE creado para el desarrollo de aplicaciones con las librerías Qt mediante programación en C++. El juego desarrollado y expuesto en este trabajo está conformado de dos personajesenfrentados en un combate cada uno con un tipo de estrategia propia, el algoritmo FSM fue utilizado para modelar dichas estrategias. Para el movimiento y búsqueda realizado por cada personaje el algoritmo HPA fue utilizado. Los resultados de las simulaciones presentadas fueron producto de las pruebas del juego para diferentes situaciones puestas para los dos personajes generando condicionesiniciales aleatorias.
I. INTRODUCCIÓN
Los videojuegos has pasado por una serie de evoluciones intensas en lo que respecta a la tecnología utilizada para su desarrollo, haciendo que se pase de una idea basada en el ocio hacia el público infantil como inicialmente se les tenía concebidos hacia un medio para el ejercicio de la mente del jugador e incluso del cuerpo para algunos casos, estas tecnologíasno sólo se han caracterizado por el software utilizado (sean por ejemplo, motores de juegos, programas de diseño gráfico y animación, entre otras herramientas), sino también por el grado de “inteligencia” que se les ha dotado a cada elemento del juego sobre todo en las aplicaciones más recientes, lo cual proviene de la implementación de ciertos algoritmos de inteligencia artificial para llevar acabo las acciones deseadas en el entorno del juego. El presente trabajo precisamente utiliza dos de esos algoritmos, el FSM utilizado para modelamiento de las acciones de un personaje y el HPA para el movimiento de cada personaje del juego así como el método de búsqueda.
II. DESCRIPCIÓN DEL JUEGO
El juego desarrollado para el presente trabajo se caracteriza por ser un juego del tipo “tercerapersona” (third-person game), en el cual el personaje es visto desde una perspectiva en tercera persona. En este juego se ha introducido a dos personajes, los cuales son enfrentados en un combate. Durante la ejecución del juego, cada personaje realizará determinadas acciones dependiendo de la estrategia que se le es programado (modelada mediante una máquina de estado), dichas acciones dependerántambién de ciertas variables a considerar en el juego (lo cual se explicará en la siguiente sección) además de considerar también las características del entorno.
Los algoritmos utilizados para el desarrollo del juego como bien se ha mencionado son los siguientes:
A. Máquinas de estado finitas (FSM):
Este es un algoritmo que utiliza estructuras simples para la representación delcomportamiento de un sistema ante determinadas condiciones (o como se le llama también, ante determinados eventos) mediante un conjunto de estados (véase el ejemplo de la Fig.), se definen acciones que el personaje ha de realizar cuando se encuentra en cada uno de los estados. Además también se definen transiciones entre estados representados por condiciones las cuales se activan dependiendo de losvalores de las variables utilizadas para pasar de un estado a otro.
Fig.1 Ejemplo de una máquina de estado finita (FSM)
B. Pathfinding Jerárquico (HPA)
Es un algoritmo diseñado especialmente para planificación de trayectorias, se toma como datos de entrada al algoritmo los puntos de partida y de llegada para un determinado móvil (sea por ejemplo, un auto o una persona), y se representa el...
Regístrate para leer el documento completo.