Dark Visitant.
Videojuego RPG de
acción en Unreal
Engine 4
Grado en Ingeniería Multimedia
Trabajo Fin de Grado
Autor: Manuel Quirante Artiaga
Tutor/es: Mireia Luisa Sempere Tortosa
Mayo 2021
1
2
Resumen
El objetivo de este proyecto es el desarrollo de un videojuego de género RPG de acción para
ordenador, utilizando el motor gráfico Unreal Engine 4 y enfocándose en todas las partes su
desarrollo.
Se ha realizado un estudio sobre los videojuegos en la actualidad, enfocándose en los
videojuegos de género de rol, además de hablar sobre las diferentes herramientas utilizadas en
el proyecto, como motores gráficos, programas de modelado y texturizado.
También se ha desarrollado el documento de diseño del videojuego o GDD, donde se incluye
toda la información relevante del mismo, como el argumento, los objetivos, las mecánicas y los
personajes entre otros aspectos. Toda la información ha sido explicada detalladamente,
mostrando ejemplos del resultado final del proyecto, a modo de ayuda visual.
A continuación, se ha explicado cómo se han desarrollado los aspectos más relevantes en el
proyecto, centrándose en el proceso de desarrollo, redactándolo de manera sencilla, sin entrar
en demasiados elementos de programación.
Por último, se añadieron las conclusiones del proyecto y un anexo con todo el arte, para que se
puedan ver mediante imágenes gran parte de los acabados del producto final.
3
Motivación, justificación y objetivo general
Los videojuegos siempre me han parecido fascinantes. Sus historias, su música, el aspecto único
del mundo que cada uno constituye y esos pequeños detalles que dejan ver el cariño y mimo
con el que han sido desarrollados. Debido a todo esto quise ser desarrollador de videojuegos, y
así tratar de poner mi granito de arena en crear esas obras que a mí siempre me han encantado.
A lo largo de los distintos cursos transcurridos en Ingeniería Multimedia, se nos han ido pidiendo
distintos proyectos, normalmente por grupos, en los cuales debíamos desarrollar una pequeña
versión de un producto acabado. Cada integrante del grupo debía tomar unos roles específicos
en el desarrollo, los cuales se repartían dependiendo de las capacidades de cada persona.
Programador, diseñador, artista 3D han sido algunos de los roles que he ido desempeñando a lo
largo de los años y he disfrutado en cada uno de ellos.
El objetivo general de este trabajo consiste, explicado grosso modo, en desempeñar por mí
mismo todos los roles que son necesarios a la hora de realizar un videojuego con el fin de
adquirir experiencia en todos sus ámbitos. Todo ello me hará desempeñar roles que no había
experimentado antes y así crear un videojuego que sea completamente mío y del cual estar
orgulloso.
Este trabajo es en principio viable, ya que se trata de una pequeña demostración con contenido
reducido de un posible producto final, en la cual se realizarán tanto los diseños de niveles,
personajes y elementos de interfaz como el modelado e implementación de los mismos.
Con la realización de este trabajo, conseguiré adquirir y ampliar mis conocimientos a la hora de
realizar un videojuego en sus distintos ámbitos y demostrarme a mí mismo que soy capaz de
poner en práctica todo lo aprendido durante los años que llevo formándome como ingeniero
multimedia.
4
Agradecimientos
En el transcurso de los años en los que me he estado formando como ingeniero multimedia, he
conocido a muchas personas que han dejado una huella en mi vida y me han dado su apoyo
cuando lo he necesitado.
En especial, quería dar las gracias a mis padres y hermano, que siempre me han apoyado y dado
los ánimos y fuerzas para continuar cuando perdía la motivación.
También muchas gracias a mis amigos, tanto a los hechos durante la carrera como a los de toda
la vida, por darme con sus ideas, bromas y cariño algunos momentos de diversión que nunca
olvidaré.
5
Índice de contenidos
Resumen ........................................................................................................................................ 2
Motivación, justificación y objetivo general ................................................................................. 3
Agradecimientos ........................................................................................................................... 4
Índice de figuras ............................................................................................................................ 9
1. Introducción ........................................................................................................................ 13
2. Estado del arte. ................................................................................................................... 14
2.1. ¿Qué es un videojuego? .............................................................................................. 14
2.2. ¿Qué es un videojuego RPG? ...................................................................................... 16
2.2.1. ARPG .................................................................................................................... 16
2.2.2. JRPG ..................................................................................................................... 17
2.2.3. MMORPG ............................................................................................................. 18
2.2.4. Tacticial RPG ........................................................................................................ 19
2.3. Referencias .................................................................................................................. 20
2.3.1. Dark Cloud ........................................................................................................... 20
2.3.2. Kingdom Hearts ................................................................................................... 21
2.3.3. Diablo 3 ............................................................................................................... 22
2.3.4. Ni No Kuni: La ira de la Bruja Blanca ................................................................... 23
3. Objetivos ............................................................................................................................. 24
4. Metodología ........................................................................................................................ 25
5. Elección de herramientas .................................................................................................... 26
5.1. Motor Gráfico .............................................................................................................. 26
5.1.1. Unity .................................................................................................................... 26
5.1.2. Unreal Engine ...................................................................................................... 27
5.2. Software de modelado y animación ........................................................................... 28
5.2.1. Autodesk 3DS Max .............................................................................................. 28
5.2.2. Blender ................................................................................................................ 29
6
5.2.3. Mixamo................................................................................................................ 30
5.3. Texturizado e iconos ................................................................................................... 31
5.3.1. Photoshop ........................................................................................................... 31
5.3.2. Illustrator ............................................................................................................. 32
5.4. Sonido .......................................................................................................................... 33
5.4.1. Audacity ............................................................................................................... 33
5.4.2. FreeSound ........................................................................................................... 33
6. Documento de Diseño del Videojuego (GDD) ..................................................................... 34
6.1. Concepto del juego ..................................................................................................... 34
6.1.1. Argumento del juego ........................................................................................... 34
6.1.2. Objetivo del juego ............................................................................................... 35
6.1.3. Género ................................................................................................................. 35
6.1.4. Plataforma ........................................................................................................... 35
6.1.5. Tecnología ........................................................................................................... 35
6.1.6. Público ................................................................................................................. 36
6.2. Mecánica del juego ..................................................................................................... 36
6.2.1. Controles ............................................................................................................. 37
6.2.2. Movimiento y cámara ......................................................................................... 39
6.2.3. Sistema de niveles ............................................................................................... 41
6.2.4. Sistema de energía .............................................................................................. 43
6.2.5. Combate .............................................................................................................. 44
6.2.6. Interacción ........................................................................................................... 52
6.2.7. Sistema de inventario .......................................................................................... 53
6.2.8. Árbol de habilidades ............................................................................................ 58
6.2.9. Guardado y cargado de datos ............................................................................. 61
6.3. Personajes ................................................................................................................... 62
6.4. Escenarios y ambientación .......................................................................................... 64
6.4.1. Campamento ....................................................................................................... 64
7
6.4.2. Sala del jefe ......................................................................................................... 65
6.4.3. Mazmorra ............................................................................................................ 66
6.5. Interfaz ........................................................................................................................ 67
6.5.1. Interfaz de mazmorra .......................................................................................... 67
6.5.2. Menús .................................................................................................................. 70
6.6. Inteligencia artificial .................................................................................................... 79
6.7. Progresión del juego ................................................................................................... 82
7. Implementación .................................................................................................................. 83
7.1. Explicaciones previas sobre Unreal Engine ................................................................. 83
7.1.1. Blueprints ............................................................................................................ 83
7.1.2. Colisiones............................................................................................................. 86
7.2. Creación de los elementos visuales del juego ............................................................. 88
7.2.1. Modelos 3D ......................................................................................................... 88
7.2.2. Texturizado .......................................................................................................... 91
7.2.3. Creación de animaciones .................................................................................... 93
7.2.4. Animaciones en Unreal Engine ........................................................................... 96
7.2.5. Materiales ........................................................................................................... 97
7.2.6. Postprocesado ..................................................................................................... 98
7.3. Implementación de interfaz y menús ....................................................................... 101
7.3.1. HUD del personaje ............................................................................................ 101
7.3.2. Menús del juego ................................................................................................ 104
7.4. Creación de la mazmorra .......................................................................................... 110
7.4.1. Salas de la mazmorra ........................................................................................ 110
7.4.2. Ensamblado de la mazmorra ............................................................................. 112
7.4.3. Elementos de la mazmorra ............................................................................... 115
7.5. Implementación de las mecánicas de juego ............................................................. 117
7.5.1. Control del personaje ........................................................................................ 117
7.5.2. Controles de movimiento y cámara .................................................................. 119
8
7.5.3. Interacción con los elementos del entorno ...................................................... 122
7.5.4. Sistema de niveles y árbol de habilidades......................................................... 123
7.5.5. Sistema de inventario ........................................................................................ 124
7.5.6. Guardado y cargado de datos ........................................................................... 126
7.5.7. Sistema de combate .......................................................................................... 127
7.6. Inteligencia artificial .............................................................................................. 133
8. Conclusiones y trabajo futuro ........................................................................................... 135
Bibliografía y Referencias .......................................................................................................... 136
Recursos empleados ............................................................................................................. 136
Documentación ..................................................................................................................... 136
Anexo: Arte................................................................................................................................ 138
Imágenes de interfaz ............................................................................................................. 138
Modelos................................................................................................................................. 141
9
Índice de figuras
Figura 1. Secret of Mana Remake (2018) .................................................................................... 16
Figura 2. Pokémon Amarillo (1998) ............................................................................................. 17
Figura 3. World of Warcraft (2004) ............................................................................................. 18
Figura 4. Final Fantasy Tactics (1997).......................................................................................... 19
Figura 5. Captura InGame de Dark Cloud .................................................................................... 20
Figura 6. Captura InGame de Kingdom Hearts ............................................................................ 21
Figura 7. Captura InGame de Diablo 3 ........................................................................................ 22
Figura 8. Captura InGame de Ni No Kuni:La ira de la Bruja Blanca ............................................. 23
Figura 9. Captura del repositorio en la aplicación de GitKraken ................................................. 25
Figura 10. Logotipo del motor gráfico Unity ............................................................................... 26
Figura 11. Logotipo del motor gráfico Unreal Engine ................................................................. 27
Figura 12. Logotipo de Autodesk 3DS Max ................................................................................. 28
Figura 13. Logotipo de Blender ................................................................................................... 29
Figura 14. Logotipo de Mixamo................................................................................................... 30
Figura 15. Logotipo de Adobe Photoshop ................................................................................... 31
Figura 16. Logotipo de Adobe Illustrator .................................................................................... 32
Figura 17. Logotipo de Audacity .................................................................................................. 33
Figura 18. Logotipo de Freesound ............................................................................................... 33
Figura 19. Ayuda de controles en el menú de pausa .................................................................. 38
Figura 20. Captura InGame del campamento ............................................................................. 39
Figura 21. Iconos de los distintos parámetros del personaje ..................................................... 42
Figura 22. Captura InGame de la barra de energía en uso ......................................................... 43
Figura 23. Captura InGame del personaje disparando a un enemigo......................................... 44
Figura 24. Captura InGame del ataque potente característico del arma Ru Yi Bang .................. 45
Figura 25. Diagrama de flujo de los posibles combos del arma inicial del personaje, realizado
mediante la herramienta online Createlycon ............................................................................. 46
Figura 26. Captura InGame de dos enemigos en rango de ser fijados. “Cazador orco” muestra su
barra de vitalidad ya que es el enemigo fijado ........................................................................... 47
Figura 27. Ayuda de tipos de enemigos y sus características dentro del menú de pausa .......... 48
Figura 28. Captura InGame del personaje dañando a un enemigo ............................................ 49
Figura 29. Captura InGame del personaje siendo afectado por el problema de estado Fatiga . 51
10
Figura 30. Captura InGame del personaje en rango de interacción con un cofre del tesoro ..... 52
Figura 31. Captura InGame del inventario del personaje ........................................................... 53
Figura 32. Captura InGame de la selección de un arma en el inventario ................................... 55
Figura 33. Captura InGame de la puerta del nivel después del uso de Fertilizante mágico ....... 57
Figura 34. Captura InGame del árbol de habilidades del personaje dentro del menú de pausa 58
Figura 35. Captura InGame del menú principal del videojuego .................................................. 61
Figura 36. Captura InGame del ataque característico del jefe oculto ........................................ 63
Figura 37. Captura InGame del campamento mostrando la entrada a la mazmorra ................. 64
Figura 38. Captura InGame de la sala del jefe ............................................................................. 65
Figura 39. Captura del explorador de Unreal donde se muestran las distintas salas de la
mazmorra .................................................................................................................................... 66
Figura 40. Captura de los elementos que componen la interfaz de mazmorra .......................... 67
Figura 41. Captura de los elementos que componen el menú principal .................................... 70
Figura 42. Captura de los elementos comunes del menú de pausa ........................................... 72
Figura 43. Captura de los elementos del inventario ................................................................... 73
Figura 44. Captura de los elementos del menú de habilidades .................................................. 75
Figura 45. Captura de los elementos de las opciones de pausa ................................................. 77
Figura 46. Captura de los elementos del menú de ayuda ........................................................... 78
Figura 47. Representación de un modelo de árbol de comportamiento .................................... 79
Figura 48. representación del árbol de comportamiento de los enemigos, realizado mediante la
herramienta online Createlycon ................................................................................................. 80
Figura 49. Captura de los ajustes de clase (Class setings) del blueprint BaseInteractableObject
..................................................................................................................................................... 84
Figura 50. Ejemplo de Grafo de Eventos de uno de los enemigos del juego .............................. 85
Figura 51. Ejemplo de Grafo de Animación de uno de los enemigos del juego .......................... 85
Figura 52. Comportamiento definido de un objeto ante los demás tipos .................................. 86
Figura 53. Captura InGame de ejemplo de superposición .......................................................... 87
Figura 54. Malla base del personaje descartado para el proyecto ............................................. 88
Figura 55. Captura del proceso de esculpido del primer personaje ........................................... 89
Figura 56. Proceso de modelado poligonal del nuevo personaje del juego ............................... 90
Figura 57. Boceto empleado para el modelado del protagonista del juego ............................... 90
Figura 58. Textura del protagonista del juego ............................................................................ 91
Figura 59. Ejemplo de selección del color de las distintas partes del modelo ............................ 92
Figura 60. Peso del hueso de la cabeza sobre la malla del personaje ........................................ 93
Figura 61. Ejemplo de movimiento del esqueleto del protagonista ........................................... 94
11
Figura 62. Montage de una de las animaciones del protagonista .............................................. 96
Figura 63. Material base de los distintos elementos del juego................................................... 97
Figura 64.Material de postprocesado empleado para el Cel Shading en el juego ...................... 98
Figura 65.Comparativa entre la escena sin y con Cel Shading .................................................... 99
Figura 66. Material de postprocesado empleado para crear los contornos en los objetos ....... 99
Figura 67.Captura InGame de todos los efectos de postprocesado activos a la vez ................ 100
Figura 68. Código necesario para crear y añadir un widget a la escena del juego ................... 101
Figura 69. Captura del widget del HUD del personaje dentro del editor de widgets de Unreal
................................................................................................................................................... 102
Figura 70. Captura del widget del menú de pausa.................................................................... 104
Figura 71. Captura del widget del submenú de opciones de pausa ......................................... 105
Figura 72. Captura del widget del menú de inventario ............................................................. 106
Figura 73. Captura del widget del menú de habilidades ........................................................... 107
Figura 74. Captura del widget del menú de ayuda ................................................................... 108
Figura 75. Captura del widget del menú principal .................................................................... 109
Figura 76. Captura de una de las salas en el explorador de Unreal .......................................... 111
Figura 77. Ejemplo de funcionamiento del algoritmo............................................................... 112
Figura 78. Tipos de salas según su conexión ............................................................................. 114
Figura 79. Ejemplo de mazmorra creada mediante el algoritmo, marcando sus conexiones .. 114
Figura 80. Diferencia de tamaño entre superficies de salas grandes y pequeñas .................... 115
Figura 81. Captura de la pestaña de inputs en Unreal Engine .................................................. 117
Figura 82. Diferencias entre los valores de entrada de los inputs ............................................ 118
Figura 83. Ejemplo de movimiento por notificación dentro de una animación ....................... 119
Figura 84. Captura del blueprint del personaje donde se muestra el SpringArm..................... 121
Figura 85. Ejemplo de interacción con varios actores a la vez .................................................. 122
Figura 86. Algunas de las variables que el personaje utiliza para guardar sus parámetros ..... 123
Figura 87. Estructura de datos de los objetos del inventario ................................................... 124
Figura 88. Función de la instancia para guardar los datos ........................................................ 126
Figura 89. Captura del montage de animación de uno de los ataques ..................................... 128
Figura 90. Tabla de daño en relación al tipo y especie ............................................................. 130
Figura 91. Animación de combo del personaje que cuenta con un disparo ............................. 131
Figura 92. Captura de cono de visión de un enemigo ............................................................... 133
Figura 93. Enemigos atacando al jugador en su respectivo rango ............................................ 134
Figura 94. Título del juego, mostrado en el menú principal ..................................................... 138
Figura 95. Icono del ejecutable del juego ................................................................................. 138
12
Figura 96. Iconos de parámetros y estado ................................................................................ 139
Figura 97. Iconos de ayuda de controles ................................................................................... 139
Figura 98. Iconos de los objetos del inventario ........................................................................ 140
Figura 99. Iconos del mini mapa ............................................................................................... 140
Figura 100. Modelado del personaje protagonista ................................................................... 141
Figura 101. Modelo empleado en DeathCap y DeathShoot ..................................................... 141
Figura 102. Modelo del cristal emanador sin el material brillante final ................................... 142
Figura 103. Modelo del enemigo Zombie ................................................................................. 142
Figura 104. Modelo de Cazador Orco........................................................................................ 143
Figura 105. Modelo de Mago Kobold ........................................................................................ 143
Figura 106. Modelo de Guerrero Kobold .................................................................................. 144
Figura 107. Modelo del jefe Sun Wukong ................................................................................. 144
Figura 108. Modelo de la puerta de salida de la mazmorra (abierta y cerrada) ....................... 145
Figura 109. Modelos de los elementos del campamento ......................................................... 145
Figura 110. Modelos de las salas de la mazmorra vistos desde arriba ..................................... 146
13
1. Introducción
Hace años que el mundo se adentró en la era digital, en la que el entretenimiento digital toma
un papel protagonista en la vida de millones de personas. Los videojuegos forman parte de ese
grupo de entretenimiento, han evolucionado de forma increíble desde sus sencillos inicios y se
han llegado a convertir en una de las principales industrias del arte en la actualidad.
Existen multitud de tipos de videojuegos, cada uno con una temática, género y controles únicos,
pero casi todos comparten un mismo fin, el de entretener a los jugadores. Entre estos géneros
se encuentran los juegos de rol, videojuegos que intentan transmitir al jugador la sensación de
que forman parte del mundo que conforman y que se vea inmerso en su historia y jugabilidad.
Como en todos los sectores, hay distintos campos de trabajo a la hora de crear un videojuego,
como por ejemplo la programación, el diseño de las mecánicas y conceptos del videojuego o el
diseño artístico, entre muchos otros.
En este proyecto, se busca conseguir crear un videojuego del género de rol de acción, haciendo
frente a todos los roles necesarios para ello, desde la programación más básica hasta el diseño
de los personajes y mundos.
14
2. Estado del arte.
En este apartado se hablará sobre los videojuegos en la actualidad, haciendo especial hincapié
en los RPG. Además, se comentarán algunas de las referencias de videojuegos que han dado
paso a la temática de este proyecto.
2.1. ¿Qué es un videojuego?
Hoy en día los videojuegos forman parte de la vida de las personas desde que son muy pequeñas,
por lo que resulta complicado encontrar a alguien que no sepa que es un videojuego. Aunque
casi todo el mundo entiende el concepto de videojuego, es raro que sean capaces de
proporcionar una definición.
“Un videojuego es un programa informático creado expresamente para divertir, basado en la
interacción de una o varias personas y un aparato donde se ejecuta el juego. Recrean entornos
virtuales en los que el jugador puede controlar un personaje o elemento del entorno para
conseguir objetivos mediante unas reglas determinadas.”
Esta fue la primera definición de videojuego que se presentó durante los años en la carrera de
ingeniería multimedia, y que, en mi opinión, resume de manera acertada todo el concepto de
videojuego.
Los videojuegos pueden ser muy distintos entre sí, variando en la complejidad de sus controles,
su temática o la calidad grafica de cada uno. Los videojuegos pueden dividirse en distintos
géneros y subgéneros, y a continuación se verán algunos de los principales.
• Aventura: son juegos en los que el protagonista avanza en la trama interactuando con
diversos personajes y objetos. Se pueden dividir en los subgéneros de aventura
conversacional, aventura gráfica, acción-aventura, horror de supervivencia, sigilo y
battle royale.
• De disparos o shooters: juegos en los que el jugador ha de avanzar mediante el uso
continuado de armas a distancia. Suelen clasificarse en categorías según la posición de
la cámara en el juego. Estás categorías son, disparos en primera persona, en tercera
persona y Shoot’em up.
15
• Educativos: son juegos donde la intención principal es transmitir algún conocimiento al
jugador o trabajar alguna actividad.
• Estrategia: Se caracterizan por la necesidad de manejar un numeroso grupo de
personajes, objetos o datos para lograr un objetivo. Las dos grandes subcategorías de
este género son la estrategia en tiempo real y la estrategia por turnos, aunque existen
otros subgéneros menos destacados como los tower defense.
• Lucha: juegos basados en el combate entre varios personajes, principalmente centrados
en los combates cuerpo a cuerpo sin el uso de armas. En este tipo de juegos, la cámara
suele estar colocada en el lateral, dando al jugador la sensación de ser un espectador de
la pelea, aunque existen excepciones que manejan un entorno 3D o en primera persona.
• Plataformas: juegos en los que se debe avanzar por un escenario evitando obstáculos,
exigiendo un alto nivel de precisión por parte del jugador. El personaje suele tener que
enfrentarse a complejas estructuras utilizando todo tipo de acciones, como escalar,
saltar, correr o planear. Se suelen categorizar según la libertad de movimiento que se le
proporciona al jugador, ya sea en un entorno en 2D o 3D.
• Puzles: juegos caracterizados por ser desafíos de agilidad mental y que ponen a prueba
la inteligencia del jugador. Pueden involucrar problemas de lógica, estrategia,
reconocimiento de patrones, completar palabras o hasta el simple azar.
• Musicales: juegos cuyo desarrollo gira en torno a la música, ya sea mediante el uso de
un instrumento musical, el uso de la voz o el baile, y en donde los jugadores intentan
conseguir el mayor número de puntos posibles.
• Deportivos: juegos basados en deportes, reales o ficticios, y que simulan las reglas de la
disciplina original. Dependiendo de su grado de realismo, se pueden dividir en
simuladores de deportes o juegos arcade.
• Carreras: juegos en los que el jugador se sitúa en un recorrido establecido y debe llegar
al final antes que sus contrincantes. Normalmente el jugador maneja un vehículo a
motor, como un coche o avión, pero pueden existir otras posibilidades según el grado
de realismo del juego.
En la actualidad, la evolución de los videojuegos avanza a pasos agigantados, gracias a las
mejoras constantes del hardware y de su avance en popularidad hacia personas de todas las
edades. Debido a su popularidad, existen vertientes de personas, generalmente no jugadores,
que los tachan de pérdida de tiempo, ser una fuente de distracción e incluso de ser perjudiciales
para la salud por crear adicción. Por otro lado, muchos expertos han destacado sus valores
educativos y pedagógicos, siempre que el jugador sea responsable con su consumo.
16
2.2. ¿Qué es un videojuego RPG?
Una vez que se ha hablado de los distintos tipos de géneros en los que se pueden dividir los
videojuegos, se explicará en mayor detalle el género de rol.
Los videojuegos RPG (Role Playing Game) se basan en los juegos de rol de mesa tradicionales,
en los que el jugador controla un avatar dentro del juego, que interpreta un papel en la historia.
Generalmente, el jugador debe avanzar en la trama donde irá conociendo nuevos personajes,
explorando el mundo e ir adquiriendo objetos que le resultarán útiles en la aventura. Una de las
características principales de los juegos de rol consiste en el uso del término “nivel” para
referirse al grado de experiencia que el protagonista va adquiriendo mientras avanza en la
aventura.
Los RPG se pueden dividir en subgéneros, todos similares, pero con claras diferencias entre ellos.
Los principales subgéneros de juegos de rol son:
2.2.1. ARPG
Los juegos ARPG (Action Role Playing Game) son aquellos que combinan los elementos base de
los juegos de rol y acción. Cuentan con una progresión típica de los juegos de rol, pero
ofreciendo combates en tiempo real, exigiendo un tiempo de rección por parte del jugador para
evitar los ataques enemigos.
Juegos famosos de este género son la saga Diablo o Secret of Mana.
Figura 1. Secret of Mana Remake (2018) (Fuente https://cutt.ly/IbAudOT)
17
2.2.2. JRPG
Los juegos JRPG (Japanese Role Playing Game) toman una aproximación más fiel a los juegos de
rol de mesa tradicionales. En este tipo de juegos, el protagonista suele contar con un equipo de
personajes que lo asiste y acompaña a lo largo de la aventura. Los combates se suelen realizar
por turnos, en los cuales el jugador tiene todo el tiempo que necesite para pensar su siguiente
acción, y el orden de estos turnos suele estar determinado por una estadística en particular.
Normalmente cuentan con un gran número de encuentros con enemigos mientras el jugador se
mueve por el mapa, existiendo la necesidad, en algunos casos, de que el jugador deba detenerse
en alguna zona concreta para subir de nivel y poder enfrentarse a enemigos más poderosos.
Algunos de los juegos más conocidos de este género son Final Fantasy, Dragon Quest o
Pokémon, sagas que llevan muchos años lanzando nuevos títulos al mercado.
Figura 2. Pokémon Amarillo (1998) (Fuente https://en.wikipedia.org/wiki/Pok%C3%A9mon_Yellow)
18
2.2.3. MMORPG
Los juegos MMORPG (Massive Multiplayer Online Role Playing Game) cuentan con los objetivos
habituales de los juegos RPG, como completar misiones u obtener experiencia para aumentar el
nivel de los personajes, pero involucrando a cientos de jugadores interactuando entre sí en el
mismo mundo. En este tipo de juegos, las misiones, mundos y combates se orientan en la
colaboración entre jugadores, exprimiendo al máximo el componente multijugador.
Uno de los juegos más conocidos de este género es World Of Warcraft, juego lanzado en 2004
y que, mediante una política de expansiones, se ha mantenido actualizado hasta 2020.
Figura 3. World of Warcraft (2004) (Fuente https://cutt.ly/0bAs8xh)
19
2.2.4. Tacticial RPG
Los juegos Tacticial RPG (Tacticial Role Playing Game) combinan los principales elementos de los
juegos tradicionales de rol con los elementos de los juegos tácticos. El formato de este tipo de
juegos en cuanto apariencia, ritmo y estructura de reglas, es una recreación casi exacta de los
juegos de rol tradicionales de tablero. Una de las principales diferencias entre los juegos de rol
tradicionales y los TRPG es la falta de exploración, dando un mayor protagonismo a los combates
contra enemigos, que se desarrollan en mapas divididos en casillas, por las que los diversos
personajes y enemigos deberán avanzar y posicionarse para atacar.
Algunos de los juegos más famosos pertenecientes a este género son Final Fantasy Tactics o la
saga Fire Emblem.
Figura 4. Final Fantasy Tactics (1997) (Fuente https://xtremeretro.com/final-fantasy-tactics-2/)
20
2.3. Referencias
A continuación, se verán algunos de los títulos del género RPG que han servido como inspiración
para crear Dark Visitant: the monster world.
2.3.1. Dark Cloud
Dark Cloud es un videojuego ARPG con elementos de construcción de ciudades, desarrollado
por Level-5 y distribuido por Sony Computer Entertainment en el 2000 para PlayStation 2. [1]
El jugador encarnará a Toan, un joven que vive tranquilo en su aldea hasta que un malvado ser,
conocido como Genio Oscuro, arrasa todo el mundo, obligando al protagonista a intentar
recuperarlo. El mapa del mundo del juego está dividido en diversas zonas, cada una de ellas con
su respectiva ciudad a reconstruir y una mazmorra dividida en pisos, que se generan de manera
aleatoria en cada visita. Durante el transcurso de la aventura, el jugador irá recolectando una
gran variedad de armas, personajes jugables, objetos necesarios para reconstruir las ciudades e
irá interactuando con los diversos personajes que se encuentran en el mundo que irá
reconstruyendo poco a poco.
Figura 5. Captura InGame de Dark Cloud (Fuente https://en.wikipedia.org/wiki/Dark_Cloud)
Este juego ha sido la principal inspiración del proyecto, ya que fue el que me inició en el género
de los ARPGs y paso a formar parte de mis videojuegos favoritos.
21
2.3.2. Kingdom Hearts
Kingdom Hearts es un ARPG desarrollado y publicado por Square Enix (Squaresoft en ese
momento) en 2002 para la consola PlayStation2, en colaboración con The Walt Disney Company.
[2]
El jugador tomará el control de Sora, un joven cuyo destino le depara una lucha contra la
oscuridad en el mundo. Durante la aventura, el jugador irá conociendo a varios personajes que
le ayudarán en su misión, mientras explora diversos mundos, mayormente inspirados en
mundos de clásicos de Disney.
Uno de los grandes atractivos del título es su sistema de combate, basado en una gran variedad
de técnicas y combos, que proporcionan al jugador muchas herramientas para acabar con los
enemigos que se ponen en su camino.
Figura 6. Captura InGame de Kingdom Hearts (Fuente https://en.wikipedia.org/wiki/Kingdom_Hearts_(video_game))
Kingdom Hearts es el primer título de una larga saga que sigue sacando muevas entregas a día
de hoy, puliendo cada vez más sus mecánicas. El dinamismo del sistema de combate ha servido
de gran inspiración a la hora de diseñar el método de lucha en Dark Visitant: The monster world.
22
2.3.3. Diablo 3
Diablo 3 es un ARPG desarrollado por Blizzard Entertainment para Mac OS, Windows, Xbox 360,
PlayStation 3, Xbox One, Nintendo Switch y PlayStation 4 que se lanzó a nivel global el 15 de
mayo de 2012. [3]
La historia del juego comienza un tiempo después de los acontecimientos ocurridos en Diablo 2,
donde los jugadores deberán escoger a uno de los héroes de las tierras de Santuario para evitar
que un nuevo mal se cierna sobre ellas.
La jugabilidad de Diablo 3 es similar a la de su predecesor, manteniendo las distintas clases de
los héroes a escoger, todas con sus respectivas habilidades y hechizos. Como novedad en este
título, se han incorporado las Runas, piedras que permiten al jugador personalizar sus
habilidades y poderes, eligiendo entre una gran gama de posibilidades. La mayoría de combates
se llevan a cabo en mazmorras, generadas aleatoriamente, y permitirán la inclusión de hasta 4
jugadores.
Figura 7. Captura InGame de Diablo 3 (Fuente https://us.diablo3.com/es-mx/media/screenshots/?view=reaper-of-souls-11)
La generación de mazmorras de forma aleatoria, junto con la personalización de los personajes
han sido las mayores inspiraciones para este proyecto.
23
2.3.4. Ni No Kuni: La ira de la Bruja Blanca
Ni No Kuni es un RPG desarrollado por Level-5 junto con el estudio de animación Ghibli para
Nintendo DS y PlayStation3. Su versión de Nintendo DS, fue lanzada en diciembre de 2010
únicamente en Japón, titulada Ni No Kuni: El mago de color negro azabache, y contaba con un
combate basado en turnos al estilo de los JRPG. Su versión para PlayStation3, fue lanzada en
Japón en noviembre de 2011 y en el resto del mundo en 2013, y cambiaba el sistema de combate
por uno más dinámico y en tiempo real, más típico de los juegos ARPG. [4]
Aunque ambas versiones tienen diferencias a nivel de trama, la base de es la misma. El jugador
encarnará a Oliver, un joven que se embarcará en una gran aventura en otro mundo para
intentar recuperar a su madre fallecida. Durante su aventura irá conociendo a muchos
personajes y reclutando Unimos, criaturas que ayudarán a los personajes en los combates contra
las fuerzas del malvado Shadar, el Mago Oscuro.
Figura 8. Captura InGame de Ni No Kuni: La ira de la Bruja Blanca (Fuente https://juegosadn.eleconomista.es/trailer-de-ni-no-kuni-all-in-one-edition-no-55721/)
Gracias al trabajo del estudio Ghibli, el juego cuenta con un apartado visual colorido y
espectacular, que recuerda a una película de animación, y ha sido el estilo que se ha querido
imitar en el proyecto.
24
3. Objetivos
El objetivo del proyecto es el desarrollo de un videojuego de género RPG de acción para
ordenador, utilizando el motor gráfico Unreal Engine 4 en su versión 4.21.2 y enfocándose en
todas las partes su desarrollo.
El videojuego deberá ser en 3D y contará una temática cartoon de fantasía para su apartado
gráfico. El jugador controlará un personaje que contará con una gran variedad de técnicas
basadas en combos, las cuales se irán desbloqueando mediante un sistema de niveles.
El juego se desarrollará en distintos escenarios, pudiéndose cambiar entre ellos a lo largo de la
partida. Uno de los escenarios se generará a partir de la fusión de piezas, a modo de puzle, y
colocadas de forma aleatoria, por lo que será distinto cada vez que el jugador lo visite.
En el desarrollo del proyecto se destacan los siguientes objetivos:
• Diseño de personajes y mapas en 3D con acabado cartoon.
• Diseño e implementación de un sistema de menús y HUD.
• Desarrollo e implementación de la inteligencia artificial para los enemigos del juego.
• Diseño e implementación de un sistema de combate ágil y variado.
• Estudio de juegos similares para incorporar ideas de los mismos.
25
4. Metodología
La metodología escogida para gestionar el proyecto ha sido la metodología ágil Kanban. Se basa
en dividir el trabajo en pequeñas tareas, para así poder hacer continuos cambios incrementales
hasta finalizarlas. Las tereas pueden tener diferentes estados, dependiendo del grado de
desarrollo en el que se encuentran y se normalmente se dividen de la siguiente forma:
• Tareas pendientes: tareas que aún no han sido comenzadas.
• Tareas en curso: procesos iniciados, pero que aún siguen en desarrollo.
• Tareas para revisar: tareas que han sido finalizadas, pero quedan a esperas de posibles
revisiones futuras debido al avance de otras tareas.
• Tareas finalizadas: tareas totalmente acabadas.
La metodología Kanban utiliza técnicas visuales para organizar las tareas en cada estado.
Normalmente, las tareas se escriben en post-it, junto con las personas encargadas de realizarlas
y se pegan en una pizarra dividida en columnas, una por cada estado de la tarea. Este método
permite un flujo de trabajo ágil, ya que todos los integrantes del proyecto pueden ver su estado
con un simple vistazo a la pizarra de tareas, actuando si el tiempo para realizar alguna de ellas
está excediendo el estimado.
Para llevar a cabo esta gestión, se ha utilizado la herramienta Trello, que permite ordenar las
tarjetas de forma virtual, de igual manera que la anteriormente descrita.
Además del uso de Trello para la gestión del proyecto, se ha utilizado la aplicación GitKraken
para realizar el control de versiones, permitiendo deshacer cualquier cambio no deseado
durante todo el desarrollo. La Figura 9 es un ejemplo de la gestión de las distintas partes en las
que se ha dividido el proyecto, haciendo ramas en el repositorio para cada nueva tarea.
Figura 9. Captura del repositorio en la aplicación de GitKraken (Fuente propia)
26
5. Elección de herramientas
En este apartado se hablará de las distintas herramientas consideradas para su uso en el
proyecto, así como las finalmente seleccionadas, explicando brevemente el motivo de su
selección.
5.1. Motor Gráfico
Aquí se hablará de los dos motores gráficos que se consideraron al inicio del proyecto. Cabe
destacar que la selección de motor es la elección más importante del proyecto, ya que los
resultados finales del proyecto pueden cambiar drásticamente dependiendo del motor
empleado.
5.1.1. Unity
Figura 10. Logotipo del motor gráfico Unity
Unity es un motor gráfico multiplataforma creado por Unity Technologies que proporciona a sus
usuarios todas las herramientas necesarias para la creación y manipulación de contenido tanto
2D como 3D en tiempo real. Unity destaca por su facilidad de uso y la gran cantidad de
plataformas en las que está disponible, destacando en ellas en sector móvil, los ordenadores
personales y las consolas. [5]
Además, Unity es compatible con una gran variedad de software como Blender, Maya, Adobe
Photoshop, etc. Permitiendo una integración rápida y fácil de los assets creados por los usuarios
para su uso en el motor.
27
5.1.2. Unreal Engine
Figura 11. Logotipo del motor gráfico Unreal Engine
Unreal Engine es un motor gráfico multiplataforma creado por la compañía Epic Games,
mostrado por primera vez en el shooter en primera persona Unreal en 1988. Aunque se
desarrolló principalmente para los shooters en primera persona, ha sido utilizado en una gran
variedad de videojuegos de distinto género como lucha, RPG o sigilo.
Unreal ha tenido cuatro versiones hasta la fecha, siendo tres de ellas de pago por suscripción y
su cuarta entrega gratuita desde 2015. En mayo de 2020 Epic games anunció la quinta versión
del motor gráfico, cuyo lanzamiento está previsto para finales de 2021. [6]
Unreal destaca por ser una de las herramientas de creación de contenido 3D en tiempo real más
potentes del mercado, pudiendo conseguir resultados fotorrealistas de grandísima calidad.
Este ha sido el motor seleccionado para desarrollar el proyecto tras haber estudiado ambas
opciones. El motivo de la elección de Unreal Engine se debe principalmente a intereses
didácticos y así adquirir una mayor cantidad de competencias para el futuro laboral. Unreal es
un motor muy utilizado por las empresas de videojuegos más famosas debido a su versatilidad
y acabados de gran calidad. También cuenta con una gran cantidad de documentación en línea
y una comunidad de usuarios muy activa tanto en su propio principal como en YouTube,
proporcionando una información de gran ayuda durante el desarrollo del proyecto.
28
5.2. Software de modelado y animación
A continuación, se hablará de los diferentes programas de modelado en 3D que se han tenido
en cuenta, así como herramientas de utilidad a la hora de realizar las animaciones en el proyecto.
5.2.1. Autodesk 3DS Max
Figura 12. Logotipo de Autodesk 3DS Max
Autodesk 3DS Max es un software basado en plugins de modelado y renderizado en 3D para la
visualización de diseños, juegos y animación desarrollado por Autodesk Media & Entertaiment.
3DS Max es un programa de uso por suscripción de pago y uno de los más utilizados
actualmente, destacando sobre todo en la creación de videojuegos, anuncios de televisión y
arquitectura. [7]
Aunque este software ha sido utilizado durante la carrera, debido a su cuota de suscripción de
pago y la existencia de alternativas gratuitas, no ha sido el software seleccionado.
29
5.2.2. Blender
Figura 13. Logotipo de Blender
Blender es un programa de código abierto dedicado especialmente al modelado, iluminación,
renderizado y animación 3D. El programa fue inicialmente distribuido de forma gratuita, pero
son el código fuente, pero posteriormente pasó a ser software libre. [8]
La arquitectura de Blender está basada en plugins, y dispone de la capacidad de ser ampliada
mediante unos módulos llamados ADD-ONS. Aunque es un programa gratuito sus usuarios
pueden poner a la venta los add-ons que diseñan para que otros usuarios los adquieran, por lo
que es una comunidad muy activa y en crecimiento.
Es compatible con una gran variedad de sistemas operativos, incluyendo Windows, MacOS,
Linux y Android entre otros.
A pesar de ser un programa gratuito, Blender está a la altura de programas de pago como 3DS
Max y es usado por muchas pequeñas empresas de la industria del cine y los videojuegos.
Blender ha sido el software seleccionado para el proyecto debido a su disponibilidad gratuita, la
amplia cantidad de contenido disponible en la web gracias a su comunidad de usuarios y su uso
durante varias asignaturas de la carrera, lo que me proporciona los conocimientos necesarios
para su uso.
30
5.2.3. Mixamo
Figura 14. Logotipo de Mixamo
Mixamo es una compañía desarrolladora de servicios gráficos en 3D que fue adquirida por Adobe
Systems Incorporated en junio de 2015. Mixamo utiliza machine learning para automatizar los
pasos del proceso de animación de un personaje 3D. [9]
Actualmente Mixamo cuenta con una página web gratuita en la cual los usuarios solo deben
registrarse para tener acceso a una gran biblioteca de animaciones y modelados. Para su uso
basta con subir a la web el modelado en un formato compatible y seleccionar donde se
encuentran las articulaciones del mismo. Una vez hecho eso, el personaje ya estará listo para
ser animado.
Durante el proyecto, la gran mayoría de animaciones han sido desarrolladas en Blender, para
conseguir así un mayor índice de personalización. Para algunas animaciones más generales o
simplemente para conseguir una mayor variedad de estas se ha empleado la web de Mixamo,
permitiéndome además adquirir experiencia a la hora de emplear recursos que no son de
elaboración propia.
31
5.3. Texturizado e iconos
En este apartado se detallarán el software que se ha utilizado en el proyecto para la creación de
imágenes en 2d, ya sea para las texturas de los modelos como la creación de los distintos iconos
de la interfaz.
5.3.1. Photoshop
Figura 15. Logotipo de Adobe Photoshop
Adobe Photoshop es un editor de gráficos rasterizados desarrollado y publicado por Adobe
Systems Incorporated para Windows y MacOS. Es utilizado principalmente pata el retoque
fotográfico y es líder mundial en aplicaciones de edición debido a su amplia gama de
herramientas, las cuales pueden sur ampliadas mediante plugins. [10]
Aunque Photoshop es capaz de realizar imágenes hiperrealistas, debido a la naturaleza del estilo
artístico empleado en el videojuego solo ha sido empleado para crear imágenes con patrones
de colores de tamaño muy reducido. Obteniendo así modelos con texturas de colores muy vivos,
pero simples, que apenas ocupan espacio en memoria.
32
5.3.2. Illustrator
Figura 16. Logotipo de Adobe Illustrator
Adobe Illustrator es un programa de dibujado basado en el uso de vectores desarrollado y
publicado por Adobe Systems Incorporated. [11]
Es utilizado principalmente para la manipulación de tipografías, creación de logotipos y diseño
vectorial. Gracias a que las imágenes vectoriales son creadas por objetos geométricos
independientes, estas se pueden ampliar cuanto se desee sin perder calidad.
El uso de Illustrator durante el proyecto se ha limitado a la creación de iconos para los menús y
el logotipo del juego. Utilizando ambos programas junto con las herramientas proporcionadas
por el propia Unreal se ha creado toda la interfaz 2D del videojuego.
33
5.4. Sonido
A continuación, se hablará de las herramientas y webs empleadas para la obtención y edición
de los distintos sonidos del proyecto. La mayoría de sonidos y música han sido adquiridos
mediante webs gratuitas o el bazar de assets de Unreal Engine.
5.4.1. Audacity
Figura 17. Logotipo de Audacity
Audacity es un software libre desarrollado por un grupo de voluntarios y distribuido de forma
pública, disponible para la mayoría de sistemas operativos. Es un editor y grabador de audio con
multipista que destaca por su facilidad de uso y su interfaz traducida a varios idiomas. [12]
5.4.2. FreeSound
Figura 18. Logotipo de Freesound
Freesound es una base de datos colaborativa de grabaciones de audio publicadas bajo la licencia
Creative Commons en la cual los usuarios pueden descargar o subir sonidos grabados de forma
gratuita. [13]
34
6. Documento de Diseño del Videojuego (GDD)
El Documento de Diseño del Videojuego o GDD (Game Design Document) en inglés es el
documento que representa el “esqueleto” de un videojuego. Este documento se realiza en la
primera fase de desarrollo y marca una guía detallada sobre todas las características del
videojuego (conceptos, historia, género, mecánicas, etc.). [14]
En el GDD se ven reflejados los cambios que van surgiendo en el videojuego durante su
desarrollo siendo actualizado por los distintos integrantes del proyecto.
En este apartado se describe el GDD del videojuego Dark Visitant: the monster world
6.1. Concepto del juego
6.1.1. Argumento del juego
En un mundo asolado por el continuo ataque de los monstruos, vives apartado del peligro junto
con tu abuelo en una pequeña cabaña a las afueras de un bosque, donde te encargas de realizar
las tareas más duras mientras tu abuelo investiga a los monstruos que habitan en el bosque con
la esperanza de comprender su comportamiento.
Un día como otro cualquiera tu abuelo no volvió a casa, dejando únicamente en la cabaña la
extraña brújula que siempre llevaba consigo.
Armado con valor, tu espada favorita y la brújula de tu abuelo te diriges al bosque. Logras montar
un pequeño campamento en un claro cercano a la entrada y te preparas para adentrarte en lo
más profundo del bosque con la esperanza de encontrar a tu abuelo y poder volver a casa.
35
6.1.2. Objetivo del juego
El objetivo del juego consiste en adentrarte lo máximo posible en el bosque superando los
distintos niveles de este y derrotar al “jefe” que te aguarda en él. Cuanto más fuerte es el jugador
también lo son los enemigos a los que se enfrenta dando como resultado una jugabilidad casi
infinita cuyo objetivo final consiste en motivar al jugador a intentar superar los retos.
6.1.3. Género
El juego pertenece al género de rol de acción, explicado en el apartado de Estado del Arte. Es
una aventura en tercera persona inspirada en varios juegos de éxito como Kingdom Hearts o la
saga Diablo entre muchos otros.
6.1.4. Plataforma
El videojuego ha sido desarrollado para ordenador como plataforma principal debido a que se
ha diseñado para ser jugado con ratón. Actualmente solo es compatible con el sistema operativo
Windows, pero posteriormente se buscará la compatibilización con los sistemas Mac y Linux.
6.1.5. Tecnología
El ordenador donde se desarrollará el juego tiene las siguientes características técnicas:
• Procesador Intel® Core™ i5-4690K 3.50GHz
• Memoria RAM 8GB DDR3
• Disco duro SSD 250GB
• Tarjeta gráfica Gigabyte GeForce GTX 960 4GB GDDR5
36
6.1.6. Público
Debido a que la mecánica principal del título es la lucha, este no es recomendable para menores
de 12 años. El videojuego está enfocado a todo tipo de jugador que disfrute de los juegos
coloridos y con unas mecánicas simples pero entretenidas.
6.2. Mecánica del juego
Las mecánicas de un juego de consisten en una serie de reglas que describen que puede hacer
el jugador y como debe hacerlo.
En el caso de Dark Visitant: the monster world, el juego cuenta con varias mecánicas clave para
el desarrollo de la jugabilidad, como el sistema de combate, el inventario, el sistema de niveles
y la exploración de niveles generados aleatoriamente. A su vez también cuenta con otras
mecánicas además de las anteriores mencionadas para conseguir una experiencia de juego
plena.
Ahora se explicarán en mayor detalle todas las mecánicas del título.
37
6.2.1. Controles
Los controles del juego se pueden dividir en dos apartados distintos dependiendo de si el
jugador se encuentra dentro de los diversos menús del juego o no. Todos los controles están
basados en el uso de teclado y ratón.
Los controles en menús son los siguientes:
• A: permite cambiar al submenú que se encuentra a la izquierda del actual, siempre que
se esté en el menú de pausa.
• D: permite cambiar al submenú que se encuentra a la derecha del actual, siempre que
se esté en el menú de pausa.
• P o Escape: Cerrar el menú de pausa y volver al juego.
• Botón izquierdo del ratón: seleccionar opciones del menú, utilizar objetos, equipar
armas o adquirir habilidades.
• Botón derecho del ratón: descartar objetos o armas del inventario.
Los controles fuera de menús son los siguientes:
• W: moverse hacia delante.
• A: moverse hacia la izquierda.
• S: moverse hacia atrás.
• D: moverse hacia la derecha.
• E: interactuar con los objetos.
• P o Escape: pausar el juego y entrar al menú de pausa.
• Ctrl izquierdo: activar el “modo disparo”
• Mayús izquierdo: correr.
• Barra espaciadora: realizar una “esquiva” hacia la dirección seleccionada con WASD.
• Botón izquierdo del ratón: “combos simples”. En “modo disparo” permite realizar
ataques a distancia.
• Botón derecho del ratón: “ataques potentes”.
• Botón central del ratón: “fijar al enemigo” más cercano al jugador.
• Rueda del ratón: cambiar el enemigo fijado por el siguiente más cercano al jugador.
• Movimiento del ratón: cámara.
38
Los términos entre comillas (“”) de los controles son mecánicas básicas del juego las cuales se
verán en mayor detalle a continuación. Además, el juego cuenta con un apartado de ayuda
dentro del menú de pausa llamado “Diario de viaje”, como muestra la Figura 19. En él se
encuentran explicadas varias mecánicas y controles del mismo.
Figura 19. Ayuda de controles en el menú de pausa (Fuente propia)
39
6.2.2. Movimiento y cámara
El personaje cuenta con un movimiento simple en tres dimensiones y con una velocidad de
desplazamiento alta para poder recorrer los grandes mapas en un tiempo moderado. La cámara
es en tercera persona y durante la mayoría de acciones del jugador estará situada a una distancia
por detrás del personaje, como puede verse en la Figura 20. Si el jugador se acerca demasiado
a un objeto del mapa colisionable, como una pared, la cámara se acercará al personaje para
evitar así meterse dentro de dicho objeto.
Figura 20. Captura InGame del campamento (Fuente propia)
Más allá del movimiento básico del personaje también es posible realizar tres acciones que
cambian el movimiento del mismo; correr, esquivar y cargar hacia delante.
• Correr:
Mientras el jugador mantenga pulsado el botón para correr el personaje aumentará su
velocidad a cambio de un coste de energía, la cual se explicará más adelante. Durante el
tiempo que el personaje corre la cámara se sitúa más atrás de lo habitual para dar una mayor
sensación de velocidad.
40
• Esquivar:
Las esquivas son movimientos que permiten evitar el daño del ataque de un enemigo
durante un breve periodo de tiempo. Al ejecutar una esquiva el jugador debe especificar la
dirección de la misma mediante las teclas WASD y pulsar el botón de esquiva. Las esquivas
permiten al personaje atravesar a los enemigos que tiene cerca para poder salir de
situaciones comprometidas.
• Cargar hacia delante:
El primer “ataque potente” de algunas armas consiste en una rapidísima carga hacia donde
está mirado el jugador. Durante este pequeño periodo de tiempo el jugador pierde la
capacidad de controlar al personaje, pero este recorre una gran distancia durante dicho
tiempo.
Combinando las tres variantes de movimiento con las suaves animaciones del personaje a la
hora de correr, todo ello acompañado de una cámara que sigue y se adapta a los movimientos
del jugador, se consigue un sistema de movimiento natural y rápido.
41
6.2.3. Sistema de niveles
El sistema de niveles es la mecánica encargada de la progresión de la dificultad del juego, ya que
cuanto más poderoso es el personaje, más lo son los enemigos también.
Cada vez que se derrota a un enemigo el personaje consigue unos puntos de experiencia que
dependen del tipo y nivel del enemigo. Cuando se reúne la cantidad de experiencia necesaria el
personaje sube de nivel, aumentando sus parámetros de combate y otorgándole puntos de
habilidad, los cuales se explicarán próximamente.
Los distintos parámetros del personaje son los siguientes:
• Vitalidad: Representa la salud del personaje. Si llega a cero acabará la partida.
• Energía: La energía es lo que permite al personaje realizar acciones que requieran un
gasto físico como correr o atacar. Si llega a cero no podrás realizar ninguna de estas
acciones.
• Regeneración: Representa la velocidad a la que el personaje recupera su energía.
• Poder ofensivo: Representa el poder de ataque del personaje. A mayor poder ofensivo,
mayor será el daño causado.
• Poder defensivo: Representa la resistencia al daño del personaje. Cuanto más alto sea,
menos daño recibirás.
• Máximo número de cargas: El número de veces que puedes hacer una carga. Las cargas
se realizan de manera automática una vez cada 0.5s mientras te encuentres dentro del
“modo disparo”.
Los parámetros del personaje están representados mediante una serie de iconos (Figura 21)
tanto en los menús de ayuda como en el árbol de habilidades, del cual se hablará en un futuro
apartado.
42
Figura 21. Iconos de los distintos parámetros del personaje (Fuente propia)
Una vez que se ha subido un nivel, la experiencia requerida para subir al siguiente aumenta,
consiguiendo así un sistema de progresión en el que el jugador deberá enfrentarse a enemigos
de mayor poder para poder conseguir la experiencia necesaria para seguir subiendo su nivel.
43
6.2.4. Sistema de energía
Como se ha explicado en el apartado anterior la energía es el parámetro necesario para realizar
las acciones físicas del juego. Las acciones que requieren de energía para ser realizadas son
correr y todo tipo de ataques en combate. Cuando se realiza una de esas acciones el medidor
de energía del personaje, representado por una barra verde circular, baja como se representa
en la Figura 22.
El medidor de energía solo será visible cuando la energía del personaje no esté llena,
desapareciendo de la pantalla en el momento que esta se complete.
El medidor de energía del personaje se empieza a rellenar de manera automática unos
momentos después de haber realizado una acción que consuma energía. En el caso de que la
acción a realizar consuma más energía de la restante del personaje esta no podrá ejecutarse.
Figura 22. Captura InGame de la barra de energía en uso (Fuente propia)
44
6.2.5. Combate
El sistema de combate es la mecánica principal del videojuego, ya que conseguir un sistema
intuitivo, rápido y variado es una de las bases de los juegos de acción. Debido a que es un sistema
complejo será dividido en una serie de apartados que explican a grandes rasgos todas las
mecánicas de combate posibles.
6.2.5.1. Modo disparo
El “modo disparo” es la forma de realizar ataques a distancia en el videojuego y la forma de
atacar utilizando la brújula mágica. Cuando se está en este modo aparece un punto de mira en
la pantalla representando de manera aproximada hacia donde volarán los proyectiles que lance
el personaje.
La cámara durante este modo se acerca más de lo habitual para ofrecer un mejor ángulo de
visión desplazando al personaje hacia la izquierda, como se puede ver en la Figura 23.
Figura 23. Captura InGame del personaje disparando a un enemigo (Fuente propia)
Los proyectiles generados varían su fuerza en proporción a la distancia con el enemigo, haciendo
más daño cuando menor sea esta.
45
Mediante el uso de distintas habilidades de combate se puede sacar mayor partido al modo
disparo, ya sea realizando “cargas” u otorgando capacidades explosivas a los proyectiles. Las
cargas aumentan la potencia y el tamaño de los proyectiles, haciendo que utilizarlas proporcione
proyectiles más poderosos, pero con mayor carencia de disparo. Las cargas se obtienen de
manera automática mientras el personaje se encuentre en este modo, siempre que haya
desbloqueado la habilidad “Brillo del recuerdo”.
Este modo de combate ralentiza el movimiento del personaje, pero lo mantiene a una distancia
segura de los enemigos, por lo que es perfecto si te estás enfrentando a un enemigo difícil de
derrotar.
6.2.5.2. Ataques potentes
Los “ataques potentes” son junto con los combos el método principal de combate en el
videojuego. Para poder ejecutar estas acciones primero debes desbloquearlas adquiriendo la
habilidad “Maestría de combate” en el árbol de habilidades, del cual se hablará próximamente.
Los “ataques potentes” son poderosos golpes que suelen tener amplios radios de acción y una
mayor potencia, pero conllevando un mayor coste de energía para el personaje, un ejemplo en
la Figura 24.
Son ataques finalizadores de combos, lo que significa que salvo en una excepción no es posible
seguir atacando después de uno de estos “ataques potentes”.
Figura 24. Captura InGame del ataque potente característico del arma Ru Yi Bang (Fuente propia)
46
6.2.5.3. Combos
El método más versátil de combate en el videojuego y en el cual se basan todas las armas de
corto alcance del mismo. Un combo es una secuencia de ataques encadenados en un corto
periodo de tiempo.
En Dark Visitant: the monster world los combos se pueden realizar combinando “ataques
normales” junto con “ataques potentes” siempre y cuando se presione el botón correspondiente
de ataque a tiempo y el personaje tenga suficiente energía para realizarlo.
Figura 25. Diagrama de flujo de los posibles combos del arma inicial del personaje, realizado mediante la herramienta online Createlycon
(Fuente propia)
Como puede verse en la Figura 25 el jugador puede decidir qué tipo de ataque quiere hacer
teniendo en cuenta las opciones del arma. En este caso concreto la “Bluowie” puede ejecutar 5
golpes normales consecutivos o finalizar el combo realizando cualquier “ataque potente”
después de un ataque normal. Algunas armas como la “Bluowie” poseen un primer “ataque
potente” excepcional en forma de rápida carga hacia delante, la cual tiene permitido continuar
el combo como si de un “ataque normal” se tratase.
Dependiendo del tipo de arma los combos pueden variar en forma, número de golpes
consecutivos y coste energético para realizarlos, por lo que sirven para dar una gran variedad a
la jugabilidad y permiten al jugador utilizar el tipo de arma que más se adapte a su estilo de
juego.
47
6.2.5.4. Fijar enemigos
En Dark Visitant: the monster world fijar un enemigo se conoce como la acción de centrar la vista
de la cámara en él para tenerlo vigilado en todo momento y poder luchar de una forma más
segura.
Cuando el personaje se acerca lo suficiente a un enemigo, se muestran al jugador una serie de
elementos en pantalla, una esfera de color lila brillante, el nombre del enemigo y su nivel. Esto
significa que está en rango de ser fijado por el jugador, sirviendo como un ejemplo de ello la
Figura 26. Cuando un enemigo es fijado, el color de la esfera se vuelve azul, demás muestra al
jugador su barra de vitalidad y el su “tipo”, ambos términos explicados en el siguiente apartado.
Si se tiene fijado a un enemigo no es necesario apuntar en “modo disparo” ya que el personaje
se girará de forma automática para tenerlo de frente, por lo que todos los ataques, incluidos los
proyectiles, estarán dirigidos al enemigo. Solo es posible tener un enemigo fijado a la vez, pero
se puede cambiar de objetivo entre los distintos enemigos cercanos.
Figura 26. Captura InGame de dos enemigos en rango de ser fijados. “Cazador orco” muestra su barra de vitalidad ya que es el enemigo fijado
(Fuente propia)
48
6.2.5.5. Sistema de vitalidad
Todo el sistema que se encarga de disminuir o incrementar la vitalidad de los distintos
personajes del juego. Cuando un enemigo es atacado por el jugador, o este es atacado por un
enemigo, su barra de vitalidad se reduce una cantidad determinada a la cual se le denomina
daño.
Para dar complejidad a la jugabilidad se tienen en cuenta varios factores para calcular daño
realizado al enemigo. Estos factores son el “poder ofensivo” y “poder defensivo” explicados en
el apartado de 6.2.3 Sistema de niveles, además de contar con unos valores ocultos que
aumentan o disminuyen el daño en función del arma empleada y del “tipo” del enemigo.
El tipo del enemigo representa la especie a la que pertenece este, teniendo cada una de ellas
sus distintas debilidades y resistencias. Las especies presentes en el juego se muestran en el
menú de ayuda del juego, como representa la Figura 27.
El tipo específico de cada enemigo se muestra en modo de icono al jugador cuando fija al
enemigo, un ejemplo de ello se encuentra en el “Cazador orco” de la Figura 26. Cada tipo de
enemigo tiene un icono correspondiente para facilitar su identificación.
Figura 27. Ayuda de tipos de enemigos y sus características dentro del menú de pausa (Fuente propia)
49
Una vez que se tienen en cuenta todos los factores mencionados anteriormente y se ha
calculado el daño final del ataque, el enemigo o jugador al que fuera dirigido recibe el daño,
disminuyendo su barra de vitalidad. Si la barra de vitalidad de un enemigo bajara a cero este
será derrotado y otorgará experiencia al jugador, como se explicó en el apartado 6.2.3 Sistema
de niveles. Si fuera la vitalidad del jugador la que se agotara este sería derrotado y se acabaría
la partida, volviendo al campamento inicial.
Para facilitar al jugador el identificar el personaje dañado por un ataque, este adquiere una
tonalidad rojiza durante un breve periodo de tiempo y se muestra el daño realizado mediante
un número en la pantalla como muestra la Figura 28.
Figura 28. Captura InGame del personaje dañando a un enemigo (Fuente propia)
50
6.2.5.6. Problemas de estado
Son estados alterados que pueden adquirir tanto el personaje como los enemigos a los que se
enfrenta y que siempre tienen un efecto negativo en la jugabilidad, ya sea mediante perdida de
vitalidad o dificultando la realización de algunas acciones.
En el videojuego existen cuatro problemas de estado, los cuales se pueden adquirir ya sea
mediante cofres trampa o por los ataques de algunas armas. Se explicarán a continuación los
estados existentes.
• Envenenamiento: El único problema de estado que afecta tanto al personaje como a los
enemigos, siendo estos inmunes a los tres restantes. Reduce la vitalidad a intervalos
regulares sin llegar a matar. Puede neutralizarse con antídoto.
• Ralentización: Reduce a la mitad la velocidad de desplazamiento y ataque del personaje
dificultando su movilidad. Puede neutralizarse con savia especial o con el paso del
tiempo.
• Maldición: Evita el uso de magia por parte del personaje, impidiendo así utilizar la
brújula mágica para poder realizar ataques a distancia o los proyectiles de las armas
mágicas. Puede neutralizarse con rocío de luz.
• Fatiga: Reduce a 0 la energía del personaje además de aumentar el consumo de la misma
para todo tipo de acciones. Puede neutralizarse con horchata fresquita.
Cada uno de los problemas de estado tiene un objeto consumible para poder neutralizarlo, de
los cuales se hablará en la sección 6.2.7.1 Consumibles dentro del apartado 6.2.7 Sistema de
inventario.
Los diversos efectos y curas de los problemas de estado se encuentran listados en la sección de
ayuda dentro del menú de pausa, siempre a disposición del jugador en caso de que necesite
consultar alguna duda.
51
Cuando el jugador ha sido afectado por un problema de estado, una notificación le indica de
cual se trata y se le da una pista de cómo tratarlo, tal como se indica en la Figura 29. Todos los
problemas tienen un indicador visual en forma de icono para facilitar su identificación, además
de algunos efectos adicionales como cambios de color del personaje o la brújula de este.
Figura 29. Captura InGame del personaje siendo afectado por el problema de estado Fatiga (Fuente propia)
Varios problemas de estado pueden afectar al personaje a la vez, por lo curarlos lo antes posible
debería ser la prioridad del jugador si no quiere verse metido en problemas difíciles de superar.
52
6.2.6. Interacción
El sistema de interacción del videojuego es muy simple, solo debes estar cerca de un objeto con
el que puedas interactuar y pulsar el botón de interacción para hacerlo.
Los objetos interactuables se muestran al jugador con dos exclamaciones encima de ellos (“!!”)
siempre que este se encuentre dentro del área de interacción, un ejemplo en la Figura 30. En el
caso de que más de un objeto se encuentre dentro del rango de interacción el jugador decidirá
con cuál de ellos interactuar mirándolo fijamente.
Algunos objetos con los que interactuar como la puerta de la mazmorra muestran mensajes
distintos al jugador para especificar qué necesita para poder abrirla o qué debe hacer una vez
ha llegado allí.
Figura 30. Captura InGame del personaje en rango de interacción con un cofre del tesoro (Fuente propia)
53
6.2.7. Sistema de inventario
El sistema de inventario es otra de las mecánicas más importantes del videojuego, ya que es el
encargado de la gestión de los diversos objetos y armas que hay en el mismo.
Lo primero que se muestra una vez que se ha entrado al menú de pausa es el inventario del
personaje. En él se muestran los diversos objetos y armas adquiridos durante la partida
mediante un icono del artículo en cuestión, además de mostrar el número disponible de dicho
tipo. En el inventario es posible leer pequeñas descripciones de los distintos objetos y armas
para ayudar a entender su funcionamiento. Cuando el jugador interactúa con un cofre del
tesoro, arma u objetos que se encuentre por la mazmorra este podrá incorporar los artículos a
su inventario, siempre que tenga espacio disponible para él. El tamaño del inventario se mide
en ranuras (cada una de las celdas en gris que lo componen) y si este se llenara el jugador no
podría adquirir nuevos objetos.
Un ejemplo del inventario en funcionamiento se puede ver en la Figura 31 en la que se muestra
la descripción del objeto “Antídoto” en el recuadro de la derecha, al poner el cursor del ratón
encima de la imagen del objeto. Dependiendo de si el artículo remarcado es un arma o un objeto
la descripción del mismo cambia.
Figura 31. Captura InGame del inventario del personaje (Fuente propia)
Los diversos artículos que pueden encontrarse en el inventario se pueden dividir en tres tipos,
según su funcionamiento en el videojuego.
54
6.2.7.1. Consumibles
Los consumibles son los objetos destinados en ayudar al jugador mediante diversos efectos
beneficiosos. Son los objetos más comunes de conseguir y pueden apilarse varios del mismo tipo
dentro de una misma ranura del inventario, variando este número dependiendo de la rareza del
objeto.
A continuación, se listarán los diversos consumibles disponibles en el videojuego, ordenador de
menor a mayor rareza, además de especificar entre paréntesis el máximo número de estos
objetos por ranura del inventario.
• Hoja medicinal (10): Pequeña planta cuyas hojas tienen propiedades curativas. Repone
un 20% de la vitalidad (20 como mínimo).
• Poción medicinal (5): Pócima elaborada a partir de hojas medicinales. Repone un 40%
de la vitalidad (48 como mínimo).
• Antídoto (5): Un brebaje con desagradable olor que es capaz de eliminar el veneno del
cuerpo. Cura el estado de envenenamiento.
• Rocío de luz (5): Líquido brillante fabricado a partir de la luz del Sol. Su poder es capaz
de eliminar las maldiciones de cualquier objeto mágico. Cura el estado de maldición.
• Horchata fresquita (5): La horchata más fresca y deliciosa que has probado jamás. Un
solo trago te hará recuperar todas tus energías. Cura el estado de fatiga.
• Savia especial (5): Savia de un árbol desconocido capaz de desentumecer el cuerpo al
ser usada como pomada. Cura el estado de ralentización.
• Elixir (3): Legendario brebaje capaz de sanar hasta la más mortal de las heridas. Repone
un 100% de la vitalidad y cura los problemas de estado.
• Bolsa extra (1): Ampliación de la mochila de viaje que aumenta el tamaño del inventario
en 5 ranuras.
55
6.2.7.2. Armas
Las armas son objetos equipales para el personaje y en las que se basan el sistema de combate
del videojuego.
Las armas cuentan con parámetros adicionales (Figura 32) como el poder de ataque de estas o
la probabilidad que tienen de que sus impactos sean críticos, aumentando el daño de estos.
Además, las armas también cuentan con un “tipo” que las separa en distintas familias; corte,
golpeo y mágico. Estos tipos desempeñan un importante papel a la hora de enfrentarse a los
enemigos, ya que sirven para explotar sus debilidades como se explicó en el apartado 6.2.5.5
Sistema de vitalidad.
Figura 32. Captura InGame de la selección de un arma en el inventario (Fuente propia)
A diferencia de los consumibles las armas ocupan una ranura del inventario por cada una de
ellas, aunque se tengan repetidas y solo se puede llevar una equipada a la vez.
A continuación, se listarán las diversas armas disponibles en el videojuego, ordenadas en grupos
según su tipo y con una pequeña descripción de las mismas.
56
• Tipo Corte: El tipo de arma más común. Se caracterizan por tener largos combos de
ataques, aunque no muy poderosos. Son eficaces contra enemigos de tipo Flora, pero
débiles contra enemigos Acorazados y Paranormales.
o Bluowie: La confiable espada que te regaló tu abuelo. Su llamativo color siempre
la ha hecho tu favorita. (No puede ser descartada). Es el arma inicial del
personaje nada más iniciar una partida y no es posible adquirirla de ninguna
forma.
o Colmillo de dragón: Hoja curva característica de los guerreros de la tribu kobold.
Su filo en forma de gancho permite realizar movimientos rápidos y precios con
alto porcentaje de impactos críticos.
o Espina negra: Estoque maldito fabricado a partir de las espinas del cristal
emanador. Sus afiladas espinas tienen la probabilidad de infligir un veneno letal
en cada uno de sus impactos.
• Tipo Golpeo: Armas caracterizadas por sus combos cortos pero poderosos. Son eficaces
contra enemigos de tipo Acorazado, pero débiles contra enemigos Paranormales y Flora.
o Porra estrellada: Gigantesca porra característica de los cazadores orco. Su gran
tamaño le otorga un enorme poder ofensivo y se dice que su punta en forma de
estrella es lo último que vez antes de quedar K.O.
o Ojo de dragón: Extraño cetro en forma de dragón característico de los
hechiceros de la tribu kobold. Su gran tamaño puede desplazar a algunos
enemigos y su gema roja aumenta significativamente el poder mágico. Mientras
se tenga equipada esta arma el ataque de la “brújula mágica” y el número
máximo de cargas que puede realizar aumenta.
• Tipo Mágico: Las armas más raras y poderosas que hay. Son eficaces contra enemigos
de tipo Paranormal y no muestran ninguna debilidad ante otros tipos. Además, son
capaces de disparar proyectiles en forma de cuchilla cuando realizan un golpe, a cambio
de una pequeña cantidad de la energía del personaje.
o Destello solar: Espada mágica imbuida con un brillo tan cegador como el mismo
sol. Puede disparar cuchillas mágicas con cada uno de sus ataques, siempre que
el usuario tenga la energía suficiente para ello.
o Ru Yi Bang: Bastón mágico perteneciente al dios mono Sun Wukong. Su gran
peso exige un alto consumo de energía y su poder divino permite realizar un
potente hechizo sanador.
57
6.2.7.3. Objetos clave
Los objetos clave son artículos que tienen un uso muy específico en el videojuego y que no
pueden ser descartados por el jugador. Los objetos clave no pueden llevarse en el inventario al
salir de la mazmorra, siendo destruidos automáticamente si se escapa de esta sin usarlos.
Actualmente en el videojuego solo existe un objeto clave, el Fertilizante mágico. Este objeto
puede hacer crecer cualquier planta al instante y es usado como llave para poder salir del nivel
dentro de la mazmorra.
Su uso por parte del jugador se limita a adquirirlo del cofre dorado donde se encuentra en todos
los niveles de la mazmorra. Una vez se ha conseguido solo se tiene que interactuar con la puerta
de salida y esta se abrirá como muestra la Figura 33.
Figura 33. Captura InGame de la puerta del nivel después del uso de Fertilizante mágico (Fuente propia)
58
6.2.8. Árbol de habilidades
En el videojuego, las habilidades son mejoras que se adquieren para aumentar el poder del
personaje, ya sea mediante un aumento en sus parámetros o desbloqueando mecánicas nuevas.
Un árbol de habilidades es la fusión de muchas de estas habilidades en un mismo lugar, las cuales
se desbloquean en un orden especifico al adquirir las anteriores en el árbol. Un ejemplo del
aspecto y funcionamiento del árbol se puede ver en la Figura 34, donde el color de las diversas
habilidades cambia dependiendo de si han sido adquiridas por el jugador (verde), pueden ser
adquiridas por el jugador (fondo negro) o si están bloqueadas para el jugador y debe adquirir las
habilidades que se encuentran antes en la jerarquía del árbol para desbloquearlas (grises).
Figura 34. Captura InGame del árbol de habilidades del personaje dentro del menú de pausa (Fuente propia)
Para que el jugador pueda adquirir una habilidad este debe tener los puntos de habilidad
necesarios para desbloquearla. Se tienen unos pocos puntos de habilidad al iniciar la partida y
los demás se adquieren subiendo de nivel al personaje.
Como se puede ver en la esquina inferior derecha de la Figura 34, las habilidades que el jugador
remarque con el ratón son descritas mediante el formato; nombre de la habilidad, descripción
y puntos necesarios para describirlas.
59
Siguiendo el formato anteriormente descrito, ahora se listarán todas las habilidades del árbol
dividiéndolas en las cuatro ramas del mismo, además de la habilidad central de la que parten
todas.
• Brillo del recuerdo: Habilidad especial que desbloquea los recuerdos encerrados en la
brújula de tu abuelo liberando así su mágico fulgor. Permite realizar ataques a distancia
al mantener "Ctrl". Puntos necesarios para adquirirla 3. Esta es la habilidad central del
árbol y de la que parten todas las ramas del mismo.
• Rama brújula: Es la rama que se encuentra en la sección inferior-derecha del árbol y la
encargada de todas las habilidades relacionadas con los ataques a distancia.
o Primer Fulgor: La magia encerrada dentro de la brújula se fortalece. Permite
realizar proyectiles cargados si mantienes "Ctrl" y disparas. Puntos necesarios
para adquirirla 6.
o Fulgor cegador: Tras haber compartido algunas de las experiencias de tu abuelo
en este mágico lugar la brújula ha alcanzado el cénit de su poder. Los proyectiles
cargados de la brújula ahora realizarán una potente explosión. Puntos
necesarios para adquirirla 20.
o Carga extra 1 y 2: Son dos habilidades que aumentan el número de cargas que
puedes realizar en 1. Puntos necesarios para adquirirlas 6 y 8 respectivamente.
• Rama energía: Es la rama que se encuentra en la sección inferior-izquierda del árbol y la
encargada de todas las habilidades que aumentan la energía y regeneración de la misma
del personaje.
o Energía + y ++: Son dos habilidades que aumentan la energía máxima en 15 y 35
puntos respectivamente. Los puntos necesarios para adquirirlas son 2 y 5.
o Regeneración extra 1 y 2: Son dos habilidades que aumentan la velocidad a la
que se recupera la energía del personaje en 1 punto. Los puntos necesarios para
adquirirlas son 4 y 6 respectivamente.
• Rama ofensiva: Es la rama que se encuentra en la sección superior-izquierda del árbol y
la encargada de todas las habilidades relacionadas con la ofensiva a corta distancia.
o Poder ofensivo +, ++ y máximo: Las tres versiones de la misma habilidad, solo
que cada vez más poderosa. Aumentan el daño realizado en 4, 8 y 16 puntos
respectivamente. Los puntos necesarios para adquirirlas son 2, 4 y 10.
o Maestría de combate: Habilidad especial que libera todo tu potencial
permitiéndote realizar combos espectaculares. Desbloquea la capacidad de usar
"ataques potentes". Puntos necesarios para adquirirla 5.
60
• Rama vitalidad: Es la rama que se encuentra en la sección superior-derecha del árbol y
cuya única función es la de aumentar la vitalidad máxima del personaje.
o Vitalidad +, ++ y superior: Las tres versiones de la misma habilidad, solo que
cada vez más poderosa. Aumentan la vitalidad máxima en 8, 24 y 40 puntos
respectivamente. Los puntos necesarios para adquirirlas son 1, 3 y 6.
o Vitalidad extra: Una peculiar habilidad que puede desbloquearse cuantas veces
se quiera, teniendo así una forma de utilizar los puntos de habilidad sobrantes.
Aumenta la vitalidad máxima en 16 puntos y los puntos de habilidad necesarios
para desbloquearla son 3.
Cuando se adquiere una habilidad, esta no puede volver a adquirirse nunca más, a excepción de
vitalidad extra. Pero puede seguir viéndose su descripción al poner el cursor del ratón encima
suya.
Los parámetros adquiridos para el personaje pueden verse reflejados en la tabla que hay en la
esquina superior derecha de la Figura 34, la cual utiliza los mismos iconos para representar los
parámetros que los explicados en la sección 6.2.3 Sistema de niveles.
61
6.2.9. Guardado y cargado de datos
Para poder mantener la progresión en el videojuego, se utilizará un sencillo sistema de guardado
de datos. Las acciones disponibles para el jugador sobre el control de datos son tres; guardado
de partida, carga de partida y borrar los datos de la partida existente. Esto último solo es posible
hacerlo mediante la opción de “Nueva partida” en el menú principal del juego.
En el videojuego existen dos formas de guardar la partida, una realizada de forma automática
por el sistema y otra realizada de forma manual por el jugador. Dentro del menú de pausa
siempre se encuentra disponible la opción de “Guardar partida” para que el jugador guarde de
forma manual sus progresos y pueda realizar acciones como salir del juego de forma segura.
El videojuego guarda de forma automática los datos cuando el jugador atraviesa una puerta de
nivel ya sea porque ha superado un nivel o se adentra en la mazmorra. Cuando el jugador es
derrotado en la mazmorra los datos también se guardan de forma automática y se vuelve al
campamento.
La carga de datos solo se puede realizar seleccionando la opción “cargar partida” dentro del
menú principal, como puede verse en la Figura 35.
Figura 35. Captura InGame del menú principal del videojuego (Fuente propia)
Cada vez que se carga partida siempre se aparece el campamento sin importar el lugar donde
estuviera el jugador a la hora de guardar los datos.
62
6.3. Personajes
La gran mayoría de personajes que aparecen durante el juego son enemigos, estando como
única excepción el protagonista que controla el jugador durante la partida. A continuación, se
analizarán de forma general los dos tipos de personajes, explicando su comportamiento en el
caso de los enemigos.
• Jugador (protagonista): Un valiente chico humano que vivía pacíficamente con su
abuelo, el cual desaparece misteriosamente. Utilizando las armas y objetos que vaya
recolectando durante su aventura podrá cumplir su objetivo de progresar por el bosque
infectado de monstruos hasta hacerse lo suficientemente fuerte como para resolver el
misterio de la desaparición de su abuelo. Por el momento no se incluirá un desenlace
para la historia de la desaparición del abuelo del protagonista, dejando como objetivo
final del jugador el recolectar todas las armas y derrotar al jefe oculto que se encuentra
en el bosque.
• Enemigos: Monstruos cuyo comportamiento está basado en la inteligencia artificial del
juego y no pueden ser controlables por el jugador en ningún momento. Los monstruos
se pueden clasificar en cuatro grupos, dependiendo de su poder de combate y forma de
actuar. Todos los monstruos, independientemente del grupo a que pertenezcan otorgan
experiencia y diversos objetos al jugador cuando este los derrota, variando la cantidad
de experiencia y calidad de los objetos según la especie del enemigo.
o Enemigos comunes: El tipo más común de enemigo y al cual pertenecen casi
todos los monstruos que el jugador encuentra en el bosque. Su tamaño, armas
y la agudeza de sus sentidos varía según la especie de monstruo que sean,
habiendo enemigos más fáciles de derrotar que otros.
o Invocadores: Enemigos que no atacan directamente al jugador, si no cuya
función es la llamada de otros enemigos a su posición, dificultando la aventura
del jugador. Son enemigos difíciles de derrotar, pero que otorgan grandes
recompensas por ello.
o Monstruos invocados: Son los enemigos que los invocadores llaman para
derrotar al jugador. Son más débiles que los enemigos comunes, haciéndolos
muy fáciles de vencer, pero aparecerán cada cierto intervalo de tiempo si no se
derrota al invocador que los convoca.
63
o Jefe oculto: Un enemigo que se encuentra en una sala especial y cuya aparición
es aleatoria. Para poder enfrentarse a este enemigo el jugador deberá avanzar
en el bosque superando diversos niveles. Cada vez que se supera un nivel, el
jugador tiene mayor posibilidad de entrar a la sala del jefe en lugar de a la
mazmorra. Es un enemigo con patrón de comportamiento más complejo que el
resto de enemigos, contando con diversos movimientos y efectos que dificultan
la lucha contra él, estando como ejemplo de su ataque característico la Figura
36. Es más grande y poderoso que el resto de enemigos, pero derrotarlo
proporciona grandes cantidades de experiencia y la posibilidad de que entregue
al jugador el arma más poderosa del juego.
Figura 36. Captura InGame del ataque característico del jefe oculto (Fuente propia)
64
6.4. Escenarios y ambientación
En este apartado se analizará los escenarios en los que transcurre el juego, así como la
ambientación que hay en estos. El videojuego transcurre en tres escenarios distintos, todos ellos
ambientados en un bosque de fantasía, con colores vivos y formas exageradas para dar así una
sensación desenfadada y caricaturesca, los cuales contienen una variedad de objetos y enemigos
con los que el jugador puede interactuar y luchar.
6.4.1. Campamento
El escenario donde el jugador inicia la aventura. Se compone de una gran sala cuadrada rodeada
por bosque menos en el norte de esta, que es donde se encuentra la entrada a la mazmorra del
juego. Dentro del campamento se encuentran una tienda de campaña con provisiones para el
jugador y un diario de viaje encima de un tocón que sirve a modo de guía.
Este escenario tiene dos variantes, diferenciando el día de la noche. La escena nocturna
transcurre durante el menú principal del juego, en el que el personaje aparece sentado en un
tocón alumbrado a la luz de una hoguera y descansando después de un duro día de expedición.
Este menú se pudo ver en la Figura 35 dentro del apartado 6.2.9 Guardado y cargado de datos.
Durante el resto de la aventura del jugador el campamento siempre estará en su modo diurno,
en el que la hoguera está apagada para dar la sensación del que el personaje está listo para
partir en su aventura por la mazmorra. Se le muestra al jugador un letrero en la entrada a la
mazmorra (Figura 37) para que sepa hacia donde debe dirigirse para avanzar una vez se ha
superado el pequeño tutorial que transcurre la primera vez que se entra al campamento.
Figura 37. Captura InGame del campamento mostrando la entrada a la mazmorra (Fuente propia)
65
6.4.2. Sala del jefe
El escenario donde se encuentra el jefe oculto del juego y cuyo acceso es aleatorio. Para
adentrarse en la sala del jefe el jugador debe superar niveles dentro de la mazmorra y luego
dirigirse a la entrada de la misma, cada nivel superado aumenta un 10% las posibilidades de
entrada a esta sala. Cuando el jugador se adentra en esta sala el porcentaje acumulado baja a
cero otra vez, dando como resultado que si este es derrotado durante la lucha contra el jefe no
podrá volver a entrar hasta superar niveles de la mazmorra de nuevo.
Este escenario se compone de una puerta de entrada, una gran sala cuadrada donde el jugador
debe enfrentarse al jefe, una barrera de fuego azul que solo desaparece cuando el jefe es
derrotado y por último una puerta de salida. La sala está ambientada en un bosque nocturno,
donde cada cierto tiempo aparecen unos fuegos fatuos que sirven para iluminar la sala y dar una
sensación más tétrica que durante los niveles normales de la mazmorra.
Una representación de la sala del jefe se puede ver en la Figura 38, donde el jefe aguarda al
jugador.
Figura 38. Captura InGame de la sala del jefe (fuente propia)
66
6.4.3. Mazmorra
Es el escenario donde transcurre la mayoría del juego y el único de los tres escenarios que se
genera de forma automática cada vez que se entra. La mazmorra está formada por unas salas
que se conectan entre ellas a modo de puzle, variando el número de salas y la forma en la que
están conectadas con cada visita del jugador, dando así una sensación de novedad y misterio.
Aunque la mazmorra se genere de forma aleatoria siempre ha de seguir unas pautas para
asegurar el correcto funcionamiento de la misma, dichas pautas son las siguientes:
• Siempre ha de haber una puerta de entrada y una de salida, sin importar el número total
de salas que compongan la mazmorra.
• Siempre ha de encontrarse en la mazmorra el cofre dorado que contiene la llave para
salir del nivel, aunque aparece en una sala cualquiera, a excepción de la entrada y la
salida.
• Los enemigos y cofres del tesoro siempre han de aparecer dentro de los limites
delimitados por cada sala, evitando así que aparezcan en lugares a los que el jugador no
puede acceder.
Las diversas salas de las que se compone la mazmorra también son similares en tamaño, pero
su forma y número de salidas pueden variar. Todas las salas empleadas en el ensamblado del
nivel se pueden ver en la Figura 39.
Figura 39. Captura del explorador de Unreal donde se muestran las distintas salas de la mazmorra (Fuente propia)
67
6.5. Interfaz
La interfaz del juego se caracteriza por ser variable y de estar formada por varios elementos.
Estos elementos podrían clasificarse en dos tipos, siendo estos los menús y la interfaz de
mazmorra. El análisis de la interfaz se realizará diferenciando estos dos tipos y explicando todos
los elementos que los componen.
6.5.1. Interfaz de mazmorra
Como su nombre indica es la interfaz que aparece durante la estancia del jugador en la
mazmorra del juego. Esta interfaz está compuesta por todos los elementos que aparecen
durante la lucha y la exploración de la mazmorra y cuyos elementos entran en escena
dependiendo de las acciones del jugador.
Algunos de los elementos de la interfaz de mazmorra han sido explicados en los diversos
apartados del documento, por lo que solo se realizará una pequeña descripción. En la Figura 40
se han enumerado los distintos elementos que componen la interfaz para facilitar su
identificación.
Figura 40. Captura de los elementos que componen la interfaz de mazmorra (Fuente propia)
68
1) Estado del jugador:
Aquí se muestra la de vitalidad del personaje, representada por una barra roja y unos números
que representan la vitalidad actual frente a la máxima.
Justo debajo de la barra de vitalidad se encuentra el indicador de experiencia del personaje a
modo de barra azul, la cual se va llenando hasta que el personaje sube de nivel.
Por último, se encuentran los iconos que representan los problemas de estado que afectan al
personaje.
2) Estado del enemigo (fijado):
Se muestra el nombre, el nivel, la vitalidad y el tipo del enemigo que ha sido fijado tal y como se
explicó en el apartado 6.2.5.4 Fijar enemigos.
3) Estado del enemigo (no fijado):
Se muestra el nombre y el nivel del enemigo, además de la esfera que representa que se
encuentra en rango para ser fijado por el jugador.
4) Mensajes al jugador:
Son mensajes que aparecen si se cumplen ciertos requisitos durante la partida y que
desaparecen tras cierto tiempo. El color de fondo del mensaje varía para facilitar que el jugador
identifique los tipos de mensajes, ya sean mensajes de ayuda, avisos por problemas de estado
o informar de la obtención de un objeto.
5) Barra de energía:
Representa la barra de energía del personaje, cuyo funcionamiento se explicó en el apartado
6.2.4 Sistema de energía.
6) Alteraciones en la vitalidad:
Un número que aparece en pantalla cada vez que se produce un cambio de la vitalidad de los
diversos personajes del juego. Su color cambia dependiendo del tipo de indicación que
represente, siendo rojo el daño provocado por las diversas armas del juego, morado
representando el daño provocado por el problema de estado envenenamiento y azul para
representar la vitalidad recuperada.
69
7) Mini mapa:
Representa la forma y los elementos que hay en el nivel de la mazmorra en el que el jugador se
encuentra actualmente. Dichos elementos se van revelando al jugador cuando se aproxima lo
suficiente a las entidades que los representan, ya sean las diversas salas de la mazmorra, un
enemigo o un cofre del tesoro. Los distintos elementos del mini mapa son los siguientes:
• Salas: Representadas por un fondo en color gris que se adapta a la forma de la misma y
en la que se pueden ver las conexiones con las salas circundantes.
• Puerta de entrada: Representada mediante una sala recta y estrecha con un recuadro
verde en la punta. El jugador siempre aparecerá en esta sala al entrar en la mazmorra.
• Puerta de salida: Representada mediante una sala recta y estrecha con un recuadro
amarillo en la punta.
• Jugador: El jugador es representado en el mini mapa mediante una flecha de color
verde. La fecha imita el desplazamiento que el personaje realiza por el nivel, por lo que
sirve para ayudar al jugador a identificar la sala de la mazmorra en la que se encuentra.
• Enemigo: Representado mediante un círculo rojo. El circulo imita los movimientos del
enemigo, por lo que una vez haya sido revelado para el jugador, este podrá ver donde
se encuentra el enemigo en todo momento. Una vez que el enemigo ha sido derrotado
su icono desaparecerá del mini mapa.
• Cofre del tesoro: Representados mediante un círculo amarillo. Una vez que el jugador
ha interactuado con el cofre y obtenido su contenido el icono desaparecerá del mini
mapa.
70
6.5.2. Menús
Es la interfaz que aparece cuando el jugador pausa el juego o este se encuentra en el menú
principal. En el videojuego existen tres menús diferentes, el menú principal, el menú de ayuda y
el menú de pausa, estando este último formado por tres submenús, los cuales se explicarán en
los siguientes apartados.
6.5.2.1. Menú principal
Es la primera escena que se muestra al jugador una vez ha entrado en el videojuego y donde se
encuentran las acciones más básicas del mismo. Los distintos elementos en los que se divide el
menú principal se pueden ver en la Figura 41, los cuales han sido enumerados para facilitar su
identificación.
Figura 41. Captura de los elementos que componen el menú principal (Fuente propia)
71
1) Título del videojuego:
Muestra la imagen con el título del juego, Dark Visitant: the monster world.
2) Opciones de partida:
Las tres opciones encargadas de la partida en el videojuego.
• El botón de “Nueva partida” borrará los datos de guardado, si es que hubiese algunos,
y comenzaría una aventura desde el principio.
• El botón de “Cargar partida” iniciará una partida en el campamento con todos los
objetos y parámetros que el jugador tuviera en los datos de guardado y solo estará
habilitado si el jugador ha guardado los datos del juego al menos una vez, tal y como se
explicó en el apartado 6.2.9 Guardado y cargado de datos.
• El botón de “Salir del juego” cerrará el ejecutable del propio videojuego acabando así la
partida.
3) Escena de fondo:
Simple animación para producir un efecto relajante en el jugador mientras se encuentra en el
menú principal.
6.5.2.2. Menú de pausa
El menú al que el jugador accede al “pausar” el juego mediante las teclas “Escape” o “P”.
Mientras el jugador se encuentre en este menú toda la acción del juego se detendrá, dándole
todo el tiempo que necesite para gestionar sus objetos o habilidades, aunque estuviera en pleno
combate.
El menú de pausa se compone de tres submenús que son los encargados de proporcionar todas
las funciones al jugador, pero también tiene una serie de elementos comunes en todos ellos,
que son los que explicarán a continuación utilizando como referencia la Figura 42.
72
Figura 42. Captura de los elementos comunes del menú de pausa (Fuente propia)
1) Botones de cambio de submenús:
Utilizados para cambiar al submenú que hay a la derecha o izquierda del actual. Su
funcionamiento es cíclico, por lo que se puede llegar a todos los submenús utilizando solo uno
de ellos.
2) Estado del jugador y barra de energía:
Muestra el estado y la barra de energía para que el jugador pueda tener un mayor control sobre
el efecto que los objetos tienen en estos. Su funcionamiento es tal y como se explicó en el
apartado 6.5.1 Interfaz de mazmorra.
3) Nivel actual del personaje:
Muestra el nivel del personaje al jugador.
4) Ayuda de controles:
Muestra un pequeño texto a modo de ayuda con los controles adicionales que el jugador puede
realizar para salir del menú más rápidamente.
Ahora se explicarán los diversos submenús dentro del menú de pausa utilizando la misma
metodología que con este último.
73
6.5.2.3. Menú de Inventario
El funcionamiento del inventario fue visto en el apartado 6.2.7 Sistema de inventario, por lo que
aquí se explicarán los diversos elementos que lo componen tal y como se ve en la Figura 43.
Figura 43. Captura de los elementos del inventario (Fuente propia)
1) Mochila de viaje:
Espacio donde se almacenan todos los objetos y armas que el jugador vaya recolectando. Dichos
elementos están ordenados en ranuras, las cuales cambian su aspecto dependiendo de si tienen
algo en su interior. Cuando el inventario sobrepasa las veinte ranuras, aparece un deslizador
para poder acceder a las ranuras que no son visibles por el jugador tal y como ocurre en la Figura
43. Cada vez que se accede al inventario este se ordena automáticamente posicionando las
armas en primer lugar.
2) Ranura de inventario:
Los elementos que componen la mochila y los encargados de organizar sus objetos. Las ranuras
varían su aspecto dependiendo del contenido que tengan en su interior, siendo estos los
posibles casos:
• Ranura vacía: Simple cuadrado gris sin nada en su interior.
• Ranura llena: Muestra la imagen del objeto o arma sobre un fondo negro (azul si el
cursor del ratón se encuentra encima). También se muestra el número de objetos que
hay dentro de la misma ranura o si el arma está siendo equipada por el jugador.
74
3) Panel de ayuda:
Muestra al jugador información de interés relacionada con los diversos elementos dentro del
inventario. Su contenido varía dependiendo de la ranura en la que se encuentre el cursor del
ratón, siendo los posibles casos los siguientes:
• Ranura con objeto: Muestra el nombre del objeto, una pequeña descripción y un
resumen de su funcionamiento.
• Ranura con arma: Muestra el nombre del arma, una pequeña descripción, sus
parámetros adicionales y el tipo de enemigo contra el que es eficaz.
• Cualquier otro caso: Si no se trata de ninguno de los dos casos anteriores, entonces se
muestra una pequeña explicación del funcionamiento del inventario, así como las
ranuras totales que lo componen.
4) Controles:
Muestra una lista de las acciones que se pueden realizar en el inventario, así como los botones
necesarios para ser realizadas.
5) Imagen del personaje:
Muestra al personaje realizando una sutil animación. Cuando el jugador tiene un arma equipada,
esta también se muestra en la imagen del personaje, ayudando al jugador a identificar con
mayor facilidad el arma que tiene equipada en este momento.
Todos estos elementos combinados hacen que la interfaz del inventario sea limpia, pero que
proporciona muchas opciones al jugador.
75
6.5.2.4. Menú de habilidades
Al igual que ocurre con el inventario, el funcionamiento general de las habilidades ya fue
explicado en el apartado 6.2.8 Árbol de habilidades, por lo que solo se explicarán los diversos
elementos que componen dicho menú, los cuales se pueden ver en la Figura 44.
Figura 44. Captura de los elementos del menú de habilidades (Fuente propia)
1) Árbol de habilidades:
Un sistema jerárquico compuesto por varias ranuras de habilidad en un orden especifico. Para
avanzar por las distintas ramas del árbol deben desbloquearse las ranuras de habilidades más
cercanas al centro del mismo, tal y como se desarrolló en el apartado 6.2.8 Árbol de habilidades.
2) Ranura de habilidad:
Los elementos de los que se compone el árbol de habilidades y los encargados de la gestión de
las habilidades del personaje. Las ranuras están compuestas por la imagen del tipo de habilidad
al que pertenecen y por un color de fondo que varía dependiendo de si el cursor del ratón se
encuentra encima o no. Las ranuras varían su aspecto dependiendo de su estado actual, siendo
estos los posibles casos:
• Habilidad bloqueada: Se muestran con un tono gris generalizado, lo que da a entender
al jugador que no están disponibles para obtener.
76
• Habilidad disponible: La imagen de la habilidad adquiere su tonalidad normal y el fondo
pasa a ser de color negro, si no se tiene el cursor encima, y azul en caso contrario.
• Habilidad obtenida: se muestra con un tono verde generalizado para dar a entender al
jugador que dicha ranura ya ha sido obtenida.
3) Puntos de habilidad:
Muestra en forma de número la cantidad total de puntos de habilidad de los que dispone el
jugador para gastar en las diversas habilidades del árbol.
4) Tabla de parámetros:
Muestra a modo de tabla todos los parámetros del personaje, además de la experiencia
necesaria para subir al siguiente nivel. El icono representa el tipo de parámetro y el número
representa la su cantidad tal y como se explicó en el apartado 6.2.3 Sistema de niveles.
5) Controles:
Muestra una lista de las acciones que se pueden realizar, así como los botones necesarios para
ser realizadas.
6) Panel de ayuda:
Muestra al jugador información de interés relacionada con los diversos elementos dentro del
menú de habilidades. Su contenido varía dependiendo del elemento donde se encuentre el
cursor del ratón, siendo los posibles casos los siguientes:
• Ranura de habilidad: Muestra el nombre de la habilidad, una pequeña descripción y los
puntos de habilidad necesarios para obtenerla.
• Tabla de parámetros: Muestra el nombre del parámetro y una descripción de la
funcionalidad del mismo en el juego. Esto ayuda al jugador a identificar que parámetros
son más importantes a la hora de priorizar el orden de obtención de las habilidades del
árbol.
• Cualquier otro caso: Si no se trata de ninguno de los dos casos anteriores, entonces se
muestra una pequeña explicación del funcionamiento del árbol y se especifica que las
descripciones se mostrarán es este panel.
77
6.5.2.5. Opciones de pausa
Es el submenú más simple de los tres, en el cual solo se encuentran algunas opciones
relacionadas con la partida. Los pocos elementos que componen este menú se pueden ver en la
Figura 45.
Figura 45. Captura de los elementos de las opciones de pausa (Fuente propia)
1) Acciones de pausa:
Las diversas acciones que el jugador puede tomar dentro del menú.
• Volver al juego: Cierra el menú de pausa de la misma forma que lo haría pulsar las teclas
“Escape” o “P”.
• Guardar partida: El jugador guarda los progresos de la aventura hasta el momento. Su
funcionamiento fue desarrollado en el apartado 6.2.9 Guardado y cargado de datos.
• Diario de viaje: Abre el menú de ayuda, este se explicará a continuación.
• Salir al menú principal: El jugador volverá al menú principal saliendo de la partida actual
sin guardar los datos.
2) Mensajes al jugador:
Mensaje visual que le indica al jugador que la partida ha sido guardada con éxito.
78
6.5.2.6. Menú de ayuda o Diario de viaje
Un menú al que se puede acceder desde el botón “Diario de viaje” en las opciones de pausa o
interactuando con el diario dentro del campamento. En este menú se le muestra al jugador
información de interés de los diversos términos que puede desconocer al inicio de la partida, así
como unos pocos consejos. Los elementos que componen este menú se pueden ver en la Figura
46.
Figura 46. Captura de los elementos del menú de ayuda (Fuente propia)
1) Botón de salida:
Botón que sirve para cerrar el diario de viaje y volver al lugar donde el jugador estuviera antes.
Si el diario se abrió desde las opciones de pausa entonces se volverá al menú, en cambio si se
abrió desde el diario del campamento el jugador volverá a la partida.
2) Zona de información:
Muestra la distinta información de cada uno de los campos de interés. El jugador puede usar el
deslizador para ver la información que no cabe en la pantalla.
3) Campos de interés:
Los distintos tipos de información que hay recolectados en el diario de viaje. Cuando se elige
una opción esta se vuelve de color azul y sus datos se muestran en la zona de información.
79
6.6. Inteligencia artificial
Durante este apartado se comentarán los aspectos de la inteligencia artificial del videojuego.
Este componente solo afectará a los enemigos del juego, los cuales tomarán decisiones en base
a las distintas situaciones que se les presenten.
La inteligencia artificial (IA) de los enemigos se basará en árboles de comportamiento o behavior
trees [15] en inglés. Un behavior tree se compone de una serie de nodos que se van ejecutando
en base a las diversas situaciones que ocurren en un tiempo determinado.
El orden en el que el árbol recorre sus nodos para elegir el comportamiento a ejecutar es la
siguiente: Empieza desde el nodo raíz (root) y recorre el árbol de arriba a abajo, empezando
siempre por los nodos que hay a la derecha y terminando con los de la izquierda. Cuando se
alcanza un nodo que se pueda realizar, este pasa a estar “en proceso” de ejecución. En caso de
que un nodo falle, se volverá al nodo padre de este, el cual volverá a evaluar su condición de
cumplimiento, si esta fallara se saltaría a la siguiente rama del árbol, siempre siguiendo el orden
descrito arriba. Puede verse un esquema sobre los behavior trees en la Figura 47.
Figura 47. Representación de un modelo de árbol de comportamiento (Fuente https://cutt.ly/RbAu1Sw)
En el videojuego todos los enemigos compartirán un behavior tree común, provocando que
todos tengan un comportamiento base similar, pero que gracias a las armas que posean, el rango
de visión de estos, el tiempo que recuerden la posición del jugador y el intervalo de tiempo que
tienen entre ataques se conseguirá generar individualidades entre los diversos enemigos.
80
Una representación del behavior tree de los enemigos se puede ver en la Figura 48, donde se ha
explicado con palabras las diversas decisiones y acciones que los enemigos tomarán. A
continuación, se explicarán varios de los términos utilizados en el árbol.
Figura 48. representación del árbol de comportamiento de los enemigos, realizado mediante la herramienta online Createlycon
(Fuente propia)
1) Objetivo:
Término utilizado para referirse al jugador. Cuando en el árbol se utilizan términos entre comillas
como “El objetivo está marcado” quiere decir que si no se cumple ese requisito el árbol no
entrará a esa rama y pasará a la siguiente.
2) Marcar objetivo
Cuando un enemigo marca al jugador como objetivo quiere decir que es consciente de su
existencia. Si el objetivo no está marcado significa que el enemigo no ha visto ni sentido al
jugador, por lo que lo ignorará.
3) Punto
Término utilizado para referirse a una zona en el mapa y hacia donde el enemigo se dirigirá para
seguir con su patrullaje cuando realice la acción Ir hacia punto.
4) ¿has recibido daño?
Cuando un enemigo recibe daño por parte del jugador, la ejecución de su árbol vuelve al punto
donde se encuentra este nodo, sin importar lo que estuviera haciendo y marca al jugador como
objetivo. Una vez hecho esto sigue el recorrido normal del árbol, empezando siempre por el
nodo “El objetivo está marcado”.
81
5) Ajustar velocidad
Todos los enemigos cuentan con una velocidad propia y distinta entre ellos. El nodo ajustar
velocidad añade o sustrae una cantidad fija a la velocidad base de los enemigos, por lo que cada
uno patrullará o perseguirá al jugador con una velocidad distinta.
6) Correr hacia rango de objetivo
Cada enemigo posee un rango dentro del cual puede atacar al jugador. Algunos requieren estar
a su lado mientras que otros pueden atacar desde mucha distancia. Este nodo se encarga de que
los enemigos se pongan en el rango de ataque para luchar contra el jugador, sea cual sea ese
rango.
7) Intentar atacar
Cada enemigo posee un tiempo de descanso después de cada ataque, y durante el cual podrá
realizar todas sus acciones menos atacar. Cuando el árbol de un enemigo llega a este nodo y se
encuentra en el tiempo de descanso, el nodo fallará, por lo que el árbol volverá a su nodo padre
y seguirá con su ejecución normal.
8) Buscar nuevo punto en rango
Cuando un enemigo está en su fase de patrullaje (no conoce la existencia del jugador) va
viajando de un punto del mapa a otro. Este nodo selecciona un punto del mapa alrededor del
enemigo en un rango especifico y el enemigo lo marcará como su “punto al que ir”.
A su vez existen dos elementos en la inteligencia del enemigo que no se encuentra en el árbol.
Estos son su sentido de la vista y su memoria. Cuando el personaje entra en el rango de visión
del enemigo, este lo marcará como objetivo y comenzará una cuenta atrás hasta que lo olvide,
reiniciándose cada vez que el enemigo detecte al jugador.
Gracias a la complejidad que tienen algunos nodos como “Intentar atacar” o a los distintos
niveles de visión y memoria de los enemigos, se puede conseguir tener comportamientos muy
complejos o simples para los distintos enemigos, todos ellos partiendo del mismo árbol.
82
6.7. Progresión del juego
Debido a que el jugador puede enfrentarse a los peligros que hay en la mazmorra cuantas veces
quiera, el juego tiene una progresión cíclica, por lo que se explicarán los pasos que el jugador
debe seguir desde que inicia una nueva partida hasta que supera su primer nivel.
1. El jugador aparece dentro del campamento.
2. Debe seguir los pasos del tutorial inicial:
a. Ir hacia el diario de viaje para aprender a moverse por el mapa.
b. Interactuar con el diario para aprender cómo funciona la interacción con el
entorno.
c. Obtener los objetos que guarda la tienda de campaña.
d. Equiparse el arma inicial “Bluowie”.
3. El jugador se adentra en la mazmorra dirigiéndose a la puerta de esta.
4. El jugador se abre paso por las diversas salas derrotando a los enemigos que encuentra
a su paso y obteniendo los objetos de los cofres del tesoro.
5. Busca el cofre dorado hasta obtener la llave de la mazmorra.
6. Busca la salida del nivel y vuelve al campamento.
Una vez se ha completado el primer nivel, el resto de veces que el jugador se adentre en la
mazmorra seguirá el mismo patrón. Si en algún momento el jugador se adentra en la sala del
jefe, la progresión para avanzar es mucho más simple que la de los niveles comunes.
1. El jugador aparece en la sala del jefe.
2. Lucha y derrota al jefe, recibiendo su arma como premio si tiene suerte.
3. El muro de fuego que evita que el jugador avance desaparece.
4. El jugador abre el cofre dorado situado detrás del muro y adquiere la llave del nivel.
5. Utiliza la llave en la salida y vuelve al campamento.
83
7. Implementación
Durante este apartado se explicará la forma en la que se han desarrollado en el videojuego los
diversos requerimientos y objetivos planteados en el GDD, así como algunos conceptos básicos
sobre Unreal Engine y el proceso de creación de los modelos 3D empleados en el juego.
7.1. Explicaciones previas sobre Unreal Engine
7.1.1. Blueprints
El sistema de blueprints [16] en Unreal Engine es un sistema de scripting basado en el uso de
una interfaz basada en nodos para crear elementos del juego dentro del editor del motor. Al
igual que muchos otros lenguajes de scripting, es utilizado para definir clases orientadas a
objetos en el motor. Estos objetos definidos a partir de blueprints son denominados
coloquialmente como simplemente Blueprints.
En su forma básica, los blueprints son adiciones visualmente incorporadas a un juego. Mediante
la conexión entre nodos, eventos, funciones y variables utilizando enlaces, es posible crear
complejos elementos de juego.
A continuación, se explicarán algunos de los tipos de blueprints más importantes utilizados en
el proyecto.
7.1.1.1. Blueprint de clase
Los blueprints de clase son utilizados para crear elementos interactivos, como interruptores o
artículos coleccionables, dentro de la escena. Cuentan con una serie de eventos o funciones
programables por el usuario, con los que pueden alterar los distintos actores del nivel. Debido a
su naturaleza autónoma, estos blueprints pueden ser colocados en un nivel como una instancia
de la clase y cuyo funcionamiento es similar al de cualquier otro actor.
Todos los actores explicados en apartados posteriores del documento están creados utilizando
este tipo de blueprints.
84
7.1.1.2. Blueprint Interfaz
Una interfaz es una clase creada para poder asegurar que un conjunto de clases, posiblemente
no relacionadas entre sí, puedan implementar una serie de funciones comunes [17]. Para poder
añadir interfaces a los distintos actores dentro de Unreal Engine, es necesario listarla en sus
ajustes de clase, dentro del blueprint del actor. En la Figura 49 se muestra la pestaña de ajustes
de clase de un actor del juego, en la que se puede ver el tipo de actor del que hereda, así como
todas las interfaces que tenga presente listadas entre propias y heredadas.
Figura 49. Captura de los ajustes de clase (Class setings) del blueprint BaseInteractableObject (Fuente propia)
7.1.1.3. Animation Blueprint
El Animation Blueprint es un blueprint especializado que controla la animación de una malla
esquelética, es decir, aquella malla que tiene asociada un esqueleto. Se genera a partir del
esqueleto de un modelo, por lo que un Animation Blueprint solo podrá ser usado por modelos
que compartan un mismo esqueleto.
En el Animation Blueprint existen dos componentes principales que trabajan juntas para crear
la pose que tendrá el modelo en cada frame de la animación. Dichos componentes son:
Grafo de Eventos: encargado de realizar actualizaciones sobre los valores de todas las variables
utilizadas durante las animaciones, gestionar las notificaciones que recibe el Blueprint y llamar
a funciones específicas proporcionadas por el usuario. En la Figura 50 a modo de ejemplo de su
85
uso, se puede ver como en el Grafo se actualiza la variable de velocidad y dirección del enemigo
para su posterior uso en el Grafo de Animación.
Figura 50. Ejemplo de Grafo de Eventos de uno de los enemigos del juego (Fuente propia)
Grafo de Animación: encargado de evaluar la pose final que una malla esquelética debe tener
en cada frame. En él se pueden realizar secuencias de animaciones, mezclar varias de ellas o
controlar de manear individual los huesos de un esqueleto.
En la Figura 51 se puede ver el flujo de ejecución del Grafo de Animación de uno de los enemigos
del juego, en el que se utilizan las variables actualizadas en el Grafo de Eventos para seleccionar
la animación correcta que ejecutar en el momento, en este caso concreto correr, andar o estar
parado. Una vez seleccionada la animación y elegidos los huesos en los que tendrá efecto, el
fujo llega a la pose final, que será la mostrada en el juego.
Figura 51. Ejemplo de Grafo de Animación de uno de los enemigos del juego (Fuente propia)
86
7.1.2. Colisiones
Una colisión es un encuentro entre uno o más cuerpos, de los cuales al menos uno está en
movimiento. En Unreal Engine todos los objetos capaces de colisionar reciben una serie de
respuestas que definen su interacción con los otros actores de la escena. [18]
Los objetos colisionables pueden programarse con tres comportamientos ante los distintos tipos
de objetos. Estos comportamientos son los siguientes:
• Bloquear: El objeto impedirá el paso a cualquier otro colisionable que choque contra él.
• Superposición (Overlap): El objeto dejará pasar los objetos a través de él, pero será
consciente de que objeto ha entrado dentro de sus límites.
• Ignorar: El objeto ignorará al resto de colisionables, por lo que no chocará ni será
contado en una superposición.
Unreal cuenta con un listado de tipos de objeto predefinido y un comportamiento para cada
interacción entre estos. Eso permite elegir uno de los distintos tipos a la hora de definir el tipo
de colisión de un objeto y su comportamiento ante el resto de objetos de la escena ya estará
marcado. A su vez, es posible crear tipos propios de colisiones dentro de los ajustes de proyecto
de Unreal y definir su comportamiento base con el resto de tipos.
Figura 52. Comportamiento definido de un objeto ante los demás tipos (Fuente propia)
87
La Figura 52 muestra los comportamientos definidos de la malla de un personaje ante el resto
de tipos disponibles en Unreal. Como se puede ver, es posible elegir una configuración
preestablecida o crear una personalizada, eligiendo a mano el comportamiento que el objeto
tendrá ante los distintos tipos de colisionables. Es posible desactivar la colisión de los objetos en
distintos niveles, pudiendo hacer, por ejemplo, que un objeto nunca colisione con los demás,
solo se superponga.
Cuando un objeto colisiona con otro, una de sus funciones es invocada dependiendo del tipo de
colisión que haya sucedido. Estás funciones no se encuentran implementadas normalmente, por
lo que es posible customizar el comportamiento de un objeto cuando sucede alguna de estas
colisiones.
Utilizando la Figura 53 a modo de ejemplo de las colisiones empleadas en el juego. El actor en
forma de baldosa posee un área de colisión circular marcada en líneas negras. El personaje es
capaz de entrar dentro de dicha área, puesto que es del tipo superposición, pero el actor es
consciente de la presencia del personaje y muestra un mensaje por pantalla.
Figura 53. Captura InGame de ejemplo de superposición (Fuente propia)
88
7.2. Creación de los elementos visuales del juego
A continuación, se hablará sobre cómo han sido desarrollados los distintos elementos visuales
del videojuego. En este apartado se hablarán tanto de los procesos generales de desarrollo de
los modelos y texturas, así como la implementación de los materiales y postprocesado para dar
el acabado final al juego dentro del propio motor Unreal. Se hará especial hincapié en la
explicación de las animaciones y las notificaciones de estas, ya que son una parte fundamental
para el funcionamiento del sistema de combate como se verá más adelante. Se pueden consultar
los distintos elementos visuales creados para este videojuego en el Anexo: Arte, al final del
documento.
7.2.1. Modelos 3D
Durante la fase inicial del proyecto se estudiaron las diversas técnicas para el modelado de los
elementos del juego, siendo las dos escogidas la escultura digital y el modelado poligonal.
La escultura digital es una técnica de modelado basada en el uso de una malla base con alta
densidad poligonal, en la cual se van añadiendo detalles moldeándola como si se tratase de
arcilla. Es una técnica compleja de realizar si no se tiene practica en ella, pero es ideal para la
creación de cuerpos orgánicos, como personajes, ya que permite obtener modelos con mucho
detalle.
En la Figura 54 se muestra la malla base que se utilizó para iniciar el proceso de esculpido del
primer personaje del videojuego.
Figura 54. Malla base del personaje descartado para el proyecto (Fuente propia)
89
Una vez que la malla base está preparada puede comenzar el proceso de esculpido. Para ello se
utilizan los distintos “pinceles” que proporciona el software de modelado para ir creando los
distintos detalles en la malla y así formar el modelo que se desea. En la Figura 55 se puede ver
el proceso del esculpido de la cara del personaje.
Figura 55. Captura del proceso de esculpido del primer personaje (Fuente propia)
Se decidió descartar la técnica de esculpido debido a que la falta de experiencia en esta
ralentizaba enormemente la creación de los modelos, además de no obtener los resultados
deseados.
Una vez descartada se optó por el uso de el modelado poligonal, una técnica más sencilla basada
en mover vértice a vértice la malla del personaje e ir añadiendo más polígonos cuando sea
necesario. En la Figura 56 se puede observar el proceso del modelado del nuevo personaje del
juego. El modelado se inició en los zapatos y se fueron añadiendo polígonos siguiendo el patrón
del boceto del personaje hasta tener el modelado final acabado.
90
Figura 56. Proceso de modelado poligonal del nuevo personaje del juego (Fuente propia)
Cuando se obtuvieron los resultados deseados mediante el uso de la técnica del modelado
poligonal, esta fue la elegida para la realización del resto de modelados del proyecto. Todos los
personajes, enemigos, escenarios, armas y objetos del videojuego están creados de forma
similar a lo descrito anteriormente, para los cuales se crearon unos bocetos que sirvieran de
guía en su desarrollo. En la Figura 57 se muestra uno de los distintos bocetos empleados.
Figura 57. Boceto empleado para el modelado del protagonista del juego (Fuente propia)
91
7.2.2. Texturizado
Debido al apartado artístico que se escogió para el proyecto, se optó por el uso de un atlas de
color como textura de los modelos. Un atlas de color es una textura de tamaño muy reducido
que está formada por diversos cuadrados de colores. La Figura 58 muestra la textura del
protagonista del videojuego, siendo esta una imagen de tan solo 64x64 pixeles, por lo que está
técnica es perfecta para texturas simples que apenas afecten al rendimiento del juego.
Figura 58. Textura del protagonista del juego (Fuente propia)
Cuando se quiere texturizar un modelo, es necesario realizar la técnica de unwrapping con la
cual las coordenadas de la superficie del modelo se plasman en una imagen 2D, permitiendo así
escoger que partes de la imagen mostrarán cada polígono del modelo. Una vez se ha realizado
el unwrap del modelo, simplemente se posicionan los polígonos deseados sobre el color que van
a tomar y el modelo ya se encuentra texturizado.
En la Figura 59 se puede ver un ejemplo del texturizado de uno de los enemigos del juego. Se
deben seleccionar todas las partes de la malla que se quieran pintar de un mismo color y
posicionar sus polígonos encima de dicho color en la imagen. Como se puede ver en el ejemplo,
la hombrera del monstruo está seleccionada (tiene un tono anaranjado) y al colocar las
coordenadas de sus polígonos sobre el color marrón de la textura, estos se colorean de dicho
color.
92
Figura 59. Ejemplo de selección del color de las distintas partes del modelo (Fuente propia)
El uso de esta técnica permite utilizar una única textura común con varios colores que utilicen
los diversos modelos del proyecto, minimizando la memoria utilizada para la carga de texturas.
Todos los objetos y escenarios del proyecto emplean una misma textura común, pero los
distintos personajes tienen una textura propia debido a que se ha querido dar personalización a
los mismo y pueden contar con diversos colores.
93
7.2.3. Creación de animaciones
Debido a la importancia de las animaciones de los personajes en el proyecto, se dividirá su
explicación en dos apartados, en los cuales se hablará de la creación de las animaciones en
Blender y de su uso en Unreal. En este apartado se explicará el proceso de creación de las
animaciones dentro de Blender.
Para que un modelo pueda ser animado debe realizarse la técnica del rigging. El rigging es el
proceso de crear un sistema de controles digitales y agregárselos a un modelo 3D, al conjunto
de dichos sistemas de controles se les denomina esqueleto.
Un esqueleto está formado por una serie de eslabones a los que se les denomina huesos y son
los encargados de mover la parte de la malla de la que posean algún peso. En la Figura 60 se
muestra el esqueleto del modelo del primer personaje. En él se pueden ver los diversos huesos
que lo forman, teniendo cada uno de ellos un peso sobre las distintas partes de la malla, siendo
representado por color azul un peso del 0% y por color rojo un peso del 100% sobre la malla.
Figura 60. Peso del hueso de la cabeza sobre la malla del personaje (Fuente propia)
94
Una vez que se han agregado todos los pesos a los distintos huesos que forman el esqueleto, el
modelo está listo para ser animado.
El esqueleto cuenta con una jerarquía de huesos, por lo que cada hueso es “hijo” de uno
anterior, provocando así que si mueves el hueso “padre” todos los hijos se moverán igual que
él, facilitando el proceso de animación ya que no es necesario mover todos los huesos uno a
uno. También es posible agregar controladores exteriores para poder mover segmentos
específicos de un esqueleto, como toda la pierna de un personaje.
Un ejemplo de lo anteriormente explicado se puede ver en la Figura 61 donde al mover el
controlador de la pierna (marcado en azul) todos los huesos de esta se mueven siguiéndolo.
Figura 61. Ejemplo de movimiento del esqueleto del protagonista (Fuente propia)
Una animación es el conjunto resultante de estos movimientos en el esqueleto del personaje
guardados sobre una línea de tiempo, la cual progresa a una velocidad dada por el usuario.
Teniendo en cuenta todo lo anteriormente explicado, ya se podrían crear todas las animaciones
deseadas sobre el esqueleto del personaje.
95
Una vez que ya se han creado la malla del modelo, se le ha añadido una textura mediante el
unwrapping y se han guardado todas las animaciones del esqueleto ya puede ser exportado a
Unreal Engine, escogiendo el formato de archivo adecuado, en el caso de los modelos de este
proyecto en formato fbx.
Si se ha realizado todo lo anterior correctamente, al importar el modelo 3D, Unreal Engine creará
automáticamente un material asociado a la malla, el esqueleto de la malla si tuviera alguno y, si
se ha especificado durante el proceso de exportación, también creará todas las animaciones que
tenga asociadas el esqueleto, conservando los nombres que tuvieran en el software de
modelado.
A continuación, teniendo en cuenta que todos los modelos hayan sido importados
correctamente, se explicarán el uso de las animaciones en Unreal Engine, así como el proceso
de creación de los materiales de los modelos y el postprocesado general de la escena.
96
7.2.4. Animaciones en Unreal Engine
En este apartado se hablará del uso de las animaciones dentro del propio motor del juego,
explicando el uso de los montages para generar notificaciones dentro de las animaciones.
Los Montages proporcionan una forma de controlar las animaciones importadas a Unreal por
medio de Blueprints. Cuentan con una barra de tiempo donde aparecen todos los frames de la
animación a la que pertenezcan y donde puedes utilizar notificaciones que llamarán al Grafo de
Eventos del personaje que utilice dicha animación. En la Figura 62 se muestra un ejemplo de
cómo sobre la línea de tiempo hay diversas notificaciones.
Tomando como ejemplo la notificación de “StartDodge”, una vez que la animación llegue al
frame donde se encuentra posicionada, está realizará un evento en el Grafo de Eventos del
personaje, que en este caso llamará a una función del personaje para avisarle de que tiene que
empezar a realizar una esquiva.
Figura 62. Montage de una de las animaciones del protagonista (Fuente propia)
El uso de notificaciones como esta es una de las bases del funcionamiento de los personajes en
el juego, siendo utilizadas para realizar los ataques, esquivas, animaciones faciales e incluso
gestionar la muerte de los enemigos.
97
7.2.5. Materiales
Debido al estilo empleado en el videojuego, los materiales empleados en los distintos modelos
del proyecto son los mismos. Los materiales en Unreal permiten el uso de instancias de un
mismo material, las cuales puedes modificar cambiando los parámetros que tiene el material
padre, como por ejemplo la textura asociada.
En la Figura 63 se muestra el material del que derivan la mayoría de instancias de los materiales
utilizados en casi todos los elementos. Este material se compone de la textura del modelo y un
color plano de los cuales se realiza una interpolación para recibir el resultado deseado. Este
método se emplea para conseguir efectos en los modelos del personaje y enemigos, siendo un
ejemplo de ello que el personaje brillará en color rojo si es dañado.
Figura 63. Material base de los distintos elementos del juego (Fuente propia)
Como consecuencia de la técnica de postprocesado utilizada en el proyecto, ningún modelo
puede reflejar brillos, ya que podría producir incongruencias visuales que alteraran el resultado
final.
98
7.2.6. Postprocesado
A continuación, se hablará de como se ha realizado el método de postprocesado que le da el
acabado cartoon al juego y se explicará grosso modo el funcionamiento de los materiales
empleados.
El postprocesado dentro de Unreal Engine consiste en efectos que se aplican a toda la escena
antes de ser renderizada y que se lleva a cabo mediante el uso de un PostProcessVolume. Estos
volúmenes permiten aplicar los efectos en el área delimitada por su tamaño, pudiéndose
ampliar hasta cubrir toda la escena del juego.
Son necesarios unos materiales específicos de estos volúmenes para realizar la mayoría de
efectos en la escena y que a continuación, se detallarán los dos usados en el proyecto.
El Cel Shading o también conocido como sombreado plano es un tipo de renderizado utilizado
para que los objetos 3D parezcan dibujos 2D hechos a mano. En la Figura 64 se puede ver el
material empleado en el proyecto para conseguir este efecto, que, explicado a grandes rasgos,
se encarga de comprobar si la cantidad de luz que afecta a cada vértice de un modelo supera el
umbral establecido. De ser así se coloreará con un tono más claro y si no supera el umbral con
uno más oscuro. Un ejemplo de ello se puede ver en la esfera utilizada para ver el efecto del
material, donde se crean dos zonas de color altamente diferenciadas y que le dan a la esfera un
acabado plano.
Figura 64.Material de postprocesado empleado para el Cel Shading en el juego (Fuente propia)
99
Cabe destacar que el uso del Cel Shading tiene algunos efectos adversos en la escena. Uno de
ellos es el hecho de no poder emplear ningún tipo de niebla ambiental, ya que provoca defectos
en el sombreado de los objetos. Para solventar ese fallo se ha agregado un efecto de coloreado
a los objetos lejanos a la cámara para dar la sensación de que hay una fina niebla.
Figura 65.Comparativa entre la escena sin y con Cel Shading (Fuente propia)
Como se puede ver en la Figura 65, gracias al uso de esta técnica se cambia completamente la
estética de la escena, obteniendo un acabado parecido a un dibujo animado.
Para rematar el acabado cartoon dado por el Cel Shading también se ha empleado un material
que crea unas líneas negras alrededor de los contornos de los objetos.
Figura 66. Material de postprocesado empleado para crear los contornos en los objetos (Fuente propia)
100
En la Figura 66 se puede ver el material empleado en el proyecto para conseguir el efecto
anteriormente dicho. Este material se encarga de comprobar si entre dos pixeles hay un salto
de profundidad mayor al establecido y si es así, forma una línea negra entre ellos. Un ejemplo
de su funcionamiento se puede apreciar en la Figura 67, donde se forman líneas entre los
diversos arboles del bosque debido a la distancia entre ellos.
Figura 67.Captura InGame de todos los efectos de postprocesado activos a la vez (Fuente propia)
Los materiales de postprocesado tienen un alto coste computacional, por lo que han de ser
utilizados con cuidado, pero los resultados que se pueden obtener con ellos pueden cambiar
completamente el aspecto de un videojuego.
101
7.3. Implementación de interfaz y menús
En este apartado se explicará la implementación de la interfaz y los diversos menús vistos en
profundidad en la sección 6.5 Interfaz del GDD. Tanto los menús como la interfaz se han
realizado utilizando widgets, los cuales son un blueprint especial de Unreal Engine utilizados
para manifestar elementos de interfaz de usuario en el mundo 3D del videojuego (conocida
comúnmente como HUD).
Para que un widget pueda ser visto en la pantalla es necesario crearlo mediante código y
añadirlo manualmente a la escena 3D como se muestra en la Figura 68.
Figura 68. Código necesario para crear y añadir un widget a la escena del juego (Fuente propia)
La metodología utilizada para explicar la implementación de las distintas partes de la interfaz y
menús será la misma que la empleada en el GDD, es decir, mostrando una imagen del widget
con sus respectivas partes numeradas para su posterior explicación.
7.3.1. HUD del personaje
Forma parte de la interfaz explicada en el apartado 6.5.1 Interfaz de mazmorra del GDD. Este
widget es creado en el blueprint del personaje y es el encargado de mostrar al jugador todo lo
relacionado con el personaje y lo que ocurre a su alrededor. Se empleará la Figura 69 para
numerar las partes que componen al widget. Cabe destacar que es posible incluir widgets dentro
de otros en el editor, por lo que pueden estar compuesto de muchos más pequeños.
102
Figura 69. Captura del widget del HUD del personaje dentro del editor de widgets de Unreal (Fuente propia)
1) Widget de estado:
Este widget recoge los datos del personaje y los muestra en la pantalla. Cuando alguno de estos
valores es alterado en el personaje, este manda un mensaje al widget para que utilice su función
correspondiente para actualizar dicho dato en pantalla, evitando así la necesidad de estar
comprobando continuamente si algún dato ha cambiado, solo se cambiará cuando sea
necesario.
2) Caja de notificaciones:
Es una parte de la pantalla reservada especialmente para mostrar notificaciones al jugador. Las
notificaciones pueden ser enviadas por diversos elementos dentro del juego, como el inventario
o el propio personaje, y para ello es necesario especificar el mensaje que contendrá la
notificación, así como el color de fondo que tendrá el recuadro que contiene el mensaje. Varias
notificaciones simultaneas serán apiladas una encima de la otra por orden de llegada, estando
arriba las más antiguas.
3) Widget de energía:
Barra de progresión circular creada a partir de un material que utiliza dos valores recogidos del
personaje. Para alterar su valor o color, es necesario que el personaje mande una función a este
widget para avisar de que deben ser alterados. Este widget se encuentra oculto por defecto en
el HUD, solo mostrándose cuando la energía del personaje es menor a su valor máximo.
4) Punto de mira:
Imagen que aparece en la pantalla cuando el personaje entra en “modo disparo” y que muestra
el lugar aproximado donde impactarán los proyectiles lanzados por el personaje.
103
5) Caja de mini mapa:
Parte reservada en la pantalla para mostrar el mini mapa de la mazmorra cuando se está en ella.
Debido a que no es necesario mostrar el mini mapa fuera de la mazmorra, al entrar a esta se le
envía un mensaje al personaje para que cree un widget de mini mapa y lo añada dentro de la
caja.
Para crear la imagen del mini mapa el personaje cuenta con una cámara especial situada muy
por debajo de él que graba únicamente los planos de las salas de la mazmorra y los iconos de
los diversos objetos y enemigos. Esto crea una imagen que se actualiza en tiempo real y muestra
de manera precisa la posición de todos los elementos del mapa.
104
7.3.2. Menús del juego
Los menús son una parte importante del videojuego, ya que además de proporcionar al jugador
numerosas herramientas, son los encargados de ayudar a realizar varias de las mecánicas del
juego. En este apartado se explicará la implementación de los menús y se hará alusión a las
mecánicas a las que pertenecen, siendo estas explicadas al detalle en apartados posteriores.
7.3.2.1. Menú de pausa
Widget creado cuando el jugador pulsa el botón para pausar el juego. Este menú es el encargado
de pausar la jugabilidad de la partida y es la base de la navegación entre los menús en el juego.
Las partes en las que se divide el menú se pueden ver en la Figura 70.
Figura 70. Captura del widget del menú de pausa (Fuente propia)
1) Cambiador de submenús (SubMenusSwitcher):
La parte más importante del menú de pausa y la encargada de cambiar entre los diferentes
submenús a los que el jugador puede acceder. Cada uno de los submenús mostrados tiene
asignado un índice, el cual se utiliza para cambiar entre ellos.
2) Botones de cambio de submenús:
Botones encargados de modificar el índice en el que se encuentra el cambiador, permitiendo
cambiar a un submenú distinto al actual.
3) Estado del personaje:
Conjunto de widgets que se encargan de acceder a los datos del personaje y mostrarlos al
jugador de la misma forma que lo hace el HUD.
105
7.3.2.2. Opciones de pausa
El más simple de los submenús y encargado de algunas opciones relacionadas con la partida. En
la Figura 71 se muestran las partes en las que se divide el menú.
Figura 71. Captura del widget del submenú de opciones de pausa (Fuente propia)
1) Caja de notificaciones:
De funcionamiento idéntico a la caja que se encuentra en el HUD del personaje, aquí aparece
una notificación cada vez que la partida ha sido guardada mediante el uso del botón
correspondiente del menú.
2) Acciones de pausa:
Una serie de widgets que contienen unos botones cuya funcionalidad se explicó en el apartado
6.5.2.5 Opciones de pausa. Como todos están hechos a partir del mismo tipo de widget, el menú
de opciones de pausa se encarga de redefinir el comportamiento que debe realizar cada uno al
clicar en ellos.
7.3.2.3. Menú de inventario
El submenú más complejo de todos y una parte fundamental para el funcionamiento del sistema
de inventario en el juego, ya que es el encargado de la gestión y uso de los distintos elementos
que se encuentran dentro del inventario. Al crear el widget, este accede a los datos del personaje
y guarda una copia de todo el inventario, obteniendo así su tamaño total y los objetos que
contiene, para poder mostrarlo por pantalla. Las partes en las que se divide se pueden ver en la
Figura 72 y a continuación se explicarán en detalle todas ellas.
106
Figura 72. Captura del widget del menú de inventario (Fuente propia)
1) Zona de inventario:
Recorre una a una las ranuras del inventario comprobando su contenido y creando un widget
de tipo “RanuraInventario” por cada una de ellas. Los widgets de este tipo son cada una de las
ranuras mencionadas en el apartado 6.5.2.3 Menú de Inventario y guardan toda la información
de los objetos que tienen en su interior, en caso de tener alguno. Si al crear una
“RanuraInventario” recibe un objeto, esta altera su apariencia para mostrar la imagen del tipo
de objeto que alberga, así como el número de ellos que tiene en su interior. Las
“RanuraInventario” son las encargadas de proporcionar al jugador la capacidad de utilizar el
inventario, ya que mandan un mensaje al objeto que tienen en su interior cuando el jugador
clica en ellas, invocando así la función de uso del objeto o borrándolo si el jugador lo decide. Si
el objeto seleccionado por el jugador es un arma, la “RanuraInventario” buscará si el personaje
ya posee algún arma equipada y la cambiará por la nueva. Si el arma seleccionada resulta ser la
que el personaje lleva equipada en este momento, le será retirada sin equipar una nueva.
2) Imagen del personaje:
Para poder mostrar la imagen del personaje en el inventario, es necesario crear un blueprint
especialmente dedicado a esa acción. Este contiene un modelo idéntico al del personaje y una
cámara para poder grabar su movimiento. La cámara de este actor solo captura la imagen
cuando el jugador se encuentra en el inventario, mejorando así el rendimiento del juego. Si el
personaje tiene equipada alguna arma, este actor también la tendrá, cambiando en tiempo real
cuando el jugador equipa al personaje con un arma distinta. El actor se coloca fuera de los límites
del mapa para evitar así que el jugador pueda verlo.
107
3) Panel de ayuda:
Panel cuyo contenido varía al poner el ratón encima de las distintas “RanuraInventario”. Cuando
el jugador se posiciona encima de una de estas ranuras, esta manda al panel el contenido del
objeto que posee, si tuviera alguno. El panel se encarga de mostrar toda la información relevante
al jugador, cambiando los datos mostrados dependiendo de si el objeto es un arma o un
consumible y mostrando un texto por defecto en caso de que la ranura se encuentre vacía.
7.3.2.4. Menú de habilidades
De funcionamiento similar al menú de inventario, es el encargado de proporcionar al jugador la
capacidad de modificar las habilidades del personaje y de mantener informado al jugador sobre
el progreso de su personaje a lo largo de los niveles adquiridos. Las partes de las que se compone
se pueden ver en la Figura 73.
Figura 73. Captura del widget del menú de habilidades (Fuente propia)
1) Árbol de habilidades:
Formado por una imagen y un conjunto de widgets de tipo “RanuraHabilidad”. Estos widgets
recogen los datos de las distintas habilidades que el personaje puede desbloquear desde una
tabla y tienen las funciones necesarias para asignarlas al personaje. Las ranuras están
estructuradas de manera jerárquica, por lo que el jugador debe adquirir las habilidades que se
encuentran antes en la jerarquía para poder acceder a las siguientes. Cuando el jugador ha
desbloqueado una habilidad, la ranura en la que se encuentra queda bloqueada, evitando así la
posibilidad de adquirirla varias veces y luego resta la cantidad necesaria de puntos de habilidad
al personaje.
108
2) Tabla de parámetros:
Tabla de adquiere los datos del personaje y se los muestra al jugador en tiempo real, por lo que,
si este adquiere una habilidad que cambia alguno de estos datos, se verá reflejado en la tabla.
3) Panel de ayuda:
Panel con un funcionamiento similar al del inventario. Cuando el jugador posiciona el ratón
encima de alguna “RanuraHabilidad” el panel muestra los datos de interés de la habilidad que
esta contiene.
7.3.2.5. Menú de ayuda
Un sencillo menú encargado de mostrar al jugador información de interés. Cuenta con un
cambiador de menús al igual que el menú de pausa y sus partes se identifican en la Figura 74.
Figura 74. Captura del widget del menú de ayuda (Fuente propia)
1) Botón de salida:
Un botón encargado de cerrar el widget y de devolver al jugador al lugar donde se encontraba
anteriormente. Debido a que al menú de ayuda se puede acceder desde el menú de pausa y
también desde el campamento, el menú de ayuda comprueba si el juego se encontraba pausado
en ese momento para decidir si devolver al jugador al menú o simplemente cerrarse.
2) Campos de interés:
Conjunto de botones encargados de cambiar el índice del cambiador y así provocar que altere
su contenido.
109
3) Cambiador de menús:
Contiene una serie de widgets con los que el jugador no puede interactuar, ya que estos solo
contienen texto y se encarga de asignar cual se muestra en cada momento en relación a la
elección del campo de interés del jugador.
7.3.2.6. Menú principal
El menú que aparece al entrar al juego y el más sencillo de todos. En la Figura 75 se muestran
los tres botones que lo componen, encargados de iniciar la partida, cargar los datos de guardado
y cerrar el juego. Este menú transcurre en una escena especialmente diseñada para él utilizando
una cámara fija y en la cual el jugador no tiene ningún control más allá de elegir las opciones del
menú.
Figura 75. Captura del widget del menú principal (Fuente propia)
110
7.4. Creación de la mazmorra
En este apartado se explicará en profundidad la implementación de la mazmorra del juego,
siendo esta el nivel más importante del mismo, y cuyo funcionamiento básico ya se presentó en
el apartado 6.4.3 Mazmorra del GDD.
7.4.1. Salas de la mazmorra
Como se dijo anteriormente, la mazmorra es como un gran puzle creado a partir de distintas
piezas colocadas y entrelazadas entre sí, a dichas piezas se les denominará salas. Una sala
consiste en un espacio de tamaño determinado que ha de cumplir unos requisitos, los cuales se
enumerarán a continuación.
1. Todas las salas deben tener la misma superficie, para asegurar su correcto
ensamblado.
2. Deben contener muros en todos sus lados menos las salidas, para así evitar que el
jugador pueda salir fuera del mapa jugable.
3. Han de tener su plano para que pueda ser revelado al jugador en el mini mapa al
acercarse lo suficiente a ellas.
4. Deben tener una superficie delimitada en la que puedan aparecer los elementos de
la mazmorra. Dichos elementos se verán más adelante.
Para asegurar que todas cumplen con los requisitos mínimos, todas las salan son creadas a partir
de una sala padre, la cual tiene toda la su funcionalidad, haciendo que sus hijas solo se
diferencien en el número de salidas.
Existen dos excepciones a estas reglas dentro de las salas; la entrada y la salida del nivel. Dichas
salas siempre tienen en su interior la puerta de entrada y salida de la mazmorra
respectivamente. Además, estas dos salas especiales carecen de la superficie de aparición de
elementos, por lo que ningún enemigo o cofre del tesoro podrá ser encontrado en ellas.
111
La Figura 76 corresponde a una sala de dos salidas que se emplea para hacer esquinas en la
mazmorra. Los muros de la sala están delimitados por árboles, para que el jugador sepa que no
puede ir por ahí, pero aun así también se encuentran unos muros invisibles, delineados en azul
en la imagen, que son los que impiden al jugador avanzar, ya que el propio modelo de la sala no
tiene ninguna colisión. El recuadro amarillo que rodea la sala es empleado para agregar al mini
mapa el plano de la sala cuando el jugador entra en él.
Figura 76. Captura de una de las salas en el explorador de Unreal (Fuente propia)
Las salas se agrupan en cuatro categorías distintas, dependiendo de su número de salidas,
pudiendo variar desde 1 a 4. Cada tipo de sala tiene un porcentaje de aparición en el algoritmo
de la mazmorra, siendo las salas de 2 salidas las más comunes, al ser empleadas a modo de
pasillos entre otras salas, ya sea a modo de pasillo recto o en esquina, como se ha visto en la
figura.
Tras la explicación de los elementos que conforman la mazmorra, se procederá a exponer su
ensamblado, siempre siguiendo las pautas para su correcta construcción.
112
7.4.2. Ensamblado de la mazmorra
A continuación, se explicará el algoritmo empleado para la creación de los niveles, centrándose
más en su funcionamiento general y en cómo ha sido implementado en el proyecto.
El algoritmo utilizado se denomina Algoritmo de generación de laberintos, también conocido
como Maze generation algorithm [19] en inglés. Para este proyecto se ha utilizado la versión
iterativa del algoritmo D.F.S (Depth First Search), la cual crea un laberinto partiendo de una
cuadrícula dividida en celdas parecida a un tablero de ajedrez. Se utilizará un ejemplo para
explicar su funcionamiento y como ha sido desarrollado en el proyecto.
A modo de cuadrícula en el proyecto se emplea un array cuyo tamaño dependerá de las
dimensiones escogidas para la mazmorra, en este ejemplo se empleará una cuadrícula de 8 x 5
celdas, dando como lugar un array de 40 celdas.
En la Figura 77 se muestra el inicio del algoritmo, para el cual se debe escoger una celda inicial,
en este caso la celda central de la cuadricula. Para ello hay que dividir cada una de las
dimensiones entre 2 para obtener las coordenadas, siendo la coordenada X = 4 y la coordenada
Y = 2.5, lo cual se redondea a 2, por lo que se escogerá la celda que se encuentre en la
coordenada (4,2) de la cuadrícula, siendo esta la celda número 20.
Figura 77. Ejemplo de funcionamiento del algoritmo (Fuente propia)
113
Una vez se ha seleccionado la celda donde comenzar, se siguen estos pasos de forma recursiva,
hasta terminar de construir todo el laberinto, ya sea rellenando toda la cuadrícula o después de
un número dado de celdas marcadas. Los pasos a seguir son:
1. Marcar una celda como visitada, seleccionarla como posición actual y almacenarla en un
array para saber que será utilizada.
2. Comprobar todas las celdas colindantes a la actual y buscar aquellas que estén dentro de los
límites de la cuadrícula y no hayan sido visitadas.
3. Seleccionar aleatoriamente una de las celdas que hayan cumplido los requisitos de
búsqueda.
4. Marcar la unión entre la celda seleccionada y la actual.
5. Marcar la celda seleccionada como nueva celda actual y repetir los pasos nuevamente.
Debido a que se está trabajando con un array de una única dimensión, para avanzar a las celdas
que se encuentran a la izquierda o derecha de la actual basta con sumar o restar una posición.
Pero para poder acceder a las casillas que se encuentran arriba o abajo, es necesario sumar o
restar la dimensión X de la cuadrícula, como se ve en la Figura 77, donde para pasar de la celda
número 20 a la número 12 es necesario restar a dicha posición 8, que es la dimensión X de la
cuadrícula.
Conforme se sigue el algoritmo se obtiene una lista de todas las celdas que se han visitado y sus
conexiones entre sus distintas celdas colindantes, por lo que si se llega a un movimiento en el
cual el algoritmo no pueda continuar (la celda actual no tiene celdas colindantes no visitadas),
el algoritmo irá recorriendo la lista de celdas visitadas hacia atrás buscando una por la que pueda
continuar, convirtiéndola en la nueva celda actual.
En el proyecto, para aumentar el grado de aleatoriedad de la mazmorra, una vez que se ha
obtenido la lista de celdas para la construcción de la mazmorra se sigue un paso más. Se escoge
una celda al azar de la lista, de la cual se comprueban sus colindantes en busca de una celda
dentro de la lista, pero que no tenga conexión con esta. Se crea una conexión entre ambas celdas
y se repite el proceso un número aleatorio de veces, modificando así la lista inicial dada por el
algoritmo y obteniendo la lista definitiva que será la utilizada para crear la mazmorra final.
114
Una vez que la lista definitiva está terminada solo falta crear las salas que formarán la mazmorra
en el mapa, eligiendo el tipo de estas según su número de salidas y su posición. En la Figura 78
se pueden ver los tipos de salas posibles, separandolas sugún su numero de conexiones. Todas
las salan han de ser rotadas a la hora de colocarlas en el mapa para que coindidan con las uniones
de la lista y en el caso de las salas de dos conexiones, se elegirán según la posición de sus uniones
con otras salas, distinguiendo entre pasillos y esquinas.
Figura 78. Tipos de salas según su conexión (Fuente propia)
Una vez que las salas han sido colocadas correctamente en el mapa del nivel, solo resta añadir
los elementos interactuables a cada una de ellas. La Figura 79 es un ejemplo de una mazmorra
vista desde arriba generada utilizando este algoritmo, en la que se muestra mediante un camino
naranja las conexiones entre sus salas.
Figura 79. Ejemplo de mazmorra creada mediante el algoritmo, marcando sus conexiones (Fuente propia)
115
7.4.3. Elementos de la mazmorra
Los elementos de la mazmorra, son todos aquellos objetos o enemigos con los que el jugador
puede interactuar durante su estancia en el nivel. Como se mencionó en el apartado 7.4.1 Salas
de la mazmorra, todas las salas deben tener una superficie delimitada en la que puedan ser
colocados los elementos antes de que el jugador pueda adentrarse en la mazmorra.
Para la colocación de los elementos, cada sala posee un objeto que se encarga de hacer aparecer
en el mapa el elemento especificado dentro de las coordenadas de la superficie. Debido a la
diferencia de terreno jugable de cada una de las salas, cada una posee una superficie de
dimensiones distintas y un número máximo de elementos que pueden aparecer en su interior.
De dicha forma se evita la posibilidad de que por ejemplo un enemigo aparezca fuera de los
límites del terreno o de que una sala pequeña albergue demasiados enemigos y cofres.
Figura 80. Diferencia de tamaño entre superficies de salas grandes y pequeñas (Fuente propia)
Como se puede ver en la Figura 80, el tamaño de la superficie de aparición de elementos
interactuables (representada como un recuadro color amarillo oscuro) puede variar
enormemente entre salas, dependiendo de su forma. En este ejemplo se comparan dos salas de
dos salidas cada una (utilizadas a modo de esquina), teniendo una de ellas una superficie jugable
notoriamente mayor que la otra.
116
Una vez que todas las salas han sido colocadas, se escoge un número de enemigos y cofres del
tesoro que aparecerán en el nivel, siendo este relativo al número de salas que han sido
colocadas, para evitar así un nivel demasiado vacío o abarrotado. Cuando ya se ha escogido el
número de elementos de cada, se realizan los siguientes pasos por cada uno de ellos,
separándolos en enemigos y cofres del tesoro.
1. Se escoge una sala al azar entre todas las colocadas.
2. Se comprueba si la sala tiene suficiente espacio para añadir un elemento más a su interior,
en el caso de que el elemento sea un enemigo, ya que los cofres carecen de esta restricción.
3. Si la sala escogida ha llegado a su número máximo de enemigos o si se trata de la entrada o
salida del nivel, se escogerá otra sala distinta de las restantes y se volverá al primer paso.
4. Si dicha sala sí posee el espacio necesario para añadir más elementos, este será colocado en
la sala y se reducirá su espacio en 1.
5. Se escoge un nuevo elemento a colocar y se repite el paso 1 hasta que el número de
elementos restantes sea cero.
La razón por la que solo los enemigos deben cumplir con el requisito del espacio máximo está
relacionada con la dificultad del juego, para evitar así que, si se diera la casualidad, todos los
enemigos del mismo nivel aparecieran dentro de la misma sala, haciendo prácticamente
imposible al jugador atravesarla sin ser derrotado por tantos enemigos simultáneos.
Por último, cuando todos los enemigos y cofres del tesoro han sido colocados en el nivel, se
añade en una sala al azar el cofre que contiene la llave para poder avanzar al siguiente nivel.
Dicho cofre puede aparecer dentro de cualquier sala a excepción de la entrada o salida, sin
importar el número de elementos que se encuentren en dicha sala y solo aparecerá uno, sin
importar en número de salas que compongan la mazmorra.
Cuando todos estos elementos ya han sido introducidos en el nivel, el jugador es libre de
comenzar la exploración de la mazmorra, partiendo siempre desde sala de entrada del nivel.
117
7.5. Implementación de las mecánicas de juego
En este apartado se desarrollará la implementación de las mecánicas comentadas en la sección
6.2 Mecánica del juego. Cabe destacar que la explicación de la mayoría de mecánicas será a
grandes rasgos, sin entrar en demasiado detalle sobre el funcionamiento de las distintas clases
de Unreal Engine.
7.5.1. Control del personaje
Para que el jugador sea capaz de controlar al personaje, es necesario realizar una configuración
de los inputs del juego. Los inputs son toda acción que el jugador puede realizar y por la que
debe haber una respuesta por parte del programa. La configuración se ha de realizar en los
ajustes del proyecto en Unreal Engine, dentro de la pestaña inputs.
Es posible definir el comportamiento para todas las acciones que se quieran realizar y asignar
los botones correspondientes de los distintos controladores empleados.
Figura 81. Captura de la pestaña de inputs en Unreal Engine (Fuente propia)
118
En la Figura 81 se puede ver una pequeña parte de la lista de inputs empleados en el videojuego,
en la que se definen los botones empleados para controlar el movimiento y cámara del
personaje utilizando teclado, mando y ratón como controladores.
Una vez que se ha realizado la configuración de inputs, es necesario referenciarlos en el blueprint
del personaje y obtener sus valores de entrada para la acción que tienen asignada. Dichos
valores pueden variar dependiendo del tipo de acción a la que hagan referencia, como se
muestra en la Figura 82, donde los valores de entrada de las acciones de movimiento y cámara
son un número que representa el valor del movimiento en los ejes de coordenadas y la entrada
de la acción de fijar enemigos (“Lock-On” en la imagen) solo devuelve si la tecla que realiza dicha
acción ha sido presionada o soltada.
Figura 82. Diferencias entre los valores de entrada de los inputs (Fuente propia)
Cabe destacar que todas las acciones por parte para las distintas mecánicas del juego han sido
configuradas de manera idéntica a la anteriormente descrita, cambiando únicamente los
botones necesarios para su realización, por lo que no será mencionado nuevamente en cada
uno de sus respectivos apartados y solo se explicarán las acciones que desencadenan dichos
inputs.
119
7.5.2. Controles de movimiento y cámara
A continuación, se explicará la implementación de las acciones de movimiento y cámara que
fueron enunciadas en el apartado 6.2.2 Movimiento y cámara, dividiendo su explicación en dos
subapartados.
7.5.2.1. Movimiento
El movimiento a nivel de implementación se puede dividir en dos dipos; el movimiento por
entrada y el movimiento por notificación.
El movimiento por entrada es el que el jugador indica al personaje, como correr o caminar.
Dicho movimiento emplea los valores de los ejes de coordenadas obtenidos por el input de
movimiento, como se vio en la Figura 82, donde dependiendo del valor obtenido, el personaje
se moverá en una dirección distinta dentro del espacio 3D. Cabe destacar que los enemigos
cuentan con un movimiento similar, pero no controlado por el jugador, si no por su inteligencia
artificial, que es la encargada de decidir la dirección en la que se moverán.
El movimiento por notificación es todo aquel que se indica al personaje, pero del cual el jugador
o la inteligencia de los enemigos, no tienen control. Dicho movimiento se encuentra
normalmente en las animaciones que el personaje realiza, como esquivar o atacar.
Figura 83. Ejemplo de movimiento por notificación dentro de una animación (Fuente propia)
120
En la Figura 83 se puede ver un ejemplo del uso de dicho movimiento, en el cual cuando la
animación llega al fotograma donde se encuentra la notificación especial “Movement”, esta
comprueba los parámetros añadidos a dicha notificación. Los parámetros del movimiento por
notificación son los siguientes:
• “Start Movement?” que indica al personaje si ha de iniciar el movimiento por
notificación o si ha de terminarlo. El movimiento se iniciará cuando este valor sea
positivo y no parará hasta que dicho valor vuelva a ser negativo mediante el uso de la
misma notificación. Esto provoca que una vez que el movimiento ha sido iniciado, el
jugador carece de la posibilidad de pararlo hasta que no haya concluido de manera
natural.
• “Left/Right?”, debido a que el jugador carece de control sobre el movimiento, se le ha
de notificar si el movimiento es en el eje horizontal (izquierda/derecha) o vertical
(adelante/atrás).
• “Movement value” representa el valor de movimiento, así como la dirección del mismo
dentro del eje seleccionado por “Left/Right?”. El valor representa a cuanta velocidad ha
de desplazarse el personaje, siendo 0 a ninguna y 1 el total de la velocidad de
desplazamiento del personaje. El signo del valor representa la dirección dentro del eje
correspondiente, siendo por ejemplo el negativo hacia atrás y positivo hacia delante,
siempre que nos encontremos en el eje vertical.
Debido a el funcionamiento del movimiento por notificación, este está anclado a las distintas
animaciones, por lo que, si un enemigo o el personaje realizan la misma animación, ambos
recibirán la notificación para realizar un movimiento idéntico, variando únicamente la velocidad
a la que se desplazarán.
7.5.2.2. Cámara
La cámara utiliza los ejes recibidos en su input correspondiente, como se pudo ver en la Figura
82, y los convierte en una posición en el espacio 3D a la que enfocar. La cámara ha de
configurarse en el blueprint del personaje, anclándola a este mediante un SpringArm, un
elemento que simula el efecto de un muelle entre el jugador y la propia cámara. Dicho efecto se
emplea para suavizar los movimientos de la cámara en relación a la velocidad y rotación del
personaje al que está anclada, así como detectar cuando la cámara colisiona con los elementos
de la escena y moverla para evitar que se introduzca en su interior.
121
También es posible emplearlo para conseguir efectos llamativos, como alejar la cámara del
personaje cuando corre para dar una mayor sensación de velocidad. En la Figura 84 se puede
ver la unión entre la cámara y el personaje mediante una línea roja, dicha línea es el SpringArm.
Figura 84. Captura del blueprint del personaje donde se muestra el SpringArm (Fuente propia)
La cámara cuenta con dos modos de rotación distintos, los cuales de activan automáticamente
dependiendo de las acciones del jugador, proporcionando mejores ángulos de cámara cuando
son requeridos. Dichos modos son los siguientes:
• Modo libre: el modo de rotación estándar de la cámara. En este modo la cámara se
encuentra a una distancia fija del personaje y siempre apuntándolo, sin importar la
dirección en la que el personaje este rotado.
• Modo fijado: el modo que se activa únicamente durante unas acciones concretas, como
fijar a un enemigo o apuntar con la brújula. En dicho modo la cámara se acerca al
hombro derecho del personaje, aumentando así la visibilidad de lo que se encuentra
frente a él. En este modo la rotación de la cámara y el personaje recaen en el
movimiento del ratón, provocando que el personaje siempre esté de frente a donde
apunta la cámara, pero de espaldas a esta.
122
7.5.3. Interacción con los elementos del entorno
Todos los actores con los que el jugador puede interactuar, incluido el mismo personaje, tienen
una interfaz común llamada “InteractInterface” y en la cual se encuentran las funciones
necesarias para realizar toda la interacción entre ellos.
Como se explicó en el apartado 6.2.6 Interacción, cuando el personaje se acerca lo suficiente a
un actor interactuable, este podrá interactuar con él. Esto es debido a que el objeto manda un
mensaje, utilizando la interfaz, al personaje para avisarle de que puede interactuar con él y así
el personaje marca el objeto como “posible interactuable” y si es el más cercano al personaje,
se mostrará un mensaje en la pantalla mediante el uso de un widget, el cual mostrará dos
exclamaciones (“!!”). Gracias a este sistema de cercanía, el jugador puede estar en rango de
interacción con muchos actores, pero solo interactuará con uno al mismo tiempo. Un ejemplo
de lo anteriormente explicado se puede ver en la Figura 85, donde el personaje se encuentra
dentro del área de interacción de dos actores, marcada como una esfera de bordes rojizos. Como
el personaje se encuentra más cerca del actor de la izquierda de la imagen, solo es posible
interactuar con este, como se muestra gracias al widget en la pantalla.
Figura 85. Ejemplo de interacción con varios actores a la vez (Fuente propia)
Cuando el jugador decide interactuar con uno de los actores mediante el uso del input
establecido para ello, el personaje manda un mensaje mediante la interfaz al actor para que
sepa que está interactuando con él y este realice la función que tenga establecida. La función de
interacción varía según el tipo de actor con el que se interactúe, pudiendo ser desde un objeto
que añadir al inventario o un cofre del tesoro o puerta que abrir.
123
7.5.4. Sistema de niveles y árbol de habilidades
El personaje y los enemigos cuentan con una serie de variables de distintos tipos encargadas de
llevar el recuento de sus parámetros y permitir que sean usados por el resto de mecánicas.
Figura 86. Algunas de las variables que el personaje utiliza para guardar sus parámetros (Fuente propia)
En la Figura 86 se encuentran las principales variables encargadas de gran parte de las
mecánicas, como el sistema de energía o el combate. Cuando la vitalidad de un enemigo llega a
cero, este será derrotado y mandará un mensaje al jugador para añadir una cantidad de “puntos
de experiencia” a su contador. Cuando el contador del personaje supera el límite establecido,
sube un nivel y aumentan sus parámetros en una suma establecida previamente. A diferencia
del personaje jugable, los enemigos no pueden recibir experiencia, por lo que estos recogen sus
parámetros base de una tabla que almacena los datos de todos y a esa base le añaden una
modificación dependiendo del nivel de cada uno.
De forma similar funcionan las habilidades, como se explicó en el apartado 7.3.2.4 Menú de
habilidades cuando el jugador adquiere una habilidad, esta se añade a la lista de habilidades
desbloqueadas del personaje, consiguiendo algún poder que estaba restringido o aumentando
sus parámetros en la cantidad establecida en la habilidad.
124
7.5.5. Sistema de inventario
El sistema de inventario es el encargado de gestionar todo lo relacionado con los objetos del
juego junto con el menú de inventario visto en el apartado 7.3.2.3 Menú de inventario. El
sistema de inventario está creado a partir de un blueprint del tipo componente, que son clases
especiales para objetos de comportamiento reutilizable y que pueden ser añadidas a otros
actores, como al personaje en este caso.
El inventario cuenta con una lista de tamaño definido en el blueprint al que pertenezca el
componente y en la que guarda toda la información de los objetos que contiene mediante el
uso de una estructura de datos.
En la Figura 87 se muestra la estructura de datos que comparten todos los objetos del inventario.
En ella se guardan todas las características de los mismos como su nombre, imagen a mostrar
en los menús o el número máximo de objetos de ese tipo que pueden estar apilados en la misma
ranura del inventario. Además, el inventario también contabiliza el número de objetos del
mismo tipo que tiene en la misma ranura.
Figura 87. Estructura de datos de los objetos del inventario (Fuente propia)
Cuando el jugador interactúa con un objeto que puede ser incluido en el inventario, ya sea
interactuando directamente con él o siendo obtenido mediante un cofre del tesoro, el inventario
sigue unos pasos para añadirlo a su listado.
125
Primero comprueba si el objeto puede ser apilado. Algunos tipos de objetos, como las armas,
no pueden apilarse dentro de una misma ranura del inventario, por lo que el inventario
comprueba si es posible hacerlo y realiza una acción distinta en cada uno de los casos.
En caso de que no puedan ser apilados, el inventario buscará si dispone de alguna ranura vacía
para el objeto nuevo y lo guarda en ella, avisando al jugador mediante una notificación mostrada
por pantalla con el nombre y cantidad añadida del objeto, además de eliminar el objeto del
mundo para que el jugador no pueda volver a adquirirlo. En caso de no existir una ranura
disponible, el inventario avisará al jugador de que no tiene espacio suficiente para el nuevo
objeto y no borrará el objeto del mundo, dejándolo disponible para adquirirlo posteriormente.
En caso de que el objeto pueda ser apilado, los pasos a seguir dependen del número de objetos
simultáneos que vayan a ser añadidos, realizando estos pasos por cada uno de ellos:
1. Busca en todo el inventario, si ya dispone de una ranura de objetos de ese tipo con
espacio suficiente para almacenar uno más, lo añade y notifica al usuario
2. Si no hay una ranura de ese objeto con suficiente espacio, se intenta crear una ranura
nueva de la misma forma que para un objeto no apilable.
Gracias a seguir los dos pasos descritos para cada uno de los objetos a añadir, es posible obtener
solo una parte de la lista de objetos a añadir, consiguiendo por ejemplo 3 de 6 objetos, dejando
los otros 3 para más adelante. Como no es posible interactuar con más de un objeto a la vez, el
jugador solo puede añadir más de un objeto simultaneo cuando se los proporciona un cofre del
tesoro. Si un cofre del tesoro proporciona más objetos al jugador que espacio tiene en el
inventario, el inventario tomará los objetos posibles y devolverá los restantes al cofre,
permitiendo volver a abrirlo más tarde.
126
7.5.6. Guardado y cargado de datos
El guardado y cargado de datos en el proyecto es llevado a cabo por dos blueprints especiales,
que trabajan en conjunto para administrar los datos desde el juego. Uno de ellos es el
“SaveGameObject” o guardador de datos, encargado de crear un archivo con los datos del
personaje. Este archivo perdurará hasta que el jugador lo borre mediante el botón de nueva
partida. El otro blueprint es la Instancia de juego, que es un administrador que perdura igual
todo el tiempo hasta que se cierra el juego, sin importar los cambios en los niveles de Unreal.
Debido al funcionamiento de los niveles de Unreal Engine, cuando se pasa de un nivel a otro,
como por ejemplo del campamento a la mazmorra, Unreal crea de cero todos los actores que
aparecen en el nivel nuevo, borrando los del nivel antiguo. Esto provoca que si has modificado
al personaje en algún aspecto (subir de nivel, adquirir una habilidad) estas modificaciones se
pierdan al cambiar de nivel. El actor de instancia guarda todos los datos del personaje en una
estructura cada vez que se cambia de nivel y se la pasa al guardador para que los resguarde en
un archivo permanente.
Cada vez que el personaje se adentra en un nivel, este le pide a la instancia del juego sus datos
de guardado, si hubiera alguno y los actualiza antes de que el jugador pueda empezar a jugar,
dando la sensación de que el personaje sigue siendo el mismo. Este mismo funcionamiento
ocurre si el jugador guarda o carga la partida, enviando o recibiendo los datos del personaje
desde el guardador. En la Figura 88 se puede ver la forma en la que la instancia del juego guarda
todas las variables del personaje en una estructura y la envía para ser almacenada en el archivo
de datos por el guardador de datos.
Figura 88. Función de la instancia para guardar los datos (Fuente propia)
127
7.5.7. Sistema de combate
A continuación, se hará una explicación de todas las mecánicas que guardan relación con el
combate en el videojuego. Aunque las mecánicas desarrolladas a continuación son las mismas
que en el apartado 6.2.5 Combate, no serán divididas en los mismos subapartados para poder
mantener una mayor coherencia con su implementación. Algunas mecánicas, como los
problemas de estado o el sistema de energía ya han sido desarrolladas en sus respectivos
apartados del GDD, por lo que no se detallará su implementación al ser prácticamente idéntica
a lo descrito anteriormente.
7.5.7.1. Sistema de vitalidad
El sistema encargado de gestionar todo lo relacionado con la vitalidad de los actores del juego,
desarrollado mediante una interfaz que contiene las funciones para recibir daño y recuperar
vitalidad para cada actor. La forma en la que se muestra al jugador los cambios en la vitalidad
está implementada mediante un widget que muestra un número en pantalla y que aparece
encima del actor que haya recibido el cambio en su vitalidad. El color y tamaño del número
mostrado varía en función de si la alteración de vitalidad ha sido por daño o curación.
Cuando un actor recupera su vitalidad por medio de cualquier fuente, la función encargada de
ello comprueba que la cantidad recuperada no supere la vitalidad máxima del actor, realizando
los cálculos necesarios para gestionar el aumento y lo muestra por pantalla.
De manera similar funciona el daño. Cuando un actor recibe daño de cualquier fuente, se resta
dicha cantidad a su vitalidad. Si esta resultara ser igual o menor a cero, entonces se consideraría
que ha sido derrotado, realizando los pasos pertinentes para cada tipo de actor.
Debido a que este sistema solo gestiona la pérdida o aumento de vitalidad, las fórmulas para
calcular el daño se encuentran en fuentes externas a él, por lo que serán vistas en detalle más
adelante.
128
7.5.7.2. Armas de corto alcance
Las encargadas de realizar el daño en el juego son en su mayor medida las armas, ya que cuentan
con todas las funciones para ello. Cuando un arma colisiona con un actor que puede ser dañado,
esta hace un cálculo del daño total que ha de realizar y manda un mensaje mediante la interfaz
de vitalidad para que el actor reciba el daño.
Para que las armas de corto alcance puedan colisionar con un actor, deben realizar un “ataque”.
Un ataque consiste en realizar una animación definida en el arma que marca las pautas de
cuando se golpeará al enemigo.
Todas las armas de corto alcance poseen una lista de ataques que pueden realizar, siendo el
máximo de ellos 5 consecutivos. Estos ataques se dividen en “ataques normales” y “ataques
potentes” de implementación idéntica y que se pueden agrupar en combos como se explicó en
el apartado 6.2.5.3 Combos.
Para detallar el funcionamiento de los ataques se utilizará la Figura 89 a modo de ejemplo, de la
que se explicarán que hace cada una de sus notificaciones y el cómo se ha llegado a esa situación.
Figura 89. Captura del montage de animación de uno de los ataques (Fuente propia)
Cuando el jugador o la IA realizan su “acción de golpear”, la primera animación de la lista de
ataques del arma equipada por el actor es invocada y en ese momento el ataque comienza.
129
• “StartAreaAttack” indica el momento exacto de la animación en la que el arma empieza
a poder colisionar con los actores de la escena, sin incluir en ningún caso al que porta el
arma. El arma tendrá la capacidad de colisionar con el mundo hasta que se le diga lo
contrario y comprobará si el actor con el que choca es un enemigo para así llamar a la
función de daño.
• “StopAreaAttack” es la notificación encargada de decir al arma que ya no puede
colisionar más. La combinación de ambas notificaciones permite definir segmentos de
la animación en la que el arma puede o no golpear.
• “ChainAttack” indica el momento en el que se puede seguir el combo. Si la IA o el jugador
realizan otra “acción de golpear” entre el tiempo desde esta notificación y el fin del
ataque actual, podrán invocar un nuevo ataque que se desencadenará de manera
similar al actualmente descrito, actualizando su valor de cadena de combo actual desde
1 a 5.
• “ResetAttack” indica el momento en el que el ataque termina. Una vez que se llega a
esta notificación es imposible continuar con el combo y habría que empezar desde el
principio otra vez.
Todos los ataques de las armas de corto alcance siguen un patrón similar, pudiendo cambiar las
notificaciones en relación a lo que se quiera conseguir con el golpe, pero siempre manteniendo
las notificaciones de iniciar el golpe, terminar el golpe e iniciar el combo.
Cuando un arma golpea al objetivo, este recibe daño. La fórmula para calcular el daño tiene en
cuenta factores como la “ofensiva total”, el “poder defensivo”, el “tipo” del arma y la “especie”
del actor dañado, así como un cálculo adicional que varía dependiendo de si la arma es de largo
o corto alcance. Varios de estos factores han sido vistos en las distintas partes del documento,
pero se hará un breve resumen para aclarar los términos.
• Ofensiva total: Suma del poder ofensivo del actor que empuña el arma, el poder
ofensivo de la propia arma y el daño de crítico del arma, si resultara el impacto en un
golpe crítico.
• Poder defensivo: Cantidad de resistencia al daño que tiene el actor golpeado.
• Tipo del arma: Si se trata de un arma de “corte”, “golpeo” o “mágica” para calcular la
relación con la especie del actor.
• Especie: Si el actor golpeado es de tipo “humanoide”, “flora”, “acorazado” o
“paranormal”.
130
Cuando un arma golpea a un actor, entra en juego la relación entre el “tipo” del arma y la
“especie” del actor. Dicha relación puede ser vista en la tabla de la Figura 90, donde por ejemplo
se muestra que un arma de “tipo corte” le producirá el doble de daño a un actor de “especie
flora”, pero solo la mitad del daño a un actor de “especie acorazado”.
Figura 90. Tabla de daño en relación al tipo y especie (Fuente propia)
Una vez que se ha calculado todo lo anterior, entra en juego el cálculo adicional dependiendo
de si el arma es de corto o largo alcance. En este caso se explicará que ocurre cuando el arma es
de corto alcance.
Cada “tipo” de arma cuenta con una tabla de valores para cada uno de los ataques de sus
combos. Como se dijo anteriormente, el valor de cadena de combo de un arma puede variar
desde el 1 al 5, dependiendo del ataque que se esté realizando en el momento. Por lo que, por
ejemplo, en las armas de “tipo corte” si se está realizando el segundo golpe de un combo, el
daño aumentará un 10% adicional. Cuando se ha realizado el cálculo de todo, se envía un
mensaje con la cantidad de daño final que va a recibir y se marca como golpeado, evitando así
poder volver a golpearlo hasta que acabe el ataque actual.
El uso de estas tablas de valores permite aumentar la personalización de las armas, así como dar
un poco más de complejidad a la jugabilidad, ya que el jugador debe que recordar que ataques
son mejores con cada “tipo” de arma.
131
7.5.7.3. Armas de largo alcance
Las armas de largo alcance utilizan proyectiles para atacar. El método de uso de las armas de
largo alcance es el mismo que con las de corto alcance, utilizan una animación de ataque que
cuenta con las notificaciones necesarias para realizar el disparo del proyectil. Al contrario que
las armas de corto alcance, estas no pueden realizar combos ni tienen “ataques normales” y
“ataques potentes”, estas armas solo cuentan con un único ataque, pero pueden ser utilizadas
en los combos de las armas de corto alcance. En la Figura 91 se puede ver el uso de notificaciones
como “FullChargeProjectile” para provocar que el arma de largo alcance ataque, aunque esta no
sea su animación de ataque asignada. La combinación de ambas armas en las animaciones
permite crear combinaciones de combos variadas y con gran potencial de combate.
Figura 91. Animación de combo del personaje que cuenta con un disparo (Fuente propia)
Un proyectil es un actor que se desplaza por el mapa siguiendo una trayectoria y que desaparece
al colisionar contra cualquier cosa, en la mayoría de los casos, o después de que se agote su
tiempo de vida en el mundo. Cuando un actor “dispara” su arma de largo alcance, se realizan los
cálculos de la dirección en la que deberá desplazarse el proyectil. Estos cálculos dependen de si
el actor que “dispara” es el jugador o un actor controlado por la IA, teniendo como punto
objetivo el lugar hacia donde mire la cámara en el primer caso y al propio jugador en el segundo.
Existen distintos tipos de proyectiles, cada uno cuenta con características propias, pero todos
calculan la trayectoria y el daño de la misma forma. La fórmula del daño de las armas de largo
alcance es idéntica a la de las armas de corto alcance salvo en su último paso. En lugar de utilizar
la tabla de valores de la cadena de combo, estas guardan la posición donde se disparó el
proyectil y luego calculan cuanta distancia ha recorrido hasta colisionar. Cuanto mayor sea la
distancia recorrida, menor será el daño causado, pudiendo llegar a anular por completo el daño
que el proyectil provoca al enemigo.
132
7.5.7.4. Acciones de combate
Las acciones de combate son mecánicas que el jugador puede realizar y que tienen como
objetivo facilitar la lucha contra los enemigos. Las dos principales acciones de combate son las
esquivas y fijar enemigos.
Las esquivas son animaciones que el personaje puede realizar hacia cualquier dirección y que
desactivan su colisión con las armas enemigas durante su duración, evitando ser dañado. Las
esquivas cuentan con un movimiento por notificación, por lo que el jugador solo puede elegir la
dirección en la que se ejecutará, pero no puede alterar su duración y la distancia recorrida
durante la esquiva.
El fijado de enemigos consiste en centrar la cámara en el enemigo, cambiando su modo a “modo
fijado”, como se vio en el apartado 7.5.2.2 Cámara.
El personaje cuenta con una gran área de colisión a su alrededor denominada “Área de fijado”.
Cuando un enemigo entra dentro de dicha área, este pasa a estar en “rango de fijado” y calcula
la distancia entre ambos. Cuando el jugador pulsa el input para fijar a un enemigo, el personaje
comprueba entre la lista de enemigos en rango de fijado cual está más cerca y lo selecciona
como enemigo fijado. Si el jugador decide cambiar de enemigo fijado, el personaje buscará entre
los enemigos en el rango al próximo más cercano a él, convirtiéndolo en el nuevo enemigo fijado.
133
7.6. Inteligencia artificial
Las bases y pautas de la inteligencia artificial en el juego, así como la explicación de cada uno de
los nodos de su árbol de comportamiento, fueron detalladas en el apartado 6.6 Inteligencia
artificial del GDD, por lo que a continuación, se explicará cómo se ha implementado lo
anteriormente mencionado.
Para que un actor cuente con inteligencia artificial debe cumplir dos factores. El primero es que
su blueprint cuente con un componente llamado “PawnSensing”, encargado de proporcionar al
actor la capacidad de sentir lo que le rodea. Mediante este componente, el actor puede contar
con un rango de visión y oído, que le avisarán de la existencia del jugador al ser percibido por
cualquiera de estos sentidos. En la Figura 92 se muestra el cono de visión, representado en
verde, de un enemigo.
Figura 92. Captura de cono de visión de un enemigo (fuente propia)
El segundo factor que debe cumplir es tener asignado una clase de control de IA (AI Controller
Class), encargada de utilizar el árbol de comportamiento. Combinando estos dos elementos se
puede conseguir que un actor sea capaz de ver u oír al jugador y actuar en consecuencia a ello,
gracias a su árbol de comportamiento.
Para dar una mayor profundidad a la IA, se han implementado dos características más para los
enemigos. La memoria y la sensación de daño.
Debido a que el sentido del oído no se utiliza en el proyecto, los enemigos solo son capaces de
detectar al jugador si lo ven. Cuando un enemigo es dañado, su clase de control manda un
mensaje al actor para avisarle de que está siendo atacado, provocando que el enemigo actúe la
134
misma forma que si hubiese visto al jugador. Esto ha sido diseñado para evitar situaciones tan
ridículas como poder atacar continuamente a un enemigo que está de espaldas al jugador
debido a que no lo ha visto.
Además de contar con el sentido del dolor, los enemigos también cuentan con un sistema de
memoria. Cuando un enemigo detecta al jugador, por cualquiera de los métodos disponibles, lo
marca como objetivo y sigue las pautas dictadas en su árbol de comportamiento. Para poder
evitar que un enemigo conozca la posición del jugador eternamente o hasta que sea derrotado,
estos empiezan a olvidar al jugador en el momento que dejan de poder verlo, olvidándolo por
completo pasado un tiempo.
Cada enemigo cuenta con unas características de combate distintas. Dichas características
vienen dadas por sus armas equipadas y el método de combate que tienen definido. Todos los
enemigos tienen un rango de ataque, que puede variar dependiendo de si usan armas de corto
o largo alcance principalmente. Cuando un enemigo detecta al jugador, este se acercará a él
hasta entrar en su campo de ataque y en ese momento intentará atacar al jugador.
Gracias a este método es posible crear comportamientos muy distintos en los enemigos, aunque
cuenten con un mismo árbol de comportamiento. Un ejemplo de esto se puede ver en la Figura
93, donde “DeathShoot” dispara al personaje desde una distancia segura, mientras que
“DeathCap” debe acercarse a este para poder atacar.
Figura 93. Enemigos atacando al jugador en su respectivo rango (Fuente propia)
135
8. Conclusiones y trabajo futuro
Tras varios meses de trabajo, he creado un producto del que estar orgulloso. Considero haber
cumplido con los objetivos planteados para este proyecto, ya que se ha conseguido un producto
completamente jugable y divertido.
Durante todo el desarrollo, he aprendido mucho sobre modelado, texturizado, descubierto
herramientas y fuentes muy útiles para realizar animaciones y, sobre todo, he aprendido a
utilizar Unreal Engine 4, siendo esto uno de los objetivos principales.
He comprobado que sí soy capaz de llevar a cabo todos los roles necesarios para crear un
videojuego, aunque haya disfrutado más unos que otros. También he comprobado lo
importante que es una buena planificación inicial y tener claros los pasos que se quieren realizar.
El principio del proyecto fue duro, buscando información y ayuda de todas las fuentes que
encontraba, realizando decenas de tutoriales para aprender a utilizar las herramientas y
desechando mucho trabajo, duramente realizado, que no llego al juego final. Todo esto me ha
permitido adquirir mucha experiencia y dado la capacidad de realizar mecánicas y ajustes de la
forma que mejor se adaptaba a mi proyecto, sin la necesidad de encontrar la solución en el web.
Aunque estoy muy orgulloso del resultado final, me gustaría realizar varias mejoras en un futuro,
como mejorar la optimización del proyecto, para poder ser llevado a plataformas menos
potentes y mejorar y ampliar el apartado sonoro.
Las mejoras a largo plazo que me gustaría realizar son un tanto más ambiciosas, pero que
después de toda la experiencia adquirida, veo posibles. Me gustaría crear una historia en el
juego, con diálogos, cinemáticas y progresión entre distintos lugares más allá del bosque. Esto
me supondría un nuevo reto, puesto que no tengo experiencia en esos ámbitos, pero me haría
estar un paso más cerca de crear el producto definitivo que planeo conseguir.
136
Bibliografía y Referencias
Recursos empleados
Algunos de los recursos del proyecto han sido adquiridos de internet:
• Proyecto de inicio con sistema de movimiento del personaje:
Advanced Locomotion System V4, por LongmireLocomotion, en el bazar de Unreal.
• Música de fondo:
Mega Game Music Collection, por MuzStation Game Music, en el bazar de Unreal.
Documentación
1. Información sobre Dark Cloud. Disponible en:
https://en.wikipedia.org/wiki/Dark_Cloud
2. Información sobre Kingdom Hearts. Disponible en:
https://en.wikipedia.org/wiki/Kingdom_Hearts_(video_game)
3. Información sobre Diablo 3. Disponible en:
https://es.wikipedia.org/wiki/Diablo_III
4. Información sobre Ni No Kuni. Disponible en:
https://es.wikipedia.org/wiki/Ni_no_Kuni
5. Página principal de Unity:
https://unity.com/es
6. Página principal de Unreal Engine:
https://www.unrealengine.com/en-US/
7. Página principal de Autodesk 3DS Max:
https://www.autodesk.es/
8. Página principal de Blender:
https://www.blender.org/
9. Página principal de Mixamo:
https://www.mixamo.com/
10. Página principal de Adobe Photoshop:
https://www.adobe.com/es/products/photoshop.html?promoid=PC1PQQ5T&mv=oth
er
137
11. Página principal de Adobe Illustrator:
https://www.adobe.com/es/products/illustrator.html?promoid=PGRQQLFS&mv=other
12. Página principal de Audacity:
https://audacity.es/
13. Página web de Freesound:
https://freesound.org/
14. Guía de elaboración de un GDD. Disponible en:
https://eldocumentalistaudiovisual.com/2015/02/06/documentacion-en-videojuegos-
documento-de-diseno-gdd/
15. Behavior tree en Wikipedia. Disponible en:
https://en.wikipedia.org/wiki/Behavior_tree_(artificial_intelligence,_robotics_and_co
ntrol)
16. Documentación de Unreal Engine sobre blueprints. Disponible en:
https://docs.unrealengine.com/en-
US/ProgrammingAndScripting/Blueprints/GettingStarted/index.html
17. Documentación de Unreal Engine sobre interfaces. Disponible en:
Interfaces | Unreal Engine Documentation
18. Documentación de Unreal Engine sobre colisiones. Disponible en:
https://docs.unrealengine.com/en-
US/InteractiveExperiences/Physics/Collision/Overview/index.html
19. Algoritmo de generación de laberintos en Wikipedia. Disponible en:
Maze generation algorithm - Wikipedia
138
Anexo: Arte
A continuación, se mostrarán los elementos visuales creados para el videojuego, todos ellos de
elaboración propia, dividiéndolos en imágenes para la interfaz y modelos.
Imágenes de interfaz
Las imágenes que se muestran en los distintos menús del juego y en el HUD. Son, en su mayoría,
todas aquellas que representan los iconos de los objetos, parámetros de los personajes y
estados.
Figura 94. Título del juego, mostrado en el menú principal
Figura 95. Icono del ejecutable del juego
139
Figura 96. Iconos de parámetros y estado
Figura 97. Iconos de ayuda de controles
140
Figura 98. Iconos de los objetos del inventario
Los iconos de los diferentes objetos del inventario están hechos a partir de los modelos, por lo
que los modelos de los objetos son idénticos y no se incluirán.
Figura 99. Iconos del mini mapa
141
Modelos
Los modelos de los principales elementos del juego, dependiendo de la complejidad del modelo,
se mostrará solo el frente, desde varios ángulos o con diferentes texturas.
Figura 100. Modelado del personaje protagonista
Figura 101. Modelo empleado en DeathCap y DeathShoot
142
Figura 102. Modelo del cristal emanador sin el material brillante final
Figura 103. Modelo del enemigo Zombie
143
Figura 104. Modelo de Cazador Orco
Figura 105. Modelo de Mago Kobold
144
Figura 106. Modelo de Guerrero Kobold
Figura 107. Modelo del jefe Sun Wukong
145
Figura 108. Modelo de la puerta de salida de la mazmorra (abierta y cerrada)
Figura 109. Modelos de los elementos del campamento
146
Figura 110. Modelos de las salas de la mazmorra vistos desde arriba
Top Related