desarrollo de un videojuego con contenido histórico

103
Desarrollo de un videojuego con contenido histórico Grado en Ingeniería Multimedia Trabajo Fin de Grado Autor: Miguel Ángel Martínez López Tutor/es: Rosana Satorre Cuerda Carlos José Villagrá Arnedo Septiembre 2021

Upload: others

Post on 26-May-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Desarrollo de un videojuego con contenido histórico

Desarrollo de un

videojuego con

contenido histórico

Grado en Ingeniería Multimedia

Trabajo Fin de Grado Autor:

Miguel Ángel Martínez López

Tutor/es:

Rosana Satorre Cuerda

Carlos José Villagrá Arnedo

Septiembre 2021

Page 2: Desarrollo de un videojuego con contenido histórico

2

Page 3: Desarrollo de un videojuego con contenido histórico

3

Justificación y objetivos

Desde que tengo uso de razón los videojuegos siempre han sido parte de

mi vida, gracias a ellos he podido sumergirme en una infinidad de mundos, cada

uno con sus propias características y peculiaridades, he podido estar en la carne

de protagonistas únicos, cada uno con su propia historia y desafíos. Además,

estas experiencias no solo me han proporcionado una vía de escape para

desconectar de la realidad, sino también he conseguido conocimientos y

aprendido lecciones muy valiosas.

Es por ello por lo que decidí formar parte de este mundo y aportar mi

pequeño granito de arena, ya no quería ser únicamente un jugador, quería crear

nuevos mundos con los que ayudar a la gente a aprender, vivir experiencias

únicas y pasarlo bien.

Hace 4 años que empecé en el Grado de Ingeniería Multimedia de la

Universidad de Alicante y, ha sido el primer paso para adentrarme en el mundo

de los videojuegos que tanto me apasiona, tras estos 4 años y varios proyectos

desarrollados es el momento de finalizar esta etapa y continuar evolucionando.

Con este proyecto mi objetivo principal es conseguir experiencia en el

desarrollo de videojuegos con todo lo que ello conlleva como la planificación, el

análisis y el diseño del videojuego, además de mejorar mi conocimiento en el

motor Unity, mejorar mis habilidades de programación y aumentar mi

conocimiento en programas de modelado en 3D.

Otro de los objetivos es aprender a trabajar en grupo con otro

departamento como ha sido el de historia, ya que el proyecto se centra en un

videojuego de historia basado en hechos reales. Por último, me gustaría

Page 4: Desarrollo de un videojuego con contenido histórico

4

conseguir que los jugadores aprendan hechos históricos a la vez que se

entretienen jugando.

Page 5: Desarrollo de un videojuego con contenido histórico

5

Agradecimientos

Agradecer a mis tutores Carlos José Villagrá Arnedo y Rosana Satorre Cuerda

por ayudarme durante el transcurso del proyecto y aconsejarme en las reuniones.

Agradecer a mi familia por haberme dado una buena educación, motivarme a

seguir adelante cada día y aguantarme días en los que no podía hacerlo ni yo. Su

compañía ha sido imprescindible, sobretodo en tiempos de pandemia.

Agradecer a mi pareja, Marina por todo el apoyo que me ha dado durante el

transcurso de la carrera, animándome y estando ahí en todo momento para ayudarme a

superar las distintas adversidades.

Finalmente, agradecer a mis compañeros Daniel Pelegrín Ferrándiz y Daniel

Arranz Carazo del grado en Historia de la Facultad de Filosofía y Letras de la

Universidad de Alicante por el trabajo conjunto.

Page 6: Desarrollo de un videojuego con contenido histórico

6

Dedicado a mi familia, por aguantarme y apoyarme.

A Marina, por estar ahí apoyándome en todo momento.

A Carlos y Rosana, por ayudarme durante el transcurso del proyecto.

A Pía y Tamara, por estos cuatro años de universidad.

Page 7: Desarrollo de un videojuego con contenido histórico

7

Page 8: Desarrollo de un videojuego con contenido histórico

8

Contenido 1. Introducción ........................................................................................................ 12

2. Marco teórico ...................................................................................................... 14

2.1 ¿Qué es un videojuego? ............................................................................... 14

2.2 Motores de videojuegos ............................................................................... 16

2.2.1 Unity ............................................................................................................ 17

2.2.2 Unreal Engine ............................................................................................ 18

2.2.3 Godot ........................................................................................................... 19

2.2.4 Cry Engine .................................................................................................. 21

2.3 Géneros ............................................................................................................... 22

2.3.1 Acción.......................................................................................................... 22

2.3.2 Disparos ...................................................................................................... 23

2.3.3 Estrategia .................................................................................................... 24

2.3.4 Carreras ....................................................................................................... 25

2.3.5 Deportes ...................................................................................................... 26

2.3.6 Rol ................................................................................................................ 27

2.3.7 Aventura ..................................................................................................... 28

2.4 Evolución de los videojuegos históricos ........................................................ 30

2.5 Evolución del género de aventura gráfica ..................................................... 32

2.6 Referentes ........................................................................................................... 33

2.7 Videojuegos y educación ................................................................................. 35

3. Objetivos .............................................................................................................. 36

3.1 Objetivo principal ............................................................................................. 36

Page 9: Desarrollo de un videojuego con contenido histórico

9

3.2 Objetivos específicos ..................................................................................... 36

4. Metodología ........................................................................................................ 39

4.1 Modelo de desarrollo iterativo ........................................................................ 39

4.1.1 Iteración 1: Investigación .......................................................................... 40

4.1.2 Iteración 2: Primer prototipo ................................................................... 40

4.1.3 Iteración 3 y 4: Segundo prototipo .......................................................... 41

4.1.4 Iteración 5: Arte ......................................................................................... 41

4.1.5 Iteración 6 y 7: Producto Final ................................................................. 41

4.2 Kanban ................................................................................................................ 42

4.3 Herramientas utilizadas ................................................................................... 42

4.3.1 Trello ........................................................................................................... 42

4.3.2 Toggl track .................................................................................................. 44

4.3.3 Visual Studio .............................................................................................. 44

4.3.4 Audacity ..................................................................................................... 45

4.3.5 Gimp ............................................................................................................ 46

4.3.6 Blender ........................................................................................................ 47

4.3.7 Twine ........................................................................................................... 47

5. Documento de Diseño del Videojuego (GDD) .................................................... 49

5.1 Elección del motor ............................................................................................ 49

5.2 Concepto del videojuego ................................................................................. 50

5.2.1 Historia ....................................................................................................... 50

5.2.2 Objetivo ....................................................................................................... 51

Page 10: Desarrollo de un videojuego con contenido histórico

10

5.2.3 Género ......................................................................................................... 51

5.2.4 Público......................................................................................................... 52

5.3 Personajes ....................................................................................................... 53

5.4 Escenario ........................................................................................................ 55

5.5 Mecánicas del juego .......................................................................................... 58

5.5.1 Controles ..................................................................................................... 58

5.5.2 Movimiento y cámara ............................................................................... 59

5.5.3 Mapa ............................................................................................................ 59

5.5.4 Atributos ..................................................................................................... 59

5.5.5 Conversaciones y múltiples finales ........................................................ 61

5.5.6 Capítulos ..................................................................................................... 62

5.5.7 Enciclopedia ............................................................................................... 62

5.5.8 Sistema de guardado ................................................................................ 62

5.5.9 Inventario e interacción con objetos ....................................................... 63

5.6 Interfaces ............................................................................................................ 64

5.6.1 Menú Inicio ................................................................................................ 64

5.6.2 Mapa ............................................................................................................ 64

5.6.3 Menú InGame ............................................................................................ 65

5.6.4 Inventario ................................................................................................... 66

5.6.5 Enciclopedia ............................................................................................... 67

5.6.6 Opciones ..................................................................................................... 68

6. Desarrollo e implementación ................................................................................. 69

6.1 Funcionamiento básico Unity ..................................................................... 69

Page 11: Desarrollo de un videojuego con contenido histórico

11

6.1.1 GameObject, Componentes y assets ................................................... 70

6.1.2 Prefab .......................................................................................................... 72

6.1.3 Animator ..................................................................................................... 73

6.1.4 Scripts .......................................................................................................... 74

6.1.5 Ciclo de ejecución funciones de Unity ................................................... 76

6.2 Implementación del videojuego ................................................................. 79

6.2.1 Bucle Inicial............................................................................................. 79

6.2.2 Bucle del juego ....................................................................................... 80

6.2.3 Movimiento y colisiones ....................................................................... 81

6.2.4 Cámara ........................................................................................................ 83

6.2.5 Atributos del personaje ............................................................................ 85

6.2.6 Interacción con NPC’s y objetos .............................................................. 86

6.2.7 Conversaciones .......................................................................................... 88

6.2.8 Interfaces ..................................................................................................... 89

6.2.9 Progreso en la historia .............................................................................. 94

6.2.10 Sistema de guardado .............................................................................. 95

6.2.11 Rigging y animación de los personajes ................................................ 96

7. Conclusiones ..................................................................................................... 100

8. Bibliografía........................................................................................................ 102

Page 12: Desarrollo de un videojuego con contenido histórico

12

1. Introducción

El sector de los videojuegos es un sector en auge, no solo por las cifras que

genera la industria en términos de ventas, sino que también por el fenómeno

cultural en el que se están convirtiendo los videojuegos. Por otro lado, este

auge también trae consigo las críticas y valoraciones negativas por parte de

personas no relacionadas con el entorno de los videojuegos llegando a decir

que los videojuegos solo generan violencia.

Este proyecto pretende desmentir estas declaraciones, demostrando que

los videojuegos pueden tener un lado educativo y enseñar a los jugadores

habilidades que se ponen en práctica en el día a día como el desarrollo

cognitivo, el trabajo en equipo y la toma de decisiones, además de fomentar

la lectura y la investigación.

El proyecto consta del desarrollo de un videojuego de género histórico

basado en hechos reales realizado en colaboración con estudiantes del grado

en Historia de la Facultad de Filosofía y Letras de la Universidad de Alicante,

y la Catedra Santander-UA de Transformación Digital.

El desarrollo del videojuego incluye todas las fases de desarrollo

necesarias para realizar cualquier producto software: planificación, análisis,

diseño, implementación y pruebas. El videojuego desarrollado pertenece al

género de aventura gráfica combinado con el género histórico y pretende

enseñar a los jugadores una forma de entretenerse mientras se aprende

historia.

Para el videojuego se han estudiado diferentes metodologías y

herramientas, el motor a utilizar será Unity y, para que resulte más fácil la

Page 13: Desarrollo de un videojuego con contenido histórico

13

organización del proyecto se usará la metodología Kanban junto a la

herramienta Trello.

A continuación, en el capítulo 2 se describen los estudios y elementos

conceptuales que han servido de base para realizar la investigación y

desarrollo del proyecto. En el capítulo 3 se describen los objetivos principales

y específicos del trabajo realizado. En el capítulo 4, se explica brevemente la

metodología y las herramientas que han sido utilizadas para el desarrollo del

proyecto. En el capítulo 5 se encuentra el documento de diseño del

videojuego, el cual incluye las bases principales en las que se basa el juego a

desarrollar. En el capítulo 6 se explica el funcionamiento básico de Unity,

además del proceso de desarrollo e implementación del proyecto. Finalmente,

en el capítulo 7 se describe la conclusión después de haber realizado todo el

proyecto y teniendo en cuenta los resultados obtenidos.

Page 14: Desarrollo de un videojuego con contenido histórico

14

2. Marco teórico

2.1 ¿Qué es un videojuego?

El auge de los videojuegos en la actualidad es indudable. El mercado

internacional del videojuego está en constante crecimiento, en el año 2019

creció un 9,6% con respecto al año anterior alcanzando una facturación total

de 133.670 millones de euros (Figura 2.1) (AEVI, 2020)1.

Figura 2.1. Facturación internacional por segmentos en el año 20192.

¿Qué es un videojuego? Según las definiciones, un videojuego es una

aplicación interactiva que está orientada al entretenimiento y permite simular

1 Asociación Española de Videojuegos (AEVI)

2 Fuente:

http://www.aevi.org.es/documentacion/el-anuario-del-videojuego/

Page 15: Desarrollo de un videojuego con contenido histórico

15

experiencias en la pantalla de un televisor, un ordenador u otro dispositivo

electrónico (DefinicionDe, 2013).

Los videojuegos se diferencian de otras formas de entretenimiento en que

deben de ser interactivos ya sea a través de un teclado, un mando o su propio

cuerpo a través de cámaras como por ejemplo Kinect o EyeToy (Figura 2.2)

para la PS2.

Figura 2.2. Videojuego EyeToy Play3.

Quizás sea por esta interactividad por la que cada vez más personas se

sienten atraída por los videojuegos, ya que puedes formar parte de la historia

a diferencia de una película o una serie.

3 Fuente: https://es.ign.com/

Page 16: Desarrollo de un videojuego con contenido histórico

16

2.2 Motores de videojuegos

A la hora de desarrollar un videojuego es muy importante decidir

qué motor se va a emplear para el desarrollo de este. Un motor de juego

es un sistema diseñado para la creación de videojuegos que agrupa un

conjunto de aplicaciones necesarias para su desarrollo (GamerDic.es,

2013).

Los principales sistemas que nos proporcionan los motores de

videojuegos son los siguientes:

• Motor Gráfico

• Motor de físicas

• Motor de sonido

• Scripting4

• Motor de colisiones

Hoy en día, cada vez es menos común usar un motor de videojuego

propio ya que hay que realizar una gran inversión de tiempo y recursos a

la hora de crearlo. Hasta las grandes compañías que cuentan con motores

propios en desarrollo como EA5 han llegado a usar motores comerciales

en sus últimos videojuegos Star Wars Jedi: Fallen Order y Star Wars

Squadrons.

Además, la mayoría de los motores comerciales proporcionan

herramientas que aportan facilidades a la hora de trabajar de una forma

4 Capacidad que tiene el sistema de modificar la lógica del programa usando un lenguaje de

programación.

5 Electronic Arts

Page 17: Desarrollo de un videojuego con contenido histórico

17

visual y escalable aparte de proporcionar licencias gratuitas siempre y

cuando el videojuego desarrollado no supere cierta cantidad de ingresos.

2.2.1 Unity

Unity (Figura 2.3) es un motor de videojuegos multiplataforma,

muy popular entre los desarrolladores indies gracias a la cantidad de

herramientas y funcionalidades que aporta además de su versatilidad para

realizar videojuegos de cualquier género, lo que se traduce en una mayor

facilidad a la hora de desarrollar un videojuego. En Unity se han realizado

videojuegos exitosos como por ejemplo Cuphead, Pillars of Eternity, Pokemon Go,

entre otros (HighGroundGaming, 2020).

Figura 2.3. Logo de Unity.

Unity utiliza el lenguaje C# para el scripting debido a que este lenguaje

controla el manejo de la memoria automáticamente y gracias a esto evita las fugas

de memoria o memory leaks6. Además del lenguaje, Unity cuenta con una tienda

6 Una fuga de memoria es un error de software que ocurre cuando un bloque de memoria

reservada no es liberado.

Page 18: Desarrollo de un videojuego con contenido histórico

18

de recursos para tu juego que pueden ser de pago o gratuitos, como por ejemplo

sistemas de nubes, agua, modelos 3d, etc.

Unity es gratuito si ganas menos de 100 mil dólares anuales, si ganas más

de 200 mil dólares costará 34 dólares al mes y, por último, al pasar esta barrera

serán 150 dólares mensuales.

2.2.2 Unreal Engine

Unreal Engine (Figura 2.4) es uno de los grandes motores de videojuegos

en la actualidad debido a su gran versatilidad y herramientas que incluye ya que

no requiere de extensiones7 para funcionar a pleno rendimiento. Entre las

herramientas incluye editor de video, estudio de sonido y código o renderización

de animaciones, entre otras características. Este motor ha sido empleado para

realizar juegos triples A8 como por ejemplo Kingdom Hearts 3, Fortnite, Dragon

Quest XII.

Figura 2.4. Logo de Unreal Engine.

Unreal Engine utiliza C++ para el scripting, aunque existe una herramienta

dentro del motor llamada Blueprint que permite programar comportamiento sin

7 Son programas que solo funcionan anexados a otro e incrementan sus funcionalidades.

8 Clasificación informal utilizada para videojuegos producidos y distribuidos por una

distribuidora o editor importante.

Page 19: Desarrollo de un videojuego con contenido histórico

19

necesidad de escribir ninguna línea de código. Uno de los principales problemas

de este motor reside en la dificultad que presenta a usuarios no familiarizados

con el entorno, para evitar esto existen una gran variedad de tutoriales para

ayudar a los principiantes con el motor.

Unreal también cuenta con una tienda de recursos, aunque no es tan

amplia como la de Unity también ofrece recursos interesantes para desarrollar.

Por último, este motor es gratuito hasta alcanzar la siguiente condición: en caso

de que se comercialice el producto realizado con este motor a partir de los 3000

dólares de ganancias, se deberá pagar un 5% cada trimestre (GameIndustry.biz,

2020).

2.2.3 Godot

Godot (Figura 2.5) es un motor de videojuegos multiplataforma igual que

Unity, pero cuenta con la ventaja de que es completamente open-source9 y existe

gente que continuamente está arreglando bugs del motor y añadiendo nuevo

contenido. Es un buen motor para realizar juegos en 2D y, a partir de su

actualización 3.0 añadió una gran cantidad de mejoras para realizar juegos 3D

(ConceptArtEmpire, 2020). Además, cuenta con una gran cantidad de

herramientas que permiten trabajar sin que tengas que desarrollar desde cero.

9 Es un modelo de desarrollo de software basado en la colaboración de los miembros de la

comunidad.

Page 20: Desarrollo de un videojuego con contenido histórico

20

Entre sus puntos fuertes nos encontramos con un sistema de escenas y

nodos que nos permite organizar nuestro videojuego de una forma muy fácil y

permite la escalabilidad del proyecto.

Figura 2.5. Logo de Godot.

Godot incluye varios lenguajes de programación a la hora de realizar

scripting, entre ellos tenemos C++, C# y GDScript (variante de Python), esto hace

que sea fácil de programar y aprender.

Por último, otro de los puntos fuertes de este motor es que es totalmente

gratuito independientemente de la cantidad de beneficios generados con el

proyecto realizado.

Page 21: Desarrollo de un videojuego con contenido histórico

21

2.2.4 Cry Engine

CryEngine (Figura 2.6) es un motor de videojuegos 3D muy potente

dirigido principalmente a aquellos desarrolladores que quieran crear

videojuegos con gráficos de última generación para realizar juegos muy realistas

y contenido de calidad altamente detallado. Además, cuenta con un soporte muy

sólido para realidad virtual y efectos visuales avanzados (ConceptArtEmpire,

2020). Como los motores anteriores, CryEngine también cuenta con una serie de

herramientas para facilitar el desarrollo de los proyectos.

Con este motor se han desarrollado videojuegos como la saga de Crysis,

Ryse: Son of Rome o Monster Hunter Online entre otros.

Figura 2.6. Logo de CryEngine.

El lenguaje de programación que utiliza el motor es Lua, un lenguaje de

alto nivel diseñado para el uso embebido en aplicaciones. Uno de los puntos

débiles de este motor es que tiene la reputación de ser difícil de usar y aprender

por lo que los desarrolladores novatos deberían empezar por otro motor

anteriormente si quieren probar CryEngine.

Page 22: Desarrollo de un videojuego con contenido histórico

22

Por último, el precio de este motor es gratuito siempre y cuando el

beneficio no pase de 5000 dólares, una vez pasa este margen CryEngine te cobrará

una tasa del 5% de estos beneficios.

2.3 Géneros

Actualmente existe una gran cantidad de videojuegos, y una forma de

clasificarlos es mediante géneros, que están basados principalmente en su

jugabilidad10. Un género de videojuego es definido según su conjunto de

limitaciones en la jugabilidad y son clasificados independientemente de su

ambientación (Adams, 2006).

Un videojuego puede pertenecer a varios géneros a la vez, algunos de los géneros

principales son los siguientes:

2.3.1 Acción

Un videojuego de acción es aquel en el que el jugador debe usar su

destreza, velocidad y tiempo de reacción. Se popularizaron en los arcades en los

años 1970 y 1980, la gran mayoría de estos videojuegos contaban con una tabla

de puntuaciones con la que los jugadores podían comprobar a qué nivel estaban

sus habilidades (Genre and game studies, 2013).

El género de acción es el más amplio y engloba muchos subgéneros como por

ejemplo lucha, beat’em up11, plataformas, etc.

10 Término empleado en el diseño y análisis de juegos que describe la calidad del juego en

términos de sus reglas, funcionamiento y de su diseño como videojuego. 11 Estos videojuegos ofrecen un combate entre el protagonista y un número elevado de

oponentes.

Page 23: Desarrollo de un videojuego con contenido histórico

23

Dentro de este género nos encontramos juegos como la saga de Mario (Figura

2.7), Zelda, Monster Hunter…

Figura 2.7. Super Mario Bros12.

2.3.2 Disparos

Los videojuegos de disparos, conocidos también como shooters. Consisten

principalmente en que el protagonista hace un uso continuado de armas de fuego

para abrirse paso y seguir avanzando dentro del juego. Dentro del género de

disparos nos encontramos dos subgéneros principales: disparos en primera

persona y disparos en tercera persona.

Los videojuegos de disparos en primera persona también conocidos como

FPS13 , manejamos al protagonista de forma que vemos en la pantalla lo que ve

12 Fuente: Nintendo.es

13 First Person Shooter

Page 24: Desarrollo de un videojuego con contenido histórico

24

nuestro personaje. En cambio, en los videojuegos de disparos en tercera persona

o TPS14 se juega con un personaje visto desde atrás o desde una vista cenital.

Dentro de este género destacan juegos como Doom o Valorant (Figura 2.8), entre

otros.

Figura 2.8. Valorant15.

2.3.3 Estrategia

El género de estrategia se caracteriza por la manipulación a un numeroso

grupo de personajes, objetos o datos. Destaca en este género el uso de la

inteligencia y la planificación para lograr los distintos objetivos y así ganar o

avanzar en el juego. La mayoría de los videojuegos de este género son de temática

bélica, aunque también existen de estrategia económica, social o empresarial.

Existen dos grandes subgéneros: estrategia en tiempo real y estrategia por turnos.

14 Third Person Shooter

15 Fuente: https://playvalorant.com/en-us/

Page 25: Desarrollo de un videojuego con contenido histórico

25

Dentro de los videojuegos de estrategia en tiempo real los jugadores

tendrán que pensar rápidamente ya que cada segundo es importante para la

planificación si no quieren perder la partida, mientras que en la estrategia por

turnos los jugadores suelen tener todo el tiempo que necesiten para idear sus

siguientes movimientos y realizar todo tipo de planes para lograr el objetivo.

Los videojuegos más conocidos que pertenecen a este género son: Total

War, Final Fantasy, Age of Empires… (Figura 2.9)

Figura 2.9 Age of Empires II16.

2.3.4 Carreras

A veces este género es considerado como una subcategoría dentro de los

videojuegos de deporte, los videojuegos de carreras o de conducción. El objetivo

suele ser llegar a una meta antes que sus contrincantes o dentro de un tiempo

límite. Algunos de estos juegos recrean circuitos de competición existentes en el

mundo real, como por ejemplo los circuitos de Fórmula 1.

16 Fuente: https://store.steampowered.com/app/813780/Age_of_Empires_II_Definitive_Edition/

Page 26: Desarrollo de un videojuego con contenido histórico

26

Según lo realista que sea la conducción, este género se divide en dos:

Arcade y simuladores.

Los videojuegos de carreras arcade tienen una conducción más ficticia sin

tener en cuenta muchos aspectos del mundo real y con vehículos y objetos

imaginarios como por ejemplo Mario Kart.

En cuanto a los videojuegos de carreras de simulación suelen tener una

conducción más real, utilizando modelos reales de vehículos y circuitos reales.

Uno de los ejemplos más destacados de este tipo de juegos sería el Forza Horizon

(Figura 2.10).

Figura 2.10. Forza Horizon 417.

2.3.5 Deportes

Este género de videojuegos consiste en simular deportes del mundo real y

la mecánica del juego es la misma que en el deporte original, aunque a veces se

incorporen algunos extras. Hay una amplia lista de deportes para los que se han

hecho videojuegos: fútbol, baloncesto, tenis, juegos olímpicos, etc.

17 Fuente: https://www.somosxbox.com/analisis-de-forza-horizon-4-xbox-one/795576

Page 27: Desarrollo de un videojuego con contenido histórico

27

Entre los ejemplos más conocidos encontramos toda la saga del FIFA, NBA

2K (Figura 2.11), Madden NFL…

Figura 2.11. NBA 2k2118.

2.3.6 Rol

Estos videojuegos suelen estar muy emparentados con los de aventura ya

que la gran mayoría de videojuegos de rol tienen una historia profunda, además

de una evolución de los personajes protagonistas a medida que esta historia

avanza.

Este género está inspirado mayoritariamente por los juegos de rol de mesa

como Dungeons & Dragons aunque otras fuentes de inspiración fueron

videojuegos de aventura, de estrategia, novelas de fantasía, etc. (The History of

Console RPGs, 2010)

18 Fuente: https://2k.com/en-US/game/nba-2k21-mamba-forever-edition-next-gen/

Page 28: Desarrollo de un videojuego con contenido histórico

28

Los videojuegos de rol tienen una gran diferencia respecto a los de acción,

y es que los combates de los RPG suelen ser un desafío táctico, además de la

gestión del inventario, elecciones de diálogo y sistema de mercado para comprar

y vender objetos.

Algunos de los juegos más conocidos de este género son Final Fantasy,

Pokémon (Figura 2.12) entre otros.

Figura 2.12. Combate Pokémon19.

2.3.7 Aventura

Los videojuegos de aventura son aquellos donde el protagonista tiene que

avanzar en la historia interactuando con diversos personajes y objetos, están

caracterizados por la exploración e investigación del entorno. El enfoque que

tienen estos videojuegos permite tomar prestados elementos de otros medios

como son las películas y la literatura, además abarcan un amplio abanico de

temas incluyendo fantasía, ciencia ficción, misterio, terror, histórico, etc. Dentro

del género de aventura encontramos que hay muchos subgéneros.

El primero de los géneros de aventura en aparecer fue la aventura

conversacional, donde el jugador interactúa con el videojuego mediante texto,

19 Fuente: https://www.wikiwand.com/en/Charmander

Page 29: Desarrollo de un videojuego con contenido histórico

29

tecleando la acción a realizar después de leer la situación en la que se encontraba

el protagonista.

Otro de los subgéneros sería la aventura interactiva, famosa en Japón y

otros países asiáticos, también conocida como novelas visuales. En vez de

analizadores de texto como en la aventura conversacional, estos videojuegos se

caracterizan por el uso de menús en pantalla para todo, desde interactuar con la

historia hasta navegar por los escenarios.

La aventura gráfica es otro de los subgéneros más conocidos, introducida

por la compañía Sierra On-Line con el videojuego King’s Quest en 1984, donde

introdujeron nuevos sistemas y mecánicas de juego. Apple Macintosh desarrolló

en 1984 una interfaz llamada “apuntar y clic”, el primer juego desarrollado con

esta interfaz fue Enchanted Scepters pero no fue hasta el año siguiente cuando la

empresa ICOM Simulations lanzó su juego Deja Vu, el cual quitó por completo el

programa de análisis de texto y solo tenía la interfaz de “apuntar y clic” (Eronen,

2015). Un ejemplo muy conocido de este tipo de juegos es la saga de Monkey Island

o Maniac Mansion (Figura 2.13).

Figura 2.13. Maniac Mansion20.

20 Fuente: https://www.polygon.com/2014/7/21/5924899/maniac-mansion-ron-gilbert-lucasarts

Page 30: Desarrollo de un videojuego con contenido histórico

30

Por último, otro de los subgéneros de aventura sería rompecabezas. Este tipo

de videojuegos consisten en descubrir cómo resolver mecanismos complejos para

conseguir avanzar en la trama, son muy típicos los juegos de “escapar de la

habitación” en los que el jugador deberá interactuar con su entorno para

conseguir escapar del escenario en el que se encuentra.

2.4 Evolución de los videojuegos históricos

Los videojuegos históricos basados en hechos históricos estudiados por

expertos comenzaron a destacar en el año 1997 con el videojuego Age of Empires.

Este videojuego de estrategia en tiempo real fue desarrollado por Ensemble

Studios y publicado por Microsoft, actualmente la saga tiene tres títulos

principales. La primera parte consta desde la Edad de Piedra hacía la Edad de

Hierro, la segunda parte se centra en la Edad Media y, por último, la última parte

se centra en la primera etapa de la edad moderna, desde el año 1421 hasta el año

1850 (EducacionTresPuntoCero, 2020). A lo largo de sus tres partes profundiza y

explora diferentes periodos históricos ahondando en el desarrollo de las

civilizaciones y los avances de sus tecnologías. Los jugadores pueden elegir una

civilización entre una gran variedad, fortalecerla y luchar contra los enemigos

que se encuentren en la partida. Además de todo ello, estos juegos cuentan con

una enciclopedia dentro del videojuego, en ella el jugador dispondrá de una gran

cantidad de información para aprender sobre las distintas civilizaciones.

En el año 2003 nació una de las sagas más grandes de shooters como es Call of

Duty, en sus primeros 3 juegos, el modo historia se sitúa en la Segunda Guerra

Mundial para cubrir diferentes eventos ocurridos en este conflicto. Por otra parte,

en los videojuegos Call Of Duty ‘Black Ops’, la historia se centrará en la época de

la Guerra fría y en varios momentos diferentes de su evolución.

Page 31: Desarrollo de un videojuego con contenido histórico

31

Otra saga de videojuegos muy conocida es Civilization. Su primer juego fue

creado en 1991 y tuvo bastante éxito, pero fue en 2005 con Civilization IV cuando

comenzó su momento de expansión en cuanto a jugadores. Esta saga se basa en

juegos de estrategia por turnos en el que manejaremos un imperio a elegir entre

una amplia variedad en la que se incluyen chinos, romanos, cartagineses, indios,

vikingos, etc. Para ganar, deberemos llevar a nuestra civilización hacia lo más

alto en los diferentes terrenos: ciencia, religión, guerra, turismo.

Por último, tenemos una saga conocida por tener una ambientación muy

cuidadosa, teniendo detrás un grupo de historiadores realizando una gran

investigación previamente a cada videojuego, estudiando personajes históricos,

momentos destacados en la historia y lugares emblemáticos. Esta saga es

Assassin’s Creed, en ella, los diferentes protagonistas de los juegos deben viajar

por diferentes momentos de la historia a través de una máquina conocida como

‘Animus’ para descubrir un conflicto entre asesinos y templarios. Con los

diferentes juegos de esta colección de nueve juegos los jugadores han podido

viajar a diferentes épocas históricas como las Cruzadas, el Renacimiento o la

Revolución Francesa entre muchas otras. Esta saga sigue activa creando nuevos

videojuegos, el último en salir al mercado fue Assassins Creed: Valhalla basado en

la historia vikinga, contando en él tanto sus tradiciones como personajes

históricos como, por ejemplo, Ragnar Lothbrok.

Page 32: Desarrollo de un videojuego con contenido histórico

32

2.5 Evolución del género de aventura gráfica

El género de las aventuras gráficas surgió en 1984 a partir de las aventuras

conversacionales. En estas aventuras se narraba la historia mediante texto y el

jugador debía teclear la acción que el protagonista llevaría a cabo. El primer juego

del género de aventura gráfica fue King’s Quest, además en este videojuego se

introdujeron también 16 colores y el cursor se movía, aunque el jugador seguía

teniendo que jugar a través del teclado (IslaDeMonos, 2020).

Un poco más tarde apareció en escena LucasFilm con su videojuego Maniac

Mansion que marcaría la tendencia de seguir guiones donde el humor sería la

clave principal. Además, se introdujo uno de los rasgos más representativos del

género: el “apuntar y click” mediante el cual los jugadores podían dejar de lado

el teclado y utilizar el ratón para jugar.

En 1990 nace por parte de LucasFilm probablemente uno de los mejores juegos

del género de la aventura gráfica Monkey Island, el juego tuvo un éxito rotundo,

consolidándose como una de las principales referencias. La historia trata de un

joven aspirante a pirata que acaba cruzándose en el camino de un malvado pirata,

la premisa es sencilla y funcionó gracias al humor, diálogos ingeniosos y la

cantidad de detallismo dentro de este.

A pesar del gran éxito que tenían las aventuras gráficas a mitad de los 90 el

género comenzó a entrar en declive, hasta que en 2010 gracias a la innovación de

compañías como TelltaleGames, creando juegos como The Walking Dead o The Wolf

Among Us, estos videojuegos supusieron una evolución y reactivación del género,

adquiriendo más ritmo y acción narrativa, además de tomar la toma de

decisiones como un elemento distintivo.

Posteriormente a estos juegos han surgido juegos del género de gran éxito

como Life is Strange, Beyond: Two Souls o Detroit, entre otros.

Page 33: Desarrollo de un videojuego con contenido histórico

33

2.6 Referentes

Los videojuegos que se han tomado como referentes para realizar este

proyecto han sido principalmente Monkey Island y Kingdom Come Deliverance,

combinándolo con elementos básicos de videojuegos con rompecabezas como

son llaves, botones, palancas, buscar objetos perdidos, etc.

Monkey Island (Figura 2.14) ha sido un referente para muchos desde su salida.

Este videojuego destaca por ser una aventura gráfica con puzles y acertijos, a la

vez que diálogos ingeniosos, detallismo y mucho humor. La historia está

protagonizada por Guybrush Treepwood, un aspirante a pirata sin experiencia

que desembarca en la isla Melee para convertirse en un lobo de mar.

Figura 2.14. The Secret of Monkey Island21.

El otro videojuego que ha sido un referente para el proyecto es Kingdom Come

Deliverance (Figura 2.15), inspirado en el año 1403 en el Reino de Bohemia que

sufre la muerte de su rey Carlos IV creando problemas familiares y disputas por

21 Fuente: https://eloutput.com/noticias/videojuegos/secret-of-monkey-islan-edicion-

coleccionista/

Page 34: Desarrollo de un videojuego con contenido histórico

34

ver quién será el siguiente gobernador. El protagonista de este videojuego es

Henry, el hijo de un herrero que vive junto a su familia en el pueblo de Skalice,

un día de repente un ejército llega al pueblo y arrasa todo a su paso matando a

sus padres. Desde este momento Henry jura vengarse y comienza su aventura

para encontrar a los culpables. Uno de los puntos fuertes del videojuego es que

las decisiones que vas tomando en cada diálogo influirán en un futuro, pudiendo

meterse en problemas y peleas. Además, este videojuego tiene una base histórica

muy cuidada ya que los hechos son históricos.

Figura 2.15. Portada Kingdom Come22.

22 Fuente: https://www.microsoft.com/en-in/p/kingdom-come-deliverance/

Page 35: Desarrollo de un videojuego con contenido histórico

35

2.7 Videojuegos y educación

Durante años, los videojuegos han sido considerados una mala influencia

para los niños y adolescentes. Sin embargo, pueden convertirse en una

herramienta poderosa para que estos desarrollen habilidades, además de mejorar

su capacidad de planificación, crear estrategias, trabajar en equipo, entre otras

(Educo.org, 2015). Entre las habilidades que pueden desarrollarse jugando a

videojuegos tenemos las siguientes:

Desarrollo cognitivo: Cheryl K. Olson, profesora de psiquiatría de la Escuela

de Medicina de Harvard asegura que los videojuegos ayudan al desarrollo

cognitivo del cerebro debido a que los niños tienen que tomar decisiones y

probar a resolver el juego utilizando diferentes opciones.

Fomenta la lectura y la investigación: El contenido de juegos como Age of

Empires puede motivar a los jugadores a leer e investigar dentro del juego, ya

que incluye un apartado únicamente con información sobre el juego y las

distintas civilizaciones.

Toma de decisiones: Otro de los valores que nos pueden ofrecer los

videojuegos, en la mayoría de los juegos de estrategia se tiene un límite de

recursos y los jugadores necesitarán saber cómo usarlos de manera efectiva,

preguntándose a sí mismos si usar el recurso ahora o guardarlo para más

tarde.

Trabajo en equipo: Muchos juegos incluyen la competición dentro de ellos,

esta competición sana provoca que los niños se esfuercen y aprendan a

trabajar en equipo.

Page 36: Desarrollo de un videojuego con contenido histórico

36

3. Objetivos

3.1 Objetivo principal

El objetivo principal del proyecto es la creación de un videojuego con un

contenido basado en una época de la historia, en concreto, sobre la sociedad de

la segunda mitad del siglo XVIII. El juego será protagonizado por Olympe de

Gouges, también conocida como Marie Gouze, escritora de la Declaración de los

Derechos de la Mujer y la Ciudadana. Los jugadores vivirán la vida de Olympe en

esta época, de manera que los jugadores podrán aprender tanto las vivencias de

Marie Gouze como los distintos hechos históricos sucedidos en Francia a lo largo

del siglo XVIII a través de un videojuego.

El desarrollo del videojuego incluirá todas las fases de desarrollo de un

producto software: planificación, análisis, diseño, implementación y pruebas.

Para la creación del contenido histórico el proyecto se realiza de forma

conjunta con estudiantes del grado en Historia, de la Facultad de Filosofía y

Letras de la Universidad de Alicante y la Cátedra Santander-UA de

Transformación Digital.

3.2 Objetivos específicos

Los objetivos específicos del proyecto son los siguientes:

• Aplicar el modelo de desarrollo iterativo.

• Mejorar las habilidades del autor, en la utilización del motor de Unity.

• Aumentar la experiencia en el desarrollo de videojuegos

• Documentar un proyecto de Diseño del Videojuego (GDD) completo.

• Demostrar que jugando a videojuegos también es posible aprender.

• Conseguir que los jugadores descubran la historia de Olympe de

Gouges y su causa.

Page 37: Desarrollo de un videojuego con contenido histórico

37

• Realizar un videojuego que tenga toma de decisiones reales,

incluyendo distintos finales según las opciones elegidas en los

diálogos.

La metodología de trabajo aplicada al proyecto ha sido el modelo de

desarrollo iterativo. Es una de las metodologías mayormente utilizadas en

el desarrollo de software ya que permite ir realizando mejoras sobre el

producto base y seguir desarrollando e iterando sobre él. Esta metodología

se explicará más detalladamente en el siguiente apartado.

Los objetivos específicos del proyecto se centran en la mejora y el pulido de

mis habilidades a la hora de realizar un proyecto completo como es el

desarrollo de un videojuego, todo ello con el motivo de ganar experiencia en

la industria de los videojuegos. Además de demostrar que los videojuegos

también son una forma de aprender que aparte de entretenida, es útil para

las habilidades diarias como el trabajo en equipo, la resolución de problemas

y la gestión de recursos.

Además, para ganar experiencia como diseñador de videojuegos, otro de los

objetivos específicos es crear un Documento de Diseño del videojuego

completo donde se explican todas las mecánicas que contiene el juego, los

escenarios en los que transcurre, los personajes que aparecen en este, etc.

El autor también prefiere crear un videojuego en el que la historia dependa

del jugador y tenga múltiples finales. En el videojuego los finales que no

Page 38: Desarrollo de un videojuego con contenido histórico

38

coincidan con los hechos históricos se considerarán una derrota y el jugador

podrá jugar en otra ocasión eligiendo distintas opciones.

El segundo foco de los objetivos específicos es conseguir que los jugadores

aprendan historia a través de los videojuegos y descubran la vida de Olympe

y su papel en la lucha por los derechos de la mujer.

Page 39: Desarrollo de un videojuego con contenido histórico

39

4. Metodología

Para el desarrollo del proyecto, se ha utilizado el sistema Kanban ya que es

un sistema muy eficiente para controlar el avance del trabajo y tenerlo todo el

proceso del proyecto visualmente a través de tarjetas. Además, se han utilizado

varias herramientas aparte de Unity que han favorecido la organización y

generación del contenido.

4.1 Modelo de desarrollo iterativo

El modelo de desarrollo utilizado ha sido el modelo de desarrollo iterativo

(ProyectosAgiles.org, 2018). Este modelo es una evolución del método de

desarrollo en cascada y se basa en tres ideas primordiales:

• Entregar un prototipo incial tangible en el menor tiempo.

• Realizar pequeñas iteraciones que aporten beneficios crecientes al

proyecto.

• Repetir los mismos pasos durante cada una de las iteraciones.

Este modelo proporciona ventajas como la reducción del riesgo que se puede

asumir ya que si hay un impedimento se puede solventar con mayor

facilidad en la siguiente iteración, también provoca que las partes

complicadas del proyecto se diluyan en pequeñas partes menos complejas.

Además, el conocimiento sobre el producto va creciendo progresivamente

según va avanzando el desarrollo de manera que no hay necesidad de tener

Page 40: Desarrollo de un videojuego con contenido histórico

40

una visión detallada (Figura 4.1) de cada parte del producto desde el

principio del desarrollo.

Figura 4.1. Cronograma planificación del proyecto23.

4.1.1 Iteración 1: Investigación

La primera iteración del proyecto tiene una duración de 4 semanas y se

centra en la investigación de tecnologías, motores e información necesaria para

la realización de este, así como el comienzo de idear el diseño del juego, sus

mecánicas y los objetivos de este.

4.1.2 Iteración 2: Primer prototipo

Inicio de la creación de las mecánicas básicas de movimiento, cámara e

interacción y principios de las conversaciones. Para ello, se realizará un prototipo

con varias escenas y en cada una de estas se desarrollará una mecánica por

separado, de esta manera se evita el mal funcionamiento de alguna mecánica por

el motivo de que esté interfiriendo con otra. La duración de la segunda iteración

es de 2 semanas hará falta este tiempo debido a que hay que realizar todas las

mecánicas necesarias para el correcto funcionamiento del juego.

23 Elaboración propia

Page 41: Desarrollo de un videojuego con contenido histórico

41

4.1.3 Iteración 3 y 4: Segundo prototipo

En esta iteración se realizará la unión de todas las mecánicas en un único

proyecto para comprobar el correcto funcionamiento de todas ellas en conjunto,

además de pulir el comportamiento de todas ellas. La duración prevista del

segundo prototipo es de 2 semanas ya que es necesario comprobar que todas las

mecánicas funcionen correctamente juntas.

4.1.4 Iteración 5: Arte

En la iteración 5 se dedicará a realizar gran parte del tema gráficos del

videojuego, incluyendo personajes y escenarios, así como edición de sonidos. La

duración de la iteración 5 es de 2 semanas.

4.1.5 Iteración 6 y 7: Producto Final

En las últimas dos iteraciones se añadirá más contenido al juego tanto

capítulos como datos en la enciclopedia, además se tratará de pulir el videojuego

lo máximo posible para que no existan problemas dentro del juego que puedan

perjudicar la experiencia de los usuarios. La duración de las últimas dos

iteraciones es de 3 semanas, aunque se puede alargar hasta la fecha de entrega

debido a futuros problemas que pueden aparecer.

Page 42: Desarrollo de un videojuego con contenido histórico

42

4.2 Kanban

Kanban es un método para gestionar el trabajo que surgió en Toyota

Production System en el que la producción se basa en la demanda de los clientes

y no en la práctica tradicional de fabricar los productos e intentar venderlos en el

mercado. El objetivo principal es crear más valor para el cliente sin generar más

gastos (Kanbanize, 2016).

La palabra Kanban viene del japonés y significa tarjeta con signos. El tablero

más básico de Kanban está compuesto por tres columnas: “Por hacer”, “En

proceso” y “Hecho”. Aunque también se puede añadir otras columnas como:

“Pruebas”, “Integración”.

Kanban es un método muy útil ya que nos permite visualizar todo el flujo de

trabajo con el hecho de mirar las tarjetas del tablero.

4.3 Herramientas utilizadas

4.3.1 Trello

Trello es una aplicación basada en el método Kanban y sirve para gestionar

tareas permitiendo organizar el trabajo, resultando ideal para la gestión de un

proyecto (Figura 4.2) y gracias a ella los desarrolladores pueden mejorar su rutina

de trabajo. Además, cuenta con una versión gratuita con la que se dispone de una

gran cantidad de funciones.

Page 43: Desarrollo de un videojuego con contenido histórico

43

Figura 4.2. Tablero de Trello del proyecto24.

Trello es una aplicación muy sencilla y cualquier persona la puede utilizar

disponiendo de acceso a internet. Se ha utilizado su sistema de etiquetas (Figura

4.3) para destacar las distintas tarjetas según su dificultad y así organizarse de

una mejor forma. Se han usado las siguientes etiquetas:

Figura 4.3. Etiquetas dificultad de las tarjetas25.

24 Elaboración propia

25 Elaboración propia

Page 44: Desarrollo de un videojuego con contenido histórico

44

4.3.2 Toggl track

Toggl (Figura 4.4) es una herramienta muy sencilla utilizada para saber el

tiempo que lleva cada tarea del proyecto en realizarse. Para utilizar es tan sencillo

como crear un proyecto con el nombre que desees y cada vez que vayas a realizar

alguna tarea del proyecto tienes que poner nombre a dicha tarea y clicar el botón

de play y, al finalizar, clicar el botón de pausa para pararlo.

Además, esta aplicación realiza resúmenes gráficos del proyecto, lo que nos

permite ver los datos de una manera visual y el tiempo empleado en él.

Figura 4.4. Logo de toggl track.

4.3.3 Visual Studio

Visual Studio (Figura 4.5) es un IDE26 que permite que la programación sea

más sencilla ya que posee herramientas para programar, depurar e implementar

soluciones.

Figura 4.5. Logo de Visual Studio.

26 Integrated Development Enviroment(IDE), conocido en español como entorno de desarrollo

integrado

Page 45: Desarrollo de un videojuego con contenido histórico

45

Entre sus funciones ofrece un control de versiones con Git y Github

incorporado, también cuenta con IntelliSense, una herramienta para escribir

código y variables de una manera más sencilla ya que aporta información de los

métodos que contienen las clases y una descripción detallada de qué hacen estos.

También contiene herramientas para pausar la ejecución de errores, de esta

manera es más sencillo la detección de errores para su futura resolución.

4.3.4 Audacity

Audacity (Figura 4.6) es un software de código abierto de edición y grabación

de sonido digital, además es un programa totalmente gratuito. Actualmente está

disponible para Windows, MacOS, Linux y otros sistemas operativos similares a

Unix.

Una de las características de Audacity es que se puede usar para el

procesamiento de todo tipo de archivos de audio, con la posibilidad de agregar

distintos efectos como normalización, recorte o desvanecimiento entre otros.

Figura 4.6. Logo de Audacity.

Page 46: Desarrollo de un videojuego con contenido histórico

46

4.3.5 Gimp

Gimp (Figura 4.7) es un software gratuito y de código abierto utilizado para

la manipulación y edición de fotos disponible para Linux, MacOS y Windows.

Este software tiene una gran cantidad de herramientas y permite a los

usuarios poder hacer muchas cosas. Uno de sus puntos fuertes es que, al ser de

código abierto, los usuarios pueden manipular el programa a su gusto y realizar

plugins27. Además de realizar Plugins, el software es válido para realizar todo

tipo de diseños gráficos, manipulación de fotos en gran calidad y creaciones

originales.

Figura 4.7. Logo de Gimp.

27 Un plugin es un componente de software que proporciona una función específica para un

programa existente.

Page 47: Desarrollo de un videojuego con contenido histórico

47

4.3.6 Blender

Blender (Figura 4.8) es un software gratuito de código abierto de gráficos 3D,

con una gran cantidad de herramientas que permiten la creación de películas de

animación, efectos visuales, modelado 3D, etc.

Del mismo modo que Gimp, Blender también puede usar extensiones creadas

por la comunidad, además de crear extensiones también se puede customizar la

interfaz y conectar con la API28 de render de Blender.

Figura 4.8. Logo de Blender.

4.3.7 Twine

Twine (Figura 4.9) es una herramienta de código abierto y gratuita diseñada

para crear historias interactivas, de forma que a través de la página web puedes

escribir una historia en la que el jugador puede elegir varias opciones y después,

gracias a un código escrito en JavaScript te exporta la historia en formato JSON,

de manera que resulta más fácil de controlar la información. Esta es la

28 Application Programming Interface (API) o interfaz de programación de aplicaciones,

permite la comunicación entre dos sistemas o plataformas diferentes, permitiendo agregar

diversas funciones a sitios web y aplicaciones.

Page 48: Desarrollo de un videojuego con contenido histórico

48

herramienta que se ha utilizado para escribir la historia del videojuego y que

según las respuestas dadas suceden distintas cosas.

Figura 4.9. Logo de Twine.

Page 49: Desarrollo de un videojuego con contenido histórico

49

5. Documento de Diseño del

Videojuego (GDD)

El documento de diseño del Videojuego o Game Design Document (GDD)

es el documento que representa las bases principales sobre las que se va a

realizar el desarrollo del videojuego. En los siguientes apartados se

encuentra la decisión del motor tras analizar los requerimientos del

videojuego, después se desarrollará el concepto del juego explicando datos

básicos como la historia en la que se basa el juego, el objetivo que debe

cumplir el jugador, los personajes principales del videojuego, etc. Por

último, se explicarán las mecánicas que se desarrollarán para realizar el

videojuego.

5.1 Elección del motor

Finalmente, después de analizar y comparar los distintos motores que hay

actualmente en el mercado el autor ha decidido emplear Unity para este trabajo

debido a que es uno de los motores más utilizados por los desarrolladores, por

lo que, en caso de tener dudas o problemas a la hora de la implementación, en la

mayoría de los casos se va a poder disponer de bastante material de ayuda.

Además, Unity tiene una gran cantidad de herramientas y funcionalidades que

aportan mucha versatilidad a la hora de desarrollar un videojuego de varios

géneros.

También se ha escogido Unity debido a que una gran cantidad de

empresas realizan sus videojuegos indies en este motor, por lo que supondría

una experiencia muy útil a la hora de entrar en la industria de los videojuegos.

Page 50: Desarrollo de un videojuego con contenido histórico

50

5.2 Concepto del videojuego

5.2.1 Historia

La historia del videojuego transcurre en la Francia de la segunda mitad del

siglo XVIII y tiene como protagonista a Marie Gouze (Figura 5.1), conocida como

Olympe de Gouges.

Figura 5.1 Retrato de Marie Gouze29.

Olympe nació en una familia burguesa en 1748 en Montauban, a lo largo

de su vida escribió una gran cantidad de obras de teatro y escritos políticos, la

obra de teatro más destacada fue La esclavitud de los negros, obra por la que fue

encarcelada, aunque fue durante un periodo corto de tiempo gracias a la

intervención de conocidos, su escrito político más destacado fue la Declaración de

los Derechos de la Mujer y la Ciudadana. Sus trabajos fueron profundamente

feministas y revolucionarios para su época, defendiendo la igualdad entre el

hombre y la mujer en todos los aspectos de la vida pública y privada, incluyendo

la igualdad en el derecho a voto, acceder a la política, controlar propiedades, etc.

29 Fuente: https://www.olympedegouges.paris/biografia

Page 51: Desarrollo de un videojuego con contenido histórico

51

En el transcurso del videojuego, el jugador deberá encarnar a esta

protagonista y tomar las decisiones adecuadas, promoviendo los derechos de las

mujeres y luchando por sus ideales.

5.2.2 Objetivo

El objetivo principal del videojuego es hacer avanzar a la protagonista,

siguiendo el transcurso de su vida, promoviendo los derechos de las mujeres en

la sociedad de la segunda mitad del siglo XVIII.

Para conseguir el final ideal del videojuego se tienen que cumplir dos

requisitos:

• Publicación de la Declaración de los Derechos de la Mujer y la

Ciudadana.

• Muerte en la guillotina por su defensa de los derechos de la mujer

y su orientación política girondina.

Aparte del final ideal también habrá distintos finales según las elecciones

que haya tomado el jugador a lo largo del juego que contarían como derrotas en

el videojuego.

5.2.3 Género

El género del videojuego es aventura gráfica histórica combinando con

rompecabezas, ya que la mayor parte del videojuego se basa en las

conversaciones y las distintas elecciones que tienes que realizar en estas para

avanzar en la historia.

Page 52: Desarrollo de un videojuego con contenido histórico

52

5.2.4 Público

El videojuego está dirigido a todos los públicos, especialmente personas

interesadas en el género de la aventura gráfica o que quieran aprender sobre

momentos de la historia, ya que el juego está basado en hechos históricos.

Page 53: Desarrollo de un videojuego con contenido histórico

53

5.3 Personajes

La historia del videojuego está protagonizada por Olympe de Gouges y será

el personaje que controlará el jugador. Este personaje irá evolucionando a lo largo

de la historia defendiendo los derechos de las mujeres y sus ideales políticos.

Contará con varias vestimentas dependiendo del acto en el que nos encontremos.

En la historia Olympe interactúa con una gran cantidad de personajes, pero

de entre todos estos personajes con los que más lo hace son los siguientes:

Condorcet: filósofo, matemático y político francés del partido girondino.

Destacó por sus capacidades intelectuales y por su amplitud de conocimientos

científicos.

Robespierre: abogado, escritor y político francés apodado como «el

Incorruptible». Fue uno de los líderes de la Revolución Francesa, jefe de la facción

más radical de los jacobinos y entidad que gobernó Francia durante el periodo

conocido como el Terror (Figura 5.2).

Figura 5.2 Retrato de Maximilien Robespierre30.

30 Fuente: https://www.olympedegouges.paris/biografia

Page 54: Desarrollo de un videojuego con contenido histórico

54

La Fayette: aristócrata francés y militar que luchó en la guerra de la

independencia americana donde comandó tropas en varias batallas. Cuando

volvió a Francia fue una figura clave en la revolución francesa.

Figura 5.3 Retrato del marqués La Fayette31.

Jacques: hombre de negocios nacido en Lyon, con el que Olympe estableció

una relación después de la muerte de su marido.

M.ª Antonieta: última reina de Francia antes de la revolución francesa, odiada

por la corte francesa y posteriormente por el pueblo, que la acusaba de

derrochadora y presumida (Figura 5.4).

Figura 5.4 Retrato de María Antonieta32.

31 Fuente: https://es.alphahistory.com/revoluci%C3%B3n-Francesa/marqu%C3%A9s-lafayette/ 32 Fuente: https://www.mujeresenlahistoria.com/2012/02/la-reina-perdida-maria-antonieta-

de.html

Page 55: Desarrollo de un videojuego con contenido histórico

55

Además de estos personajes también intervienen otros como por ejemplo el

padre de Olympe, su marido Louis o Mirabeau entre otros.

5.4 Escenario

El escenario principal donde transcurre el videojuego es París a mediados

del siglo XVIII. En este siglo París vive una explosión económica y cultural

que se refleja principalmente en la especulación mobiliaria y la ampliación de

la ciudad, con la construcción de nuevos barrios en los que las personas con

mayores fortunas construyen pequeños palacetes. El río Sena cruza la ciudad

de este a oeste, se convierte en un elemento central en el desarrollo de la

ciudad, y se construyen muchos puentes para facilitar la circulación entre

orillas. Además, la demografía parisina experimenta un gran crecimiento

llegando hasta los 600 000 habitantes poco antes de la revolución.

París es representada en el juego mediante el plano de Turgot (Figura 5.5)

realizado entre 1734 y 1739 a petición de los comerciantes. Este plano está

realizado aproximadamente a una escala de 1/400 y tenía un tamaño de 2,49m

por 3,18m.

Page 56: Desarrollo de un videojuego con contenido histórico

56

Figura 5.5. Plano de Turgot33.

El segundo escenario donde transcurren escenas dentro de la historia es el

Palacio de Versalles (Figura 5.6) ubicado en el municipio de Versalles cerca

de París, lugar que desempeñaba las funciones de residencia real desde 1682

hasta 1789. Además, dentro de los dominios del Palacio de Versalles nos

encontramos sus jardines situados al oeste del palacio cubriendo

aproximadamente 800 hectáreas de superficie.

Figura 5.6. Plano del Palacio de Versalles34.

33 Fuente: https://en.wikipedia.org/wiki/File:Turgot_map_of_Paris_-

_Norman_B._Leventhal_Map_Center.jpg 34 Fuente: https://mapas.owje.com/10274_mapa-de-versailles-francia-1866.html

Page 57: Desarrollo de un videojuego con contenido histórico

57

Por último, Montauban (Figura 5.7), el escenario donde comienza la

historia del videojuego y lugar de nacimiento de Olympe de Gouges. Es una

ciudad situada al suroeste de Francia, conocida como la primera bastida de la

historia. Una bastida fue un tipo particular de desarrollo concertado urbano

en el medio rural, construido con una finalidad defensiva y económica.

Figura 5.7. Plano de Montauban35.

35 Fuente: https://mapas.owje.com/10227_mapa-de-montauban-francia-1914.html

Page 58: Desarrollo de un videojuego con contenido histórico

58

5.5 Mecánicas del juego

5.5.1 Controles

El videojuego se jugará mediante teclado y ratón, usando teclas comunes

a la gran mayoría de videojuegos para que los jugadores se sientan cómodos y

no resulte complicado aprender a jugar.

Para seleccionar las opciones y moverse por los menús se usará

principalmente el ratón ya que es la herramienta más común para ello y

visualmente más sencilla.

Los controles dentro del juego son los siguientes:

Tecla Acción

W Moverse hacia delante

A Moverse hacia la izquierda

S Moverse hacia atrás

D Moverse hacia la derecha

Mayús Izquierdo Correr

Control izquierdo Agacharse

Esc Menú pausa

I Inventario

E Interactuar con NPC y objetos

Clic izquierdo Escoger opciones conversación

Movimiento del ratón Movimiento de la cámara

Tabla 1. Controles del juego36.

36 Fuente: Elaboración propia.

Page 59: Desarrollo de un videojuego con contenido histórico

59

5.5.2 Movimiento y cámara

El movimiento del personaje será simple, se moverá en las cuatro

direcciones, hacia arriba, hacia abajo, hacia derecha y hacia izquierda. La

velocidad del personaje será media como si estuviese andando, pero si lo desea

el jugador podrá correr pulsando el botón Mayús izquierdo.

En cuanto a la cámara, será en primera persona ya que permitirá que el

jugador se sienta más próximo a la protagonista, al estar en su lugar y observar

todo aquello que esté viendo ella. La cámara se podrá mover mediante el ratón

para observar el entorno.

5.5.3 Mapa

El mapa será un punto clave en el juego ya que para acceder a los distintos

escenarios tendremos que hacerlo a través de este. Este plano nos mostrará

principalmente toda la ciudad de París y para movernos por él utilizaremos el

ratón. Cuando el ratón pase por encima de un escenario este destacarán y al clicar

nos saldrá la opción de entrar en dicho escenario.

Para que el jugador no se pierda en la historia principal del videojuego

siempre habrá un marcador en el mapa indicando cuál es el siguiente destino al

que debe ir para seguir con la historia.

5.5.4 Atributos

La protagonista contará con varios atributos que ayudarán en la historia

desbloqueando nuevas opciones de diálogo. Estos atributos se obtendrán según

las decisiones que el jugador va tomando a lo largo de la historia. De manera que

Page 60: Desarrollo de un videojuego con contenido histórico

60

una contestación en un diálogo puede subir o bajar un atributo que

posteriormente desbloquearán nuevas respuestas en futuras conversaciones y,

por lo tanto, distintos finales.

Los atributos existentes en el juego son los siguientes:

• Carisma

• Salud

• Dinero

• Reputación

Los distintos atributos aumentan o disminuyen según la respuesta que se

seleccione. Por ejemplo, se obtendrá carisma cuando se den respuestas

desafiantes a los roles de esa época y disminuirá cuando las respuestas

seleccionadas sean asentir o aceptar lo que te digan. Los demás atributos

funcionan de forma similar. Si enfadas a alguien con una respuesta podría

pegarte y bajará tu salud, si en la conversación das o recibes dinero, este

atributo subirá o bajará. Por último, la reputación se obtiene al final de las

conversaciones, de forma que según hayan transcurrido podrá

incrementarse o reducirse.

Page 61: Desarrollo de un videojuego con contenido histórico

61

5.5.5 Conversaciones y múltiples finales

Una de las mecánicas principales del videojuego son las conversaciones

(Figura 5.8), pues a través de ellas se avanzará a lo largo de la historia. Las

conversaciones contarán con un máximo de cuatro respuestas posibles que

nuestra protagonista podrá dar. Para dar algunas respuestas será necesario

cumplir algún requisito en concreto como tener X puntos de un atributo.

Figura 5.8. Conversación en estado de pruebas37.

Conforme se va avanzando en la historia, según las respuestas que se

hayan escogido, los personajes irán apareciendo e interactuarán con el jugador

de manera distinta. Además, en el juego existen finales anticipados que

significarían una derrota si no escoges las respuestas correctas como, por

ejemplo, el exilio, apartarte de la política y las reivindicaciones, etc.

37 Fuente: Elaboración propia.

Page 62: Desarrollo de un videojuego con contenido histórico

62

5.5.6 Capítulos

El juego estará dividido en distintos capítulos y existirán varias formas de

superarlos mediante los diálogos, aunque encuentra la posibilidad de llegar a un

final distintos que no es el basado en la realidad que significaría una derrota y el

volver a comenzar el capítulo. Para superar el juego el jugador deberá pasar los

capítulos correctamente y superar dos requisitos fundamentales como son la

publicación de los Derechos de la mujer y la ciudadana y finalmente la muerte

en la guillotina por sus ideales.

5.5.7 Enciclopedia

En el menú del juego ofrece un apartado que será la enciclopedia. En esta

se mostrarán datos como la vida cotidiana en el siglo XVIII, noticias de los

periódicos y propaganda de la época, además de información sobre los

personajes y escenarios del videojuego.

5.5.8 Sistema de guardado

Para aumentar la dificultad del juego, no se podrá realizar un guardado

en mitad de un capítulo por lo que los guardados se realizarán automáticamente

al comienzo de cada capítulo.

Page 63: Desarrollo de un videojuego con contenido histórico

63

5.5.9 Inventario e interacción con objetos

El jugador cuenta con un inventario donde podrá guardar los objetos que

vaya encontrando durante el capítulo como, por ejemplo, llaves y anillos. El

inventario tiene una capacidad de hasta 8 objetos los cuales permitirán que el

jugador interactúe con distintos elementos como son las puertas ya que para

poder abrirlas necesitarás la llave correcta.

Una característica del inventario es que se eliminarán los objetos

conseguidos al final de cada capítulo y, por lo tanto, los objetos que se encuentran

en él sólo son útiles para el capítulo en el que el jugador se encuentra en ese

momento.

Page 64: Desarrollo de un videojuego con contenido histórico

64

5.6 Interfaces

La interfaz es una parte importante del juego ya que, al tratarse de una

aventura gráfica, el jugador interactúa con ella constantemente, por lo que deben

ser lo más sencillas e intuitivas posibles.

5.6.1 Menú Inicio

El menú de inicio (Figura 5.9) es la interfaz que aparece nada más

comenzar el juego y tiene los siguientes elementos:

Figura 5.9. Interfaz Menú Inicio38.

Desde el menú de inicio es posible crear una nueva partida, continuar la

partida guardada, acceder a la enciclopedia para leer información sobre el juego,

revisar los controles, cambiar las opciones del juego o salir de la aplicación.

5.6.2 Mapa

El mapa (Figura 5.10) es la interfaz mediante la cual el jugador puede

trasladarse a través de los escenarios y las distintas zonas del juego.

38 Fuente: Elaboración propia.

Page 65: Desarrollo de un videojuego con contenido histórico

65

Figura 5.10. Interfaz Mapa39.

Dentro del mapa el jugador tiene la posibilidad de desplazarse a los

distintos lugares del videojuego. Las flechas sirven para moverse entre las 3

zonas disponibles: Montauban, París y Versalles. Después, se muestra un texto

en la parte superior que nos indica la zona en la que nos encontramos y en la

parte inferior otro texto que indica la zona que acaba de clicar el jugador para

desplazarse hacia allí. Las exclamaciones indican que para avanzar en la misión

principal el jugador deberá conversar en esa parte del mapa.

5.6.3 Menú InGame

El menú Ingame (Figura 5.11) es la interfaz que aparece cuando el jugador

pulsa la tecla Escape dentro de un escenario y contiene las siguientes

características:

39 Fuente: Elaboración propia.

Page 66: Desarrollo de un videojuego con contenido histórico

66

Figura 5.11. Interfaz Menú InGame40.

Dentro de este menú, las opciones que se permiten son: volver al juego, ir

al mapa, mirar los controles, entrar en las opciones y salir al menú principal.

5.6.4 Inventario

El inventario (Figura 5.12) es la interfaz donde se muestran los distintos

objetos que posee el jugador en ese momento. Además, al mantener el ratón por

encima de un objeto saldrá una descripción de este.

Figura 5.12. Interfaz Inventario41.

40 Fuente: Elaboración propia.

41 Fuente: Elaboración propia.

Page 67: Desarrollo de un videojuego con contenido histórico

67

5.6.5 Enciclopedia

La enciclopedia (Figura 5.13) es un apartado del juego mediante el cual el

jugador puede informarse y aprender sobre hechos históricos, personajes y

lugares que está recorriendo dentro del videojuego. La enciclopedia se ha

dividido en cuatro apartados base que son Siglo XVIII, personajes, lugares y

acontecimientos, esta división se ha realizado considerando la información

obtenida dando como resultado estos cuatro apartados. En el primero aparecerán

datos como la vida cotidiana en la época, la ropa que se empleaba, etc. En el

apartado de personajes aparece información sobre los distintos personajes

emblemáticos que aparecen en el juego. En el apartado lugares se muestra

información sobre los lugares más conocidos de Francia. Por último, en el

apartado de acontecimientos se muestran datos sobre los actos más importantes

durante la época como la toma de la bastilla o la muerte de Luis XVI.

Figura 5.13. Interfaz Enciclopedia42.

42 Fuente: Elaboración propia.

Page 68: Desarrollo de un videojuego con contenido histórico

68

5.6.6 Opciones

Desde la interfaz de opciones (Figura 5.14) el jugador podrá modificar

varias cosas dentro del juego como la resolución de la pantalla, si el juego está en

pantalla completa o en modo ventana, la sensibilidad del ratón dentro del juego

y el sonido del juego.

Figura 5.14. Interfaz Opciones43.

43 Fuente: Elaboración propia.

Page 69: Desarrollo de un videojuego con contenido histórico

69

6. Desarrollo e implementación

En el apartado 6.1 se explicará de una forma resumida el funcionamiento de

las distintas partes básicas de Unity, desde sus componentes principales hasta su

funcionamiento interno, el proceso de implementación de todas las mecánicas

del videojuego. En el siguiente apartado, el 6.2 se explicarán los procesos

realizados para la implementación del videojuego, así como los distintos

diagramas de flujos.

6.1 Funcionamiento básico Unity

Figura 6.1. Diagrama básico Unity44.

El funcionamiento más básico de Unity podría resumirse en la figura 6.1,

el juego está compuesto por múltiples escenas, donde una escena podría

representar un nivel del juego o incluso el menú principal. Estas escenas se

componen de los elementos más básicos de Unity, los GameObject, que se

44 Fuente: Elaboración propia.

Page 70: Desarrollo de un videojuego con contenido histórico

70

explicarán en el siguiente apartado. Por último, nos encontramos con los

componentes, estos elementos se incluyen dentro de los GameObjects

proporcionándoles utilidades como, por ejemplo, un cuadro de texto, una cámara

o incluso una pista de audio.

6.1.1 GameObject, Componentes y assets

Los GameObject son los objetos fundamentales del juego. Representan

cualquier objeto de nuestro juego ya sea personajes, escenarios, objetos

utilizables, accesorios, etc.

Estos objetos no tienen ninguna funcionalidad por sí solos ya que funcionan

como contenedores de componentes. Por ejemplo, si a un GameObject se le

adjuntas un componente Light (figura 6.2), este objeto representará una luz en la

escena donde se utilice o, si a un GameObject se le adjunta un componente Collider,

este objeto será un elemento dentro del juego con el que se pueda colisionar.

Los componentes son las piezas funcionales de los GameObject. Uno de sus

grandes aspectos es la flexibilidad ya que desde el mismo editor de Unity puedes

editar los distintos parámetros del componente como por ejemplo cambiar el

color de la luz, que genere sombras, el tipo de luz, etc.

Todos los GameObjects tienen por defecto un componente Transform dentro de

ellos, el cual representa la posición y la orientación de nuestro objeto.

Page 71: Desarrollo de un videojuego con contenido histórico

71

Figura 6.2. GameObject con un componente Light45.

Un asset es un fichero multimedia que se utiliza a través del editor de Unity

(figura 6.3). Estos ficheros pueden ser audios, mallas 3D, texturas, scripts, etc. En

resumen, son los distintos objetos con los que se construye el videojuego desde

sus escenarios hasta los distintos menús.

Figura 6.3. Assets mostrados en el editor de Unity46.

45 Fuente: Elaboración propia

46 Fuente: Elaboración propia

Page 72: Desarrollo de un videojuego con contenido histórico

72

6.1.2 Prefab

Un Prefab (figura 6.4) es un tipo de asset que permite almacenar un

GameObject con todos sus componentes y propiedades. Este prefab actúa como

una plantilla para que se puedan crear nuevas instancias del objeto en cuestión y

cada vez que se realice una edición dentro del prefab será reflejado en todas las

instancias que se han creado a partir de este.

Este elemento resulta útil cuando en el escenario debe haber objetos que

es necesario que tengan las mismas propiedades y actúen igual, como por

ejemplo cierto tipo de NPC47. De esta manera, si queremos realizar un cambio

sobre todos ellos lo único que habría que tocar sería el prefab.

Figura 6.4. Prefab con un componente de colisión48.

47 NPC: Non-Player Character, personaje no controlado por un jugador.

48 Fuente: Elaboración propia

Page 73: Desarrollo de un videojuego con contenido histórico

73

6.1.3 Animator

El animator es un componente que permite manejar las distintas

animaciones y sus interacciones de una forma sencilla una vez que se han

conseguido los clips de animación necesarios para realizar las animaciones.

Dentro del componente se requiere una referencia a un Animator controller

(figura 6.5), lo cual va a permitir seleccionar y editar como deben realizarse las

transiciones entre las distintas animaciones, además de cambiar entre

animaciones según las condiciones que se exijan. Por ejemplo, se puede indicar

que la animación Saltar se realice siempre y cuando el booleano denominado

saltando contenga el valor verdadero.

Figura 6.5. Animator Controller con sus distintas transiciones 49.

49 Fuente: Elaboración propia

Page 74: Desarrollo de un videojuego con contenido histórico

74

6.1.4 Scripts

Los scripts son una porción de código que permite al desarrollador

implementar características propias a su juego. Esto resulta muy útil ya que no

es posible realizar todo nuestro juego con los componentes integrados de Unity.

Estos permiten activar y desactivar eventos del juego, modificar las propiedades

de los componentes, responder a los distintos inputs…

Unity soporta dos lenguajes nativamente que son el C# y el UnityScript, y

también es posible utilizar otros lenguajes como .NET siempre y cuando se

compile un DLL50 compatible.

Los scripts (figura 6.6) actúan como componentes siempre y cuando

hereden de una clase base implementada por Unity denominada MonoBehaviour.

Esta clase permite sobrescribir funciones implementadas por esta clase, de esta

manera podemos definir una lógica propia.

Una de las funciones implementadas por MonoBehaviour es el método Update, este

método es llamado una vez por frame principalmente se utiliza para la

actualización de los datos del videojuego, aunque para las físicas o cálculos de

tiempo es más común la utilización del método FixedUpdate ya que se las veces

que se llama a este método son fijas a diferencia de Update.

50 Dynamic-Link Library o biblioteca de enlace dinámico, son archivos de código ejecutable .dll

es la denominación exclusiva de windows

Page 75: Desarrollo de un videojuego con contenido histórico

75

Figura 6.6. Script básico para controlar al personaje 51.

Cuando un script no herede de la clase MonoBehaviour no será posible

añadirlo directamente como un componente a un GameObject. Estos scripts se

suelen utilizar principalmente para definir estructuras de datos.

51 Fuente: Elaboración propia

Page 76: Desarrollo de un videojuego con contenido histórico

76

6.1.5 Ciclo de ejecución funciones de Unity

Para la ejecución de las funciones de los scripts, Unity sigue un orden

predeterminado que se debe tener en cuenta para saber qué funciones deben ser

sobrescritas según lo que se quiera realizar. El orden se muestra en la figura 6.7:

Figura 6.7. Primera parte esquema ejecución de las funciones Unity 52.

La primera fase de la ejecución del script es la inicialización. En esta fase

se ajustan todos los datos necesarios que se necesitan al crear el GameObject en el

52 Fuente: https://docs.unity3d.com/Manual/ExecutionOrder.html

Page 77: Desarrollo de un videojuego con contenido histórico

77

que se encuentra el script. Si estuviera dentro de un personaje aquí sería donde

se inicializarían las variables de este personaje.

La segunda parte del esquema (figura 6.8) son las físicas. El primer método

que se realiza es FixedUpdate, el cual se invoca un número fijo de veces por frame,

por defecto ese número es de 50 veces por frame aunque este valor se puede

cambiar en las opciones de Unity. Después del método se ejecutan

actualizaciones internas de la física y por último, se comprueba todos los

triggers53 y colisiones.

Figura 6.8. Segunda parte esquema ejecución de las funciones Unity 54.

53 Funciones que se ejecutan cuando ocurre una acción concreta.

54 Fuente: https://docs.unity3d.com/Manual/ExecutionOrder.html

Page 78: Desarrollo de un videojuego con contenido histórico

78

En la segunda parte del esquema, después de las físicas se comprueban los

inputs que se reciben por parte de los periféricos. Después de esta fase se ejecuta

la lógica del juego donde tenemos la función Update. En esta función es donde se

actualizan los datos del juego que no tienen que ver con las físicas, en nuestro

caso las conversaciones, contestaciones y lo que estas provoquen. Además, en

esta parte de lógica del juego se actualizan todas las animaciones internamente y

después comienza el renderizado de la escena.

Figura 6.9. Tercera parte esquema ejecución de las funciones Unity 55.

En la última parte del ciclo de scripts se renderizan los gizmos56 (figura 6.9),

la interfaz, se comprueba si la aplicación se ha puesto en pausa y finalmente, si

se ha cerrado la aplicación se comienza a limpiar los datos del juego borrando los

datos de la memoria, limpiando buffers, etc.

55 Fuente: https://docs.unity3d.com/Manual/ExecutionOrder.html

56 Elementos que proporcionan ayuda visual a la hora de la depuración

Page 79: Desarrollo de un videojuego con contenido histórico

79

6.2 Implementación del videojuego

En este apartado se va a describir todo el proceso de implementación del

videojuego teniendo en cuenta el funcionamiento de Unity descrito en el

apartado anterior. En los siguientes puntos se van a detallar los distintos

diagramas de flujo elaborados para la creación del videojuego y el

funcionamiento de los distintos scripts creados para la implementación del

juego.

6.2.1 Bucle Inicial

Al inicializar el videojuego lo primero que se muestra en el menú de inicio

mediante el cual se pueden comenzar una nueva partida, continuar una

ya guardada, acceder a la parte de la enciclopedia, ver los controles,

acceder a las opciones y finalmente, salir del programa lo que provocaría

el cierre de la aplicación. En la figura 6.10 se muestra una versión

simplificada del diagrama de flujo del juego.

Page 80: Desarrollo de un videojuego con contenido histórico

80

Figura 6.10. Diagrama de flujo del bucle inicial 57.

6.2.2 Bucle del juego

Una vez se entra en el bucle de juego (figura 6.11), el videojuego se irá

actualizando con los métodos de Unity mientras que no se detecte ninguna

entrada por parte del teclado o del ratón. Una vez se detecte una, se

comprobará cual ha sido, lo que podría llevar a dos procesos: movimiento

del jugador o menú de juego. Desde este último se podrá salir del bucle de

juego y dirigirse hacia el bucle inicial mostrado en el apartado 6.2.1. Los

procesos predefinidos de movimiento del jugador, movimiento de la

cámara, interacción y menú de juego serán detallados en los siguientes

apartados.

57 Fuente: Elaboración propia.

Page 81: Desarrollo de un videojuego con contenido histórico

81

Figura 6.11. Diagrama de flujo del bucle de juego 58.

6.2.3 Movimiento y colisiones

Para realizar el movimiento y las colisiones del videojuego primero se ha

creado un prefab del personaje principal (figura 6.12) ya que va a estar en distintos

escenarios del juego y si se necesita hacer algún cambio durante el desarrollo nos

será más fácil a través de este prefab.

Figura 6.12. GameObject del jugador 59.

Como se puede observar, el jugador se compone de una cápsula con el

componente de Mesh Renderer desactivado ya que el juego se desarrolla en

primera persona y no se va a visualizar al jugador. Después se dispone de un

Capsule Collider, el cual indica la zona donde puede colisionar nuestro jugador.

Se ha elegido una forma de cápsula ya que es la que más se asemeja a un

58 Fuente: Elaboración propia.

59 Fuente: Elaboración propia.

Page 82: Desarrollo de un videojuego con contenido histórico

82

personaje humanoide. Por último, se cuenta con un Rigidbody, que es el que

provoca que actúen las físicas sobre el objeto, como, por ejemplo, la gravedad.

El movimiento del jugador está controlado por el script PlayerController, y

sigue el diagrama de flujo de la figura 6.13. Primero se comprueba el input para

saber que tecla se está pulsando y en qué dirección va nuestro personaje. Una vez

hecho esto se comprueban las colisiones del componente Collider del jugador, si

no colisiona se sumará la velocidad en la dirección adecuada para que el

personaje se mueva con las físicas de Unity, y en caso de colisión el personaje no

continuará con el movimiento.

Las comprobaciones de la dirección se realizan en el método Update

mientras que la suma de la velocidad se realiza en el método FixedUpdate. Esto es

debido a que las físicas se deben realizar en este último método debido a que

FixedUpdate se realiza exactamente 50 veces por frame mientras que Update

depende de la velocidad del ordenador donde se esté ejecutando el juego.

Page 83: Desarrollo de un videojuego con contenido histórico

83

Figura 6.13. Diagrama de flujo del movimiento del jugador 60.

6.2.4 Cámara

El videojuego tiene una cámara en primera persona por lo que la cámara

debe moverse a la vez que el personaje. Por lo tanto, el GameObject que contiene

la componente Camera debe ser hijo del GameObject que contiene al Jugador para

que en caso de que el Jugador se mueva, la cámara también lo haga. Una vez

realizado esto, para simular que la visión viene de la parte de los ojos es necesario

elevar la cámara de forma que se quede en la parte superior del jugador como en

la figura 6.14.

Figura 6.14. CapsuleCollider y cámara 61.

60 Fuente: Elaboración propia.

61 Fuente: Elaboración propia.

Page 84: Desarrollo de un videojuego con contenido histórico

84

La cámara está controlada también mediante el script de PlayerController

aunque lo que va a variar de esta no es la posición, sino la rotación ya que se

quiere provocar la sensación al jugador de que la cámara está en los ojos. Por lo

tanto, el primer paso es comprobar si el ratón se ha movido. En caso afirmativo

se realizan los cálculos necesarios teniendo en cuenta la posición anterior del

ratón y la nueva, y una vez finalizados se rota la cámara.

La cámara sigue el diagrama de flujo de la figura 6.15 y ocurre lo mismo

que en el movimiento del jugador, de forma que las físicas se realizan en el

método FixedUpdate mientras que la comprobación del movimiento se realiza en

el método Update.

Figura 6.15. Diagrama flujo movimiento de la cámara 62.

62 Fuente: Elaboración propia.

Page 85: Desarrollo de un videojuego con contenido histórico

85

6.2.5 Atributos del personaje

Los atributos del personaje tienen que estar presentes en todas las

conversaciones y para ello debe ser posible acceder a ellos desde cualquier

escena, por lo que el script que controla y contiene estos datos usa el patrón

Singleton63.

public static PlayerStats inst;

void Awake() {

//la primera vez cuando no se ha creado es null

if(PlayerStats.inst == null){

popStats.SetActive(false);

PlayerStats.inst = this; // instancia unica

DontDestroyOnLoad(gameObject);

carisma = 0;

salud = 100;

dinero = 0;

reputacion = 0;

talking = false;

inMenu = false;

sensibility = 2.0f;

}else{

Destroy(gameObject);

}

}

Código 1. Patrón Singleton.64

El script que controla los atributos del personaje es PlayerStats y en el

código 1 se observa el método Awake. Este método es el necesario para crear un

patrón singleton. Lo primero que se tiene que hacer es comprobar si la instancia

es null, en caso de que lo sea tenemos que inicializar el script y usar el método

63 Patrón de diseño que permite restringir la creación de objetos pertenecientes a una clase o el

valor de un tipo a una única instancia. 64 Elaboración propia

Page 86: Desarrollo de un videojuego con contenido histórico

86

DontDestroyOnLoad, esto provoca que cuando se cambia de escena, el script no se

destruirá de forma que se pueda acceder a él desde cualquier lugar.

6.2.6 Interacción con NPC’s y objetos

Para realizar la interacción con los NPC’s se han necesitado tres scripts:

InteractionReciever, CheckInteraction y IAction. Este último es únicamente una

interfaz para que los distintos elementos realicen acciones diferentes.

En la figura 6.16 se aprecia el diagrama de flujo de las interacciones. Lo primero

que se realiza es comprobar si se ha pulsado la tecla E ya que es con la cual el

personaje interactúa con el entorno. Si se ha pulsado se tiene que comprobar si el

jugador está apuntando a algún elemento que pueda interactuar y, además que

se encuentre en el rango de acción que es de 3 unidades. En el caso en el que se

cumpla esta condición se ejecutará el método Activate de la interfaz IAction.

Figura 6.16. Diagrama flujo interacción 65.

65 Fuente: Elaboración propia.

Page 87: Desarrollo de un videojuego con contenido histórico

87

Además, siempre que un objeto esté dentro del rango y sea apuntado por

el jugador aparecerá un texto en pantalla como en la figura 6.17.

Figura 6.17. Mensaje para interactuar con un objeto 66.

66 Fuente: Elaboración propia.

Page 88: Desarrollo de un videojuego con contenido histórico

88

6.2.7 Conversaciones

Para guardar las conversaciones es necesario crear un archivo con formato

JSON. Para ello el fichero debe de tener una composición como en la figura 6.18.

JSON es un formato ligero de intercambio de datos, y la ventaja principal que

proporciona es que leerlo y escribirlo resulta sencillo tanto para las máquinas

como para los humanos.

Figura 6.18. Fichero de una conversación 67.

Gracias a la composición del archivo se puede transformar a un objeto

dentro del juego con el método FromJson de la librería JsonUtilities. Una vez usado

el método sobre el fichero tendríamos un objeto con las características del código

2:

public class Conversations {

public List<Conversation> passages;

}

public class Conversation {

public string text;

public List<Choices> links;

public string name;

public string pid;

public string[] tags;

}

public class Choices {

public string name;

public string link;

public string pid;

67 Fuente: Elaboración propia.

Page 89: Desarrollo de un videojuego con contenido histórico

89

}

Código 2: Clase Conversación68.

Una vez se cuenta con el objeto de la conversación, se utiliza el script

NpcConversation, el cual hereda de la interfaz IAction mencionada anteriormente

en el apartado 6.2.6. De esta manera cuando se presione la tecla E mientras se está

apuntando a un NPC y dentro del rango de acción se ejecutará el método

sobrecargado del interfaz llamado Activate, el cual comenzará la conversación. A

través del objeto obtenido podemos acceder a los distintos datos de una

conversación como, por ejemplo, las posibles contestaciones que el personaje

puede dar y los atributos que variarán con dicha contestación.

6.2.8 Interfaces

Para el desarrollo de las interfaces se han utilizado los mismos gráficos

para que estén todos en sintonía y ninguno sea totalmente diferente a los demás.

Para el desarrollo de cada parte de la interfaz se han empleado distintos scripts.

6.2.8.1 Inventario

Para implementar el inventario han hecho falta los siguientes tres scripts:

InventorySystem, Items y Slot. El primero de ellos sirve como controlador para

abrir y cerrar el menú, además tiene una variable llamada SlotHandler que es el

GameObject que contiene las distintas partes del inventario que en total son 8

slots. También se encarga de gestionar cuando se recoge un objeto invocando su

método getItem el cual busca en el inventario el primer hueco vacío para depositar

el objeto.

El script Items se adjunta a los GameObject que tienen los objetos que se van

a poder recoger, como por ejemplo una llave. Dentro de este script se encuentran

68 Fuente: Elaboración propia.

Page 90: Desarrollo de un videojuego con contenido histórico

90

distintas variables como id, descripción y el icono. Estas variables nos permiten

identificar el objeto que es y modificar la imagen necesaria que se mostrará en la

interfaz del inventario.

Por último, el script Slot tiene que estar adjunto a los 8 huecos del

inventario y será donde “entren” los ítems, ya que cuando cojamos un objeto, se

meterán los datos de dicho objeto en el slot.

6.2.8.2 Mapa

Para la implementación del mapa es necesario el script MapController, que

junto al script ZoneSelector se encargarán de realizar todas las funciones de esta

interfaz. MapController cuenta con una imagen que representará la zona del mapa

en la que estamos. Esta imagen se puede cambiar si se da clic sobre una de las

flechas de los laterales, al clicar se cambiará dicha imagen y aparecerá el mapa de

otra zona. Las zonas existentes en el juego son Montauban, Palacio de Versalles

y París. Además, existe una función que destaca con exclamaciones la siguiente

zona del mapa (figura 6.19) a la que debe dirigirse el jugador para continuar con

la historia principal.

Figura 6.19. Zona destacada con exclamaciones 69.

Otra de las funciones para realizar el mapa lo más interactivo posible se

encuentra en el script ZoneSelector, y permite que se destaque la zona del mapa

sobre la que se encuentra el cursor a la vez que se muestra el nombre de dicha

parte (figura 6.20).

69 Fuente: Elaboración propia.

Page 91: Desarrollo de un videojuego con contenido histórico

91

Figura 6.20. Zona destacada en Montauban 70.

Por último, al clicar cualquiera de las zonas dentro de un mapa aparecerá

una alerta diciendo si quieres trasladarte a dicha zona. Si clicas el botón si, se

invocará el método Swap que provoca que se cambie de escena al escenario

elegido.

6.2.8.3 Menú Inicial

Esta interfaz es lo primero en mostrarse nada más abrir el juego. Está

controlada generalmente por el script InitMenu y contiene las opciones necesarias

para comenzar una nueva partida, continuar la partida, acceder a la enciclopedia,

mirar los controles, cambiar las opciones y salir del juego.

Para crear una nueva partida se ejecuta el método nuevaPartida, en el cual

se crea un fichero de guardado nuevo sobreescribiendo el anterior estableciendo

los atributos del personaje a los iniciales y dando paso a la primera transición

para comenzar el juego. En caso de haber clicado el botón de continuar partida

se ejecutará el método cargarPartida, el cual busca en los ficheros de la aplicación

el fichero de guardado y carga los datos para que el jugador pueda continuar. En

70 Fuente: Elaboración propia.

Page 92: Desarrollo de un videojuego con contenido histórico

92

el caso de los demás botones, se invocan sus respectivos métodos que hacen

aparecer las distintas interfaces como la enciclopedia, los controles y las opciones.

Por último, el botón de salir del juego invocará al método endGame que finalizará

la aplicación con el método de Unity Application.Quit.

6.2.8.4 Menú InGame

El menú Ingame es parecido al de inicio, aunque no contiene las mismas

funciones, y está controlado por el script InGameMenu. El menú dispone de las

siguientes opciones: volver al juego, ir al mapa, mostrar los controles, mostrar las

opciones y finalmente, salir al menú principal.

Volver al juego invoca el método backGame cuya función es quitar el menú

de nuevo. Luego existe la función swapMapa la cual cambia de escena al jugador

para volver al mapa y elegir de nuevo hacia dónde dirigirse. Por último, tenemos

la opción de salir al menú principal que provoca un cambio de escena hacia el

menú principal.

Otra de las características de este menú es que, gracias al script PlayerStats

y su patrón singleton, podemos acceder a las características de nuestro personaje

(figura 6.21) mediante un GameObject con una componente tipo Text.

Figura 6.21. Menú InGame 71.

71 Fuente: Elaboración propia.

Page 93: Desarrollo de un videojuego con contenido histórico

93

6.2.8.5 Enciclopedia

La enciclopedia es el apartado del juego donde el jugador puede aprender

y leer información sobre la historia, personajes y lugares que está viviendo

durante el juego. Está controlada por el script EnciclopediaController, y posee dos

GameObject principales, un menú Lateral y un menú superior.

El menú superior está compuesto por 4 botones que indican las distintas

secciones de la enciclopedia, mientras que el menú lateral está compuesto por

una ScrollList y textos. Y en el centro de la pantalla encontramos la información

sobre el elemento que hemos clicado.

Para mostrar la información primero hay que guardarla en ficheros aparte

en la carpeta del juego. Cuando se clique el nombre del elemento sobre el que el

jugador quiera informarse, se buscará en el fichero dicha información y se

colocará en el centro de la pantalla.

6.2.8.6 Opciones

La última interfaz son las opciones. Desde ella se podrá cambiar la

configuración de nuestro juego como, por ejemplo, la resolución de la pantalla,

modo pantalla completa o ventana, cambiar la sensibilidad del ratón dentro del

videojuego y bajar el volumen del juego. Para ello se usa el script OpcionesMenu

que tiene como parámetros un Audio Mixer y el Dropdown de las resoluciones. El

Audio Mixer es un elemento de Unity que emula un canal de voz por lo que todo

el sonido del juego se escucha al volumen al que se encuentre dicho mixer.

Para ver qué resoluciones tiene cada ordenador hace falta una variable de

Unity que es Screen.resolutions. Una vez se dispone de las distintas resoluciones,

se añaden a la lista del dropdown para mostrarlas.

Page 94: Desarrollo de un videojuego con contenido histórico

94

Para cambiar las distintas opciones se han usado los siguientes métodos:

setSensibility, setFullscreen, setVolumen y setResolution. Los valores

correspondientes al volumen y a la sensibilidad son sencillos obtener el valor ya

que el deslizador nos da la capacidad de hacer las variables dinámicas de forma

que estos métodos reciben como parámetro el valor del deslizador y de esta

forma podemos cambiar estas variables.

6.2.9 Progreso en la historia

Para controlar el progreso en la historia que lleva al personaje se utiliza un

GameObject vacío con el script historyMan junto a un fichero JSON (figura 6.22).

Este script sigue también el patrón singleton para que se pueda acceder a él desde

cualquier parte de la aplicación. Dentro del script se guardan variables como el

capítulo y las partes actuales dentro de ese capítulo, y de esta manera siempre se

sabe en qué lugar está en la historia.

Figura 6.22. Archivo Capitulo1.json 72.

Como se aprecia en la figura 6.22, dentro del fichero se dispone de

distintos valores como el número de la parte del capítulo, el mapa y lugar donde

se encuentra el siguiente NPC para avanzar, el nombre del NPC y si al pasar a la

siguiente parte hace falta poner una transición.

72 Fuente: Elaboración propia.

Page 95: Desarrollo de un videojuego con contenido histórico

95

Las transiciones (figura 6.23) son fragmentos de la historia que se

muestran en forma de cartas escritas por la propia Olympe al avanzar de una

parte del capítulo a otra.

Figura 6.23 Transición entre capítulos 73.

Cada vez que el jugador finaliza una conversación con un NPC se

comprueba si el NPC con el que acaba de hablar es el que indica el fichero del

capítulo. Si es correcto la variable parte actual avanzará, y se comprueba si existe

una transición. Si existe comienza una corrutina que invoca un método llamado

ponerTransicion que lleva al jugador a la escena transición. Una vez se ha llegado

a la última parte se avanzará de capítulo y se utilizará el método cargarCapitulo

con el siguiente fichero.

6.2.10 Sistema de guardado

El juego dispone de un sistema de guardado que, tal y como se explica en

el apartado 5.5.8 del Documento de Diseño del Videojuego solo se podrá guardar

73 Fuente: Elaboración propia.

Page 96: Desarrollo de un videojuego con contenido histórico

96

una vez finalizado un capítulo para añadir una dificultad mayor al juego y,

además, se guardará automáticamente al acabar el capítulo actual.

Figura 6.24 Diagrama de flujo del sistema de guardado 74.

Tal y como se muestra en el diagrama de flujo (figura 6.24), cuando se

inicia el script que controla el sistema de guardado lo primero que se realiza es

comprobar si el capítulo ha finalizado. Si ha finalizado se guardarán los datos en

un fichero JSON sencillo, el cual contiene los datos necesarios para continuar el

juego posteriormente, que son el nombre del fichero del capítulo en el que se

encuentra y los atributos principales del jugador en ese momento (Carisma,

Salud, Dinero y Reputación).

6.2.11 Rigging y animación de los personajes

Para realizar las animaciones del videojuego se ha realizado rigging. El

rigging es un proceso creativo que se inicia con un modelo tridimensional,

necesario para poder deformar y animar personajes de manera fácil y efectiva. Se

74 Fuente: Elaboración propia.

Page 97: Desarrollo de un videojuego con contenido histórico

97

denominan riggs (figura 6.25) a cada creación dirigida a un movimiento en

particular como, por ejemplo, riggs para los músculos, las extremidades, etc.

(Monsuton, 2019).

Figura 6.25 Modelo 3D rodeado de riggs 75.

El primer paso para realizar las animaciones es crear una estructura de

huesos que representen correctamente el modelado 3D del personaje que se

quiere animar. Para ello se ha empleado el programa de Blender (figura 6.26), el

cual nos permite crear los distintos huesos y asignarlos a las partes

correspondientes del modelado. La creación de la estructura es un proceso

costoso debido a que en numerosas ocasiones el modelo se deforma durante la

animación por lo que habría que volver a colocar los huesos para que esto no

suceda.

75 Fuente: https://www.monsuton.com/rigging/

Page 98: Desarrollo de un videojuego con contenido histórico

98

Figura 6.26 Estructura de huesos y modelo 3D de un personaje 76.

Una vez se dispone de la estructura de hueso del personaje se realizan las

distintas animaciones que se van a emplear posteriormente en el videojuego. Para

realizar las animaciones se deben mover los huesos imitando dicha acción y

guardando esos keyframes77 para que Blender lo interpole automáticamente. Una

vez realizado ya es posible exportar la animación dentro del Unity como son la

animación de hablar y la animación de espera.

Por último, una vez importada la animación dentro de Unity se debe crear

un Animation Controller como en la figura 6.27. Este elemento permite poner las

condiciones necesarias para que el personaje pase de una animación a otra. En el

videojuego se ha empleado una variable booleana llamada Talking, que indicará

76 Fuente: Elaboración propia.

77 En animación, un keyframe es la localización en una línea de tiempo de un momento

concreto.

Page 99: Desarrollo de un videojuego con contenido histórico

99

cuando el personaje está hablando, y si lo está haciendo cambiará a la animación

de hablar.

Figura 6.27 Animation Controller de un personaje 78.

78 Fuente: Elaboración propia.

Page 100: Desarrollo de un videojuego con contenido histórico

100

7. Conclusiones

Tras varios meses de trabajo, he conseguido desarrollar un videojuego

incluyendo todas las fases de desarrollo necesarias para crear un producto

software: planificación, análisis, diseño, implementación y pruebas.

He descubierto que el transcurso completo de un producto software, ya sea

un videojuego o una aplicación, no es para nada sencillo, y que en el camino nos

podemos encontrar con distintos baches que nos dificultan el desarrollo, pero con

constancia y dedicación se pueden superar estas dificultades. El principio del

proyecto fue costoso ya que había que reunir una gran cantidad de información

previa sobre videojuegos del mismo género para tomar como referentes, sobre

los distintos motores que existen para decidir con cual se iba a realizar el proyecto

y la elección de herramientas para crear los distintos recursos empleados en el

juego.

Durante el desarrollo he aprendido habilidades nuevas como la creación de

videojuegos con Unity, realizar una estructura de huesos y el rigging de los

modelados para crear animaciones sencillas. Además, también he conseguido

mejorar habilidades como por ejemplo, la programación en C#, el modelado, el

texturizado y la edición de sonido entre otras.

La planificación del proyecto no fue la esperada debido a que comencé a

trabajar y esto no me permitía dedicar las horas que me hubiese gustado por lo

que el proyecto sufrió un retraso. Además, durante el desarrollo surgen distintos

problemas que, a pesar de estar planificados dejando un margen de tiempo

siguen existiendo como, por ejemplo, los errores.

En cuanto a los objetivos planteados en el proyecto, se ha conseguido

desarrollar un videojuego histórico en el cual se puede conocer la vida de Olympe

Page 101: Desarrollo de un videojuego con contenido histórico

101

de Gouges y aprender jugando. También se ha conseguido realizar la creación de

un documento del diseño del videojuego completo (GDD) desde cero. El autor

ha adquirido experiencia en la planificación de un proyecto siguiendo un modelo

de desarrollo iterativo. Además, también se ha obtenido experiencia en el

desarrollo de videojuegos y en el uso del motor de Unity.

A pesar de los problemas, estoy orgulloso del trabajo realizado ya que he

conseguido crear un videojuego desde cero y todo lo que ello respecta, como

realizar un documento de diseño del videojuego completo (GDD), aunque en un

futuro me gustaría mejorar la optimización del proyecto y añadir más contenido

para continuar la historia.

Crear un videojuego es un buen paso para introducirse en la industria,

aunque sea un videojuego de corta duración ya que te aporta una experiencia

que antes no tenías y de cara a futuros proyectos te ves con una mayor

preparación que ayudará a que los próximos desafíos sean resueltos con una

facilidad mayor.

Por último, estoy orgulloso de haber podido defender mis ideales e intentar

demostrarlo con este proyecto. Enseñar que también se puede aprender gracias

a los videojuegos y que pueden ser una buena herramienta, no solo para aprender

cosas didácticas como matemáticas, historia o geografía, sino que también ayuda

a los jugadores a desarrollar distintas habilidades que se emplean diariamente

como el trabajo en equipo, la gestión de los recursos y el desarrollo de la memoria

cognitiva.

Page 102: Desarrollo de un videojuego con contenido histórico

102

8. Bibliografía

Adams, Ernest. 2006. Fundamentals of Game Design. s.l. : Prentice Hall, 2006.

AEVI. 2020. AEVI. [En línea] 2020. http://www.aevi.org.es/la-industria-del-

videojuego/en-el-mundo/.

ConceptArtEmpire. 2020. conceptartempire.com. [En línea] 2020.

https://conceptartempire.com/free-game-engines/.

DefinicionDe. 2013. definicion.de. [En línea] 2013.

https://definicion.de/videojuego/.

EducacionTresPuntoCero. 2020. Educaciontrespuntocero. [En línea] 2020.

https://www.educaciontrespuntocero.com/recursos/sagas-videojuegos-ensenan-

historia/.

Educo.org. 2015. educo. [En línea] 2015. https://www.educo.org/Blog/5-cosas-

que-los-ninos-aprenden-jugando-a-videojuegos.

Eronen, Jukka. 2015. SpringBringer. [En línea] 2015.

http://www.springbringer.com/web/fantasya/index.html.

GameIndustry.biz. 2020. GameIndustry.biz. [En línea] 2020.

https://www.gamesindustry.biz/articles/2020-01-16-what-is-the-best-game-

engine-is-unreal-engine-4-the-right-game-engine-for-you.

GamerDic.es. 2013. gamerdic.es. [En línea] 2013.

https://www.gamerdic.es/termino/motor-de-juego.

Thomas, Apperley. 2013. Genre and game studies. s.l. : Simulation & Gaming,

2013.

Page 103: Desarrollo de un videojuego con contenido histórico

103

HighGroundGaming. 2020. HighGroundGaming. [En línea] 2020.

https://www.highgroundgaming.com/best-games-made-with-unity/.

IslaDeMonos. 2020. Islademonos. [En línea] 2020.

https://islademonos.com/articulos/las-aventuras-graficas/.

Kanbanize. 2016. Kanbanize. [En línea] 2016.

https://kanbanize.com/es/recursos-de-kanban/primeros-pasos/que-es-kanban.

monsuton. https://www.monsuton.com/rigging/. [En línea]

https://www.monsuton.com/rigging/.

Monsuton. 2019. https://www.monsuton.com/rigging/. [En línea] 2019.

https://www.monsuton.com/rigging/.

ProyectosAgiles.org. 2018. ProyectosAgiles.org. [En línea] 2018.

https://proyectosagiles.org/desarrollo-iterativo-incremental/.

GameSpot. 2010. The History of Console RPGs. 2010.