Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

147
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

Transcript of Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

Page 1: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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

Page 2: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

1

Page 3: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 4: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 5: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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é.

Page 6: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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

Page 7: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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

Page 8: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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

Page 9: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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

Page 10: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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

Page 11: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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

Page 12: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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

Page 13: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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

Page 14: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 15: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 16: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 17: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 18: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 19: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 20: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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/)

Page 21: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 22: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 23: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 24: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 25: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 26: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 27: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 28: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 29: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 30: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 31: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 32: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 33: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 34: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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]

Page 35: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 36: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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

Page 37: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 38: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 39: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 40: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 41: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 42: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 43: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 44: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 45: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 46: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 47: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 48: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 49: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 50: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 51: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 52: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 53: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 54: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 55: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 56: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 57: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 58: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 59: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 60: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 61: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 62: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 63: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 64: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 65: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 66: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 67: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 68: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 69: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 70: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 71: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 72: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 73: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 74: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 75: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 76: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 77: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 78: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 79: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 80: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 81: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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”.

Page 82: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 83: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 84: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 85: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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

Page 86: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 87: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 88: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 89: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 90: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 91: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 92: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 93: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 94: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 95: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 96: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 97: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 98: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 99: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 100: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 101: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 102: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 103: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 104: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 105: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 106: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 107: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 108: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 109: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 110: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 111: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 112: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 113: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 114: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 115: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 116: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 117: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 118: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 119: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 120: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 121: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 122: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 123: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 124: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 125: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 126: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 127: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 128: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 129: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 130: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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”.

Page 131: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 132: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 133: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 134: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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

Page 135: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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)

Page 136: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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.

Page 137: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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

Page 138: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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

Page 139: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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

Page 140: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

139

Figura 96. Iconos de parámetros y estado

Figura 97. Iconos de ayuda de controles

Page 141: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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

Page 142: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

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

Page 143: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

142

Figura 102. Modelo del cristal emanador sin el material brillante final

Figura 103. Modelo del enemigo Zombie

Page 144: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

143

Figura 104. Modelo de Cazador Orco

Figura 105. Modelo de Mago Kobold

Page 145: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

144

Figura 106. Modelo de Guerrero Kobold

Figura 107. Modelo del jefe Sun Wukong

Page 146: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

145

Figura 108. Modelo de la puerta de salida de la mazmorra (abierta y cerrada)

Figura 109. Modelos de los elementos del campamento

Page 147: Dark Visitant. Videojuego RPG de acción en Unreal Engine 4

146

Figura 110. Modelos de las salas de la mazmorra vistos desde arriba