Está en la página 1de 65

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

Y SISTEMAS DE TELECOMUNICACIÓN

PROYECTO FIN DE GRADO

TÍTULO: Desarrollo de un juego serio infantil 2D con Unity para el


L

AUTOR: María Cabanas Ojea

TITULACIÓN: Grado en Ingeniería de Sonido e Imagen

TUTOR: Irina M. Argüelles Álvarez

DEPARTAMENTO: Lingüística Aplicada a la Ciencia y a la Tecnología

Miembros del Tribunal Calificador:

PRESIDENTE: Francisco Aznar Ballesta

TUTOR: Irina María Argüelles Álvarez

SECRETARIO: Elena Blanco Martín

Fecha de lectura: 12 de julio de 2022

Calificación:

El Secretario,
ETSIST de Telecomunicación Campus Sur UPM

Agradecimientos

A mi tutora Irina,
por darme la oportunidad de participar en este proyecto.

A mi familia,
por su ánimo y ayuda durante todos estos años, ha sido un camino largo.

A Sergio,
por su confianza, paciencia y apoyo, no lo habría conseguido sin ti.

Gracias.

1
ETSIST de Telecomunicación Campus Sur UPM

2
ETSIST de Telecomunicación Campus Sur UPM

Resumen
Nuestra sociedad vive inmersa en una época de transformación digital y los
métodos de enseñanza han tenido que adaptarse a este cambio y evolucionar
sacando el máximo partido a todos los recursos tecnológicos disponibles.

Desde hace varios años se han realizado multitud de investigaciones que


demuestran que a través de los videojuegos educativos se puede contribuir al
desarrollo de las habilidades cognitivas, espaciales y motoras de los niños y las
niñas, además de ayudarles en el aprendizaje y resolución de problemas. De
esta forma surgen nuevos enfoques metodológicos que incorporan el m-learning,
la gamificación y los juegos serios.

Aprovechando esta tendencia y en este contexto se ha ideado el videojuego


iños de la última etapa de Educación
narra la historia
de un alienígena que se queda atrapado en la Tierra al estropearse su nave
espacial y el jugador/a debe ir superando varios niveles hasta conseguir la
batería que necesita para volver a su planeta.

En este Proyecto Fin de Grado se ha desarrollado uno de esos niveles, que está
compuesto por una misión y un reto. La misión es un minijuego de contenido
didáctico en el que el jugador/a deberá identificar las prendas de vestir
escuchando la palabra de dicha prenda en inglés. De esta forma se pretende
que los niños y las niñas aprendan vocabulario y asienten los conocimientos
aprendidos dentro del aula presencial.

Como recompensa a la superación de la misión se abrirá un reto, un juego de 60


segundos de duración y de carácter lúdico, en el que el jugador/a deberá atrapar
el máximo número de prendas posible esquivando los objetos de distracción para
conseguir la puntuación más alta.

En esta memoria se resume y expone el trabajo realizado con el motor de


videojuegos Unity para el diseño y desarrollo de la misión y el reto
correspondientes al segundo módulo del tercer bloque del videojuego.

3
ETSIST de Telecomunicación Campus Sur UPM

4
ETSIST de Telecomunicación Campus Sur UPM

Abstract
Our society is living in an era of digital transformation and teaching methods have
had to adapt to this change and evolve by making the most of all the technological
resources available.

For several years now, a great deal of scientific research has shown that
educational video games can contribute to the development of children's
cognitive, spatial and motor skills, as well as helping them to learn and solve
problems. In this way, new methodologies such as m-learning, gamification and
serious games are appearing.

Taking advantage of this trend and in this context, the educational video game
"Moon the alien" has been developed, designed for children in the last stage of
infant education. "Moon the alien" is what is known as a serious game and is set
on an alien who gets trapped on earth when his spaceship breaks down and has
to overcome several levels until he gets the battery he needs to return to his
planet.

In this Final Degree Project, one of these levels has been developed, which is
made up of a mission and a challenge. The mission is a mini-game with didactic
content in which the player must identify clothes by listening to the word for the
item in English. In this way, the children learn vocabulary and consolidate the
knowledge they have learned in the traditional way.

As a reward for overcoming the mission, a challenge will be opened, a 60-second


game of a playful nature, in which the player will have to catch as many clothes
as possible while dodging the bubbles in order to get the highest score.

This report summarises and presents the work carried out with the Unity
videogame engine for the design and development of the mission and the
challenge for the second module of the third block of the videogame.

5
ETSIST de Telecomunicación Campus Sur UPM

6
ETSIST de Telecomunicación Campus Sur UPM

Índice de contenidos

1. Introducción ................................................................................................ 13
2. Marco tecnológico ....................................................................................... 15
2.1. Gamificación y mobile learning ............................................................ 15
2.2. Juegos serios ...................................................................................... 17
2.3. Aprendizaje del inglés.......................................................................... 18
3. Especificaciones y restricciones de diseño ................................................. 21
3.1. Objetivo ............................................................................................... 21
3.2. Especificaciones de diseño ................................................................. 21
3.3. Especificaciones técnicas .................................................................... 22
4. Descripción de la solución propuesta ......................................................... 27
4.1. Videojuego de carácter didáctico: la misión ......................................... 28
4.1.1. Creación y diseño del escenario ............................................... 30
4.1.2. Diseño de objetos ..................................................................... 31
4.1.3. Integración de objetos en Unity ................................................. 32
4.1.4. Implementación del spawner..................................................... 34
4.1.5. Implementación del movimiento del personaje principal ........... 38
4.1.6. Integración de audio .................................................................. 38
4.1.7. Integración de textos UI ............................................................. 40
4.2. Videojuego de carácter lúdico: el reto.................................................. 43
4.2.1. Creación y diseño del escenario ............................................... 44
4.2.2. Diseño de objetos ..................................................................... 45
4.2.3. Integración de objetos en Unity ................................................. 47
4.2.4. Implementación de spawners.................................................... 48
4.2.5. Implementación del movimiento de los objetos ......................... 50
4.2.6. Integración de audio .................................................................. 51
4.2.7. Integración de textos UI ............................................................ 52
5. Resultados .................................................................................................. 55
5.1. Resultados de la misión ....................................................................... 55
5.2. Resultados del reto .............................................................................. 56
6. Presupuesto ................................................................................................ 57
6.1. Coste material ..................................................................................... 57
6.2. Coste software ..................................................................................... 57
6.3. Coste humano ..................................................................................... 58
6.4. Coste total ........................................................................................... 58
7. Conclusiones .............................................................................................. 59
8. Referencias ................................................................................................. 61

7
ETSIST de Telecomunicación Campus Sur UPM

8
ETSIST de Telecomunicación Campus Sur UPM

Índice de figuras

Figura 1. Perfiles de jugadores......................................................................... 16


Figura 2. Principios aplicados para el diseño de los juegos serios ................... 18
Figura 3. Porcentaje de contenido en Internet en cada idioma e internautas
hablantes .......................................................................................................... 19
Figura 4. Personaje principal (Moon) .............................................................. 21
Figura 5. Interfaz de Unity ................................................................................ 23
Figura 6. Interfaz de Unity Hub......................................................................... 23
Figura 7. Interfaz de Unity Remote ................................................................... 24
Figura 8. Interfaz de GIMP ............................................................................... 25
..................................... 29
Figura 10. Escenario de la misión .................................................................... 30
Figura 11. Vista de la ventana Sprite Renderer ................................................ 32
Figura 12. Vista de la ventana BoxCollider2D .................................................. 32
Figura 13. Vista de la ventana Rigidbody2D .................................................... 33
Figura 14. Vista de la ventana Rigidbody2D del personaje Moon .................... 33
Figura 15. Vista de la ventana PolygonCollider2D ........................................... 34
Figura 16. Spawner de objetos de la misión .................................................... 35
Figura 17. Izq. Array de 8 posiciones con las prendas catalogadas como invierno.
Dcha. Array de 8 posiciones con las prendas catalogadas como verano ........ 35
Figura 18. Array de 3 posiciones con los objetos basura ................................. 36
Figura 19. Array de objetos que irán apareciendo en la misión........................ 36
Figura 20. Ventana de Jerarquía con componente AudioSource ..................... 39
Figura 21. Ventana de Jerarquía con componente AudioSource ..................... 40
Figura 22. Clips de audio en GameManager .................................................... 40
Figura 23. Canvas con componentes UI de texto ............................................. 41
Figura 24. Canvas con componente UI de texto si se supera la misión ........... 42
Figura 25. Canvas con componentes UI de texto si se falla la misión .............. 42
Figura 26. Reto 3, Lección 2 ...................................... 44
Figura 27. Escenario del reto ........................................................................... 45
Figura 28. Vista de la ventana PolygonCollider2D ........................................... 47
Figura 29. Colocación de spawners ................................................................. 48
Figura 30. Ventana de Jerarquía. Array de 12 posiciones para los spawners . 48
Figura 31. Ventana de Jerarquía. Array de 20 posiciones con los elementos a
instanciar .......................................................................................................... 49

9
ETSIST de Telecomunicación Campus Sur UPM

Figura 32. Ventana de Jerarquía con componente AudioSource ..................... 51


Figura 33. Ventana de Jerarquía con componente AudioSource ..................... 52
Figura 34. Canvas con componentes UI de texto ............................................. 53
Figura 35. Ajustes de ancla .............................................................................. 53

10
ETSIST de Telecomunicación Campus Sur UPM

Índice de tablas

Tabla 1. Descripción de la misión..................................................................... 28


Tabla 2. Objetos de la misión ........................................................................... 31
Tabla 3. Descripción del reto ............................................................................ 43
Tabla 4. Objetos del reto .................................................................................. 46
Tabla 5. Coste material del proyecto ............................................................... 57
Tabla 6. Coste software del proyecto .............................................................. 57
Tabla 7. Coste humano del proyecto ............................................................... 58
Tabla 8. Presupuesto total del proyecto .......................................................... 58

11
ETSIST de Telecomunicación Campus Sur UPM

12
ETSIST de Telecomunicación Campus Sur UPM

1. Introducción
En este Proyecto de Fin de Grado se va a diseñar y desarrollar un juego serio
destinado a alumnos del último curso de la Etapa de Educación Infantil enfocado
al aprendizaje de vocabulario en inglés.

Si nos paramos a pensar en el gran avance que ha sufrido la tecnología en los


últimos años y su accesibilidad para la mayor parte de la población, no es de
extrañar que surjan nuevas técnicas de enseñanza que busquen mejorar los
procesos de aprendizaje. Algunos de estos métodos de aprendizaje son la
gamificación y el mobile learning, que utilizan la tecnología móvil para facilitar el
aprendizaje en cualquier momento a través de lo que se conocen como juegos
serios. De esta forma, se consigue generar interés en el alumnado mientras
afianzan los conocimientos adquiridos

Una vez contextualizado el marco tecnológico en el que se ubica este proyecto,


en el tercer apartado de la memoria se van a explicar las especificaciones y
restricciones que se han tenido en cuenta para diseñarlo, resumiendo por un lado
el Proyecto Fin de Máster del que se parte y por otro, las herramientas que se
han utilizado para su desarrollo. A continuación, se explica en detalle la solución
propuesta, cómo se han diseñado los diferentes escenarios y objetos y cómo se
han integrado con el motor de videojuegos Unity hasta crear la misión y el reto.

Una vez finalizado el juego se han realizado una serie de comprobaciones para
verificar su correcto funcionamiento, el resultado de estas pruebas se expone en
el quinto apartado. En el capítulo 6 se ha realizado un presupuesto con los costes
que supondría la realización de este proyecto, teniendo en cuenta los costes
materiales, humanos y de software. Posteriormente, se detallan las conclusiones
y las líneas futuras que quedan abiertas. Por último, en el Capítulo 8, se indican
las referencias de las fuentes consultadas para la realización del proyecto.

13
ETSIST de Telecomunicación Campus Sur UPM

14
ETSIST de Telecomunicación Campus Sur UPM

2. Marco tecnológico
Los métodos de enseñanza están en constante cambio y evolución,
adaptándose continuamente a los nuevos recursos tecnológicos disponibles y,
por supuesto, a los cambios en nuestra sociedad.

A finales de la década de los 90 se empezaron a utilizar las agendas electrónicas


en educación y es en este momento cuando se acuñó el concepto de mobile
learning. Sin embargo, no ha sido hasta estos últimos años cuando realmente se
ha empezado a fomentar el uso de esta metodología educativa, que aprovecha
la gran cantidad de contenido disponible en Internet a través de los dispositivos
electrónicos móviles para reforzar y diversificar el proceso de aprendizaje.

En paralelo, desde hace varios años se han desarrollado multitud de


investigaciones que demuestran que a través de los videojuegos educativos se
puede contribuir al desarrollo de las habilidades cognitivas, espaciales y motoras
de los niños y las niñas, además de ayudarles en el aprendizaje y resolución de
problemas. A estos videojuegos educativos se los conoce como Juegos Serios
(JS) que, estando desarrollados con un propósito educativo, están basados en
las características de los videojuegos clásicos para generar motivación en el
alumnado, integrando de esta manera lo lúdico y lo formativo.

Por otro lado, también hay que destacar que el aprendizaje del inglés es un
asunto siempre de actualidad en la educación y que gracias a los juegos o a las
películas los niños pueden llegar a aprender una gran cantidad de vocabulario,
muchas veces hasta sin darse cuenta.

En este marco tecnológico es donde se sitúa este proyecto, en el desarrollo de


un videojuego para Android pensado para la etapa de Educación Infantil (5 años)
en el que se reforzará el aprendizaje del vocabulario en inglés, más
concretamente el relacionado con las prendas de vestir, los complementos y
accesorios.

A continuación, se va a profundizar en los conceptos anteriormente mencionados


para comprender el porqué de este proyecto.

2.1. Gamificación y mobile learning


La Gamificación o utilización de juegos educativos, es el uso de mecánicas,
estética y pensamiento de juegos, para atraer a las personas, motivar la acción,
promover el aprendizaje y solucionar problemas. A esta definición García,
Carrascal y Guenobell añadieron lo siguiente: «la gamificación consiste en el
desarrollo de las habilidades cognitivas para mejorar el aprendizaje, para ello, se

15
ETSIST de Telecomunicación Campus Sur UPM

basa en las características de los videojuegos, pues estos se caracterizan por


su capacidad para que los jugadores mantengan un constante interés a lo largo
del juego; se concentren plenamente en la actividad involucrada en el
videojuego; desarrollen la habilidad de tomar decisiones rápidas; interactúen con
otros jugadores, trabajen en equipo y adquieran tenacidad para perseguir los
objetivos sin frustrarse ante los fracasos» [1].

Las actividades realizadas en este contexto buscan conseguir tres objetivos, la


fidelización, la motivación y la recompensa. La fidelización busca crear un vínculo
entre el alumnado y el contenido con el que se está trabajando, por lo que el
juego creado debe generar interés en los niños. Por otro lado, hay que buscar la
motivación, desarrollando juegos que supongan un desafío, pero sin ser
demasiado complejos, ya que esto podría provocar en los niños y las niñas
frustración y desencadenar en que abandonen el juego. Finalmente, hay que
proporcionar algún tipo de recompensa para que los alumnos tenga más
incentivo que el propio aprendizaje.

Otro factor importante que se debe tener en cuenta para la creación de este tipo
de juegos educativos es conocer los diferentes tipos de jugadores. Se han
definido [2] cuatro perfiles de jugadores basándose en su personalidad y en su
comportamiento (Fig.1).

Achievers: buscan resolver retos de manera exitosa y conseguir una


recompensa.
Explorers: quieren aprender cosas nuevas.
Socializers: les interesa más el aspecto social del juego que su propia
estrategia.
Killers: su objetivo es competir con otros jugadores.

Figura 1. Perfiles de jugadores [2]

16
ETSIST de Telecomunicación Campus Sur UPM

El proceso de gamificación se apoya también en una técnica de aprendizaje cada


vez más extendida, el m-learning. Según la Unesco (2013), la definición de
mobile learning es la utilización de tecnología móvil, sola o en combinación con
cualquier otro tipo de Tecnología de la Información y la Comunicación (TIC), a
fin de facilitar el aprendizaje en cualquier momento y lugar.

El número de usuarios de telefonía móvil supera ya los 5.000 millones en todo el


mundo, según datos de la Organización de Operadores y Compañías Móviles, lo
que ha fomentado que hasta en sectores como la educación se haya sacado
partido a esta nueva realidad y se busquen nuevas técnicas de enseñanza para
favorecer el aprendizaje.

El m-learning tiene múltiples ventajas, siendo la más destacada la posibilidad de


acceder a los contenidos educativos desde cualquier parte y en cualquier
momento, (el concepto anytime-anywhere), lo que permite adaptar el aprendizaje
a las necesidades del alumno/a. Favorece la interacción entre el alumno/a y el
docente, ya que facilita la comunicación entre ellos y permite que se personalice
la enseñanza según el estilo de aprendizaje del propio alumno/a. Otra ventaja
fundamental es que fomenta la implicación del alumno/a en su propio
aprendizaje, permitiéndole, como se ha mencionado anteriormente, buscar sus
propias fuentes y contenido. También hay que añadir que favorece la
colaboración y la participación en tiempo real, fomentando un aprendizaje más
social. Por último, supone un ahorro económico importante a los centros
educativos ya que los estudiantes disponen de sus propios dispositivos.

2.2. Juegos serios


Los Juegos Serios (JS), son juegos digitales utilizados con propósito educativo
y pueden ser aplicados en un amplio espectro en áreas militares,
gubernamentales, educativas y cuidado de la salud [6].

Los juegos serios son de gran utilidad en educación y formación ya que


fortalecen y mejoran las capacidades del usuario, ya que proporcionan un
entorno inmersivo donde aprender jugando, totalmente opuesto a los métodos
tradiciones. Además, deben generar motivación en el jugador para que alcance
el objetivo final. Es por esto por lo que han adquirido gran popularidad en los
últimos años y han sido adoptados por instituciones educativas y empresas,
especialmente para programas de formación. En España, por ejemplo, empresas
e iniciativas como Humantiks, Gamelearn®, Binnakle, Netlanguages, Chiara,
entre otros, están utilizando los juegos serios para la formación de niños y
adultos.

17
ETSIST de Telecomunicación Campus Sur UPM

Para el diseño de estos juegos serios se han identificado siete principios


establecidos por las metodologías aplicadas en su diseño, las cuales se
muestran en la siguiente figura [6] (Fig.2).

Figura 2. Principios aplicados para el diseño de los juegos serios [6]

Finalmente, es importante mencionar qué es lo que se tiene en cuenta para


catalogar un videojuego como juego serio. Dicho juego debe permitir lo siguiente:

Que los estudiantes reflexionen sobre el contenido del juego y obtengan


sus propias conclusiones al respecto.
Control psicomotriz, coordinación entre el pensamiento del jugador y sus
acciones.
Estimular la conducta y mejorar la capacidad de respuesta y la agilidad
mental de los estudiantes.
Potenciar la capacidad deductiva del jugador/a.
Resolución de problemas, para de esta formar, avanzar en el juego.
Fomentar la imaginación.

2.3. Aprendizaje del inglés


Las nuevas tecnologías son una ayuda fundamental en este momento en el que
la sociedad está viviendo una transformación digital y, la educación en general,
y la enseñanza de idiomas en particular, ha sabido adaptarse a este cambio y
aprovechar los nuevos métodos educativos que facilitan el aprendizaje. Sin
embargo, esta dependencia entre la educación y tecnología es unilateral, cada
vez más, se usan las nuevas tecnologías en la docencia, y se debe estar
preparado para su entendimiento y aprovechamiento.
18
ETSIST de Telecomunicación Campus Sur UPM

En este caso nos vamos a centrar en la enseñanza de los idiomas y su


importancia a la hora de aprovechar de forma óptima los recursos disponibles
online. A continuación, se presenta un gráfico que refleja la importancia del inglés
en la comunicación (Fig.3) [8] y, por tanto, en las técnicas mencionadas
anteriormente como el m-learning:

Figura 3. Porcentaje de contenido en Internet en cada idioma e internautas hablantes [8]

Además, más del 80% de las páginas del sector científico y en el de las
telecomunicaciones está escrito en inglés, por lo que es fundamental el
conocimiento del idioma para acceder a estos recursos.

Es pensando en esto que se debe enfocar el uso de la tecnología en edades


tempranas, ya que gracias a ella se puede llegar a esos niños y niñas e ir
incorporando el aprendizaje del inglés, ya que en el futuro les resultará muy
beneficioso.

Uno de cada tres puestos de trabajo ofertado pide un segundo idioma y,


de ellos, más del 90 % requieren el inglés.
Saber inglés aumenta un 44% las probabilidades de conseguir un buen
trabajo.
El 25% por ciento de los trabajos requiere interacción de los empleados
con personas en otros países.
El 80% de los puestos de trabajo dirigidos a puestos medios y directivos
exigen como requisito indispensable el conocimiento de un segundo
idioma

Una vez expuestas las razones que han llevado a la realización de este proyecto,
se van a presentar las restricciones técnicas y de diseño que se han tenido en
cuenta en su desarrollo.

19
ETSIST de Telecomunicación Campus Sur UPM

20
ETSIST de Telecomunicación Campus Sur UPM

3. Especificaciones y restricciones de diseño


3.1. Objetivo
El objetivo principal de este proyecto consiste en el diseño y desarrollo de uno
de los niveles ideados en el Trabajo Fin de Máster "Análisis y diseño de un Juego
Serio para la etapa de Educación Infantil" [9], por lo que debe cumplir una serie
de especificaciones para mantener la temática y apariencia del juego.

El videojuego, de acuerdo con su diseño, está formado por tres bloques que son
independientes entre sí, , cada uno
de los cuales se divide a su vez, en cinco unidades. En este proyecto se
desarrolla el nivel correspondiente a la Unidad 2 del Bloque 3, que se

3.2. Especificaciones de diseño


En este apartado se va a detallar cuáles son las especificaciones de diseño que
se han tenido en cuenta a la hora de desarrollar el videojuego, es decir, cuáles
son las reglas, la historia en la que se enmarca cada una de las lecciones, el
contenido del juego y el funcionamiento del videojuego.

Moon (Fig.4) es el/la protagonista de nuestro juego, un/a alienígena que se ha


quedado atrapado/a en nuestro planeta al estropearse su nave espacial y
necesita la ayuda del jugador para conseguir la batería que le permitirá arreglarla
y volver a su planeta de origen.

Figura 4. Personaje principal (Moon) [9]

El videojuego está pensado para niños/as en la Etapa de Educación Infantil, por


lo que se ha buscado que el diseño de los distintos escenarios y objetos sea
atractivo para este tipo de público, buscando colores llamativos y líneas simples.

21
ETSIST de Telecomunicación Campus Sur UPM

Estos diseños, además, deben mantener la estética ya ideada en los proyectos


realizados por las compañeras del año anterior, [10], [11] y [12] en los cuales se
establecieron ya los criterios de puntuación, el movimiento del personaje
principal y los sonidos de acierto y error. Partiendo de estos requerimientos, se
han diseñado los dos minijuegos en los que está dividido el videojuego.

carácter didáctico por lo que se debe adaptar al


contenido de la lección. En este caso, la lección se enfoca a la práctica auditiva
con éxito la misión deben seleccionarse
correctamente un mínimo de 7 prendas, hasta un máximo de 10, que será la
puntuación más alta.

Por otro lado, se desarrolla un reto de carácter lúdico, cuyo objetivo será servir
como recompensa por haber superado la misión. Este debe tener un minuto de
duración y cumplir el sistema puntuación ya fijado, para que de esta manera en
un futuro el jugador pueda ir acumulando puntos y consiguiendo recompensas.

Finalmente, se debe tener en cuenta que el diseño de ambos juegos debe


realizarse en orientación horizontal, para ser compatible con el resto de los
minijuegos. Además, se trata de un videojuego ampliable, es decir, es un
videojuego global que está formado por varios módulos, cada uno de los cuales,
a su vez compuesto por una misión y un reto, por lo que cada uno de esos
módulos debe mantener una estética similar a los demás.

3.3. Especificaciones técnicas


Las especificaciones técnicas están relacionadas con la elección de las
tecnologías y las herramientas necesarias para realizar la implementación del
videojuego.

Para implementar el videojuego se debe utilizar el motor de videojuegos Unity,


en concreto se utiliza la versión 2020.3.15 del 27 Julio 2021.

Unity es un motor de videojuegos multiplataforma, término que hace referencia


a un software que contiene una gran cantidad de rutinas de programación que
permitirán el diseño, creación y desarrollo de videojuegos.

Unity (Fig.5) es de los motores de videojuegos más utilizados para su desarrollo


ya que incluye todas las funcionalidades básicas que se esperan de un motor de
videojuegos. Dispone de un motor gráfico para renderizar gráficos 2D y 3D y otro
físico que permite simular las leyes de la física. También permite realizar

supuesto, incluye un lenguaje de programación en C#, avance de los lenguajes

22
ETSIST de Telecomunicación Campus Sur UPM

de C y C++, que permitirá al desarrollador implementar todos los movimientos y


acciones necesarios para el funcionamiento del juego.

Figura 5. Interfaz de Unity

Para la gestión de los proyectos Unity se utiliza la herramienta Unity Hub (Fig.
6), la cual permite, además de crear nuevos proyectos y abrir los ya existentes,
administrar la cuenta de Unity y su licencia, ejecutar distintas versiones al mismo
tiempo y añadir componentes a las instalaciones disponibles para el editor.

Figura 6. Interfaz de Unity Hub

23
ETSIST de Telecomunicación Campus Sur UPM

Una vez iniciada la implementación del videojuego se utilizará la aplicación Unity


Remote (Fig. 7) desde un smartphone o tablet, en este caso se ha utilizado un
smartphone, para comprobar su funcionamiento en tiempo real. La aplicación se
puede descargar en cualquier dispositivo Android desde la Play Store.

Para la realización de pruebas y comprobación del correcto funcionamiento del


juego se debe conectar el dispositivo al ordenador y, de esta forma, se ve
reflejado en el editor de Unity las acciones ejecutadas en el smartphone. Esta
aplicación resulta de gran utilidad ya que permite agilizar el desarrollo del
videojuego ayudando al programador a detectar posibles errores en su
funcionamiento sin necesidad de generar el ejecutable y probarlo en el
dispositivo.

Figura 7. Interfaz de Unity Remote

Para el diseño de los diferentes escenarios, personajes y objetos se utilizará


GIMP (GNU Image Manipulation Program) (Fig. 8) versión 2.10.28, ya que se
trata de un programa de licencia libre que soporta la gran mayoría de ficheros
gráficos como como jpg, gif, png y tiff, además, ofrece una amplia cantidad de
prestaciones para la edición de imágenes, como las que se mencionan a
continuación:

Distintas herramientas de selección que permiten seleccionar todo tipo de


formas.
Tijeras inteligentes.

Permite modificar la escala de una imagen.


Brocha para rectificar errores.

24
ETSIST de Telecomunicación Campus Sur UPM

Posee herramientas de inclinación, deformación, clonado en perspectiva


y manipulación de textos.
Filtros para modificar el aspecto de las fotografías.

Figura 8. Interfaz de GIMP

Finalmente, se va a utilizar un software de edición de audio para la gestión de


los clips de audio que se incluirán en el juego. En este proyecto se opta por
Audacity, ya que se trata de un software gratuito de código abierto muy útil para
procesar, crear o editar audios.

A continuación, se va a explicar en detalle el diseño y desarrollo de la solución


propuesta con las herramientas anteriormente mencionadas.

25
ETSIST de Telecomunicación Campus Sur UPM

26
ETSIST de Telecomunicación Campus Sur UPM

4. Descripción de la solución propuesta


Como ya se ha mencionado en apartados anteriores, en este proyecto se va a
diseñar uno de los niveles que forman el videojuego diseñado en el Trabajo Fin
de Máster "Análisis y diseño de un Juego Serio para la etapa de Educación
Infantil" [9].

Para poner en contexto la solución desarrollada, se parte de la historia en la que


está enmarcada el videojuego. Moon es el protagonista de nuestro juego (en
adelante en masculino), se trata de un alienígena que llega a la Tierra después
de haber sufrido un accidente con su nave espacial y necesita conseguir una
batería nueva que le permita arreglar su nave. El objetivo del juego es ayudar al
protagonista a volver a su planeta, por lo que se deberán ir completando una
serie de misiones y retos, gracias a los cuales se conseguirá la batería para la
nave.

El videojuego está formado por tres bloques,


. En cada uno de estos bloques se exploran distintas localizaciones y
se refuerzan los contenidos teóricos propuestos en [1] para el tercer curso de la
etapa de Educación Infantil. El primer bloque se corresponde con la Localidad,
por lo que cada nivel del juego se ambientará en un lugar significativo de una
ciudad, como puede ser una tienda, la biblioteca o el parque.

El segundo blo
y retos desarrollados en este nivel estarán relacionados con las diferentes
culturas y países de nuestro planeta.

nivel,
los minijuegos están relacionados con el espacio, por ejemplo, los planetas, las
estrellas o una nave espacial. Una vez completado este último bloque, se abrirá
un último juego, un tangram (formas geométricas) que los/as jugadores/as
deberán resolver para conseguir la batería que permitirá a Moon volver a su
planeta. Finalmente se deberá averiguar cuál es el planeta de nuestro
protagonista gracias a una descripción que se proporcionará con las
características de dicho planeta. Una vez completado esto, Moon volverá a su
planeta y el jugador/a habrá superado el juego.

27
ETSIST de Telecomunicación Campus Sur UPM

4.1. Videojuego de carácter didáctico: la misión


Las características principales de la misión desarrollada se explican en la
siguiente tabla:

Tabla 1. Descripción de la misión

Bloque 3. Lección 2. Misión

Seleccionar correctamente las prendas de vestir


Objetivo correspondientes a la estación que indica el juego e
introducirlas en la mochila.

Nuestro protagonista se está preparando para viajar y


debe hacer la maleta, metiendo en la mochila las
prendas correctas y descartando lo que no necesite.
Al comienzo de la misión, se indicará al jugador si es
Descripción
verano o invierno, y con esta premisa, se deben
introducir en la mochila las prendas correctas y
descartar, tirando a la basura, las prendas incorrectas
y demás objetos.

Escenario Habitación dentro de una nave espacial

Cámara Fija, ortográfica, tercera persona.

Alienígena controlado por el jugador. Prendas de


Objetos
vestir y objetos de distracción.

El personaje se puede mover libremente por toda la


habitación para recoger la prenda que aparecerá
Movimientos
flotando en la parte superior derecha de la pantalla e
introducirla en la mochila o en la basura.

28
ETSIST de Telecomunicación Campus Sur UPM

Al finalizar los 10 intentos y realizar correctamente un


mínimo de 7 de ellos se habrá superado la misión,
Desbloqueo del reto aparecerá una pantalla de transición que nos indicará
que se ha abierto el reto y este comenzará
automáticamente pasados unos segundos.

No hay límite de tiempo. Una vez clasificada la


Tiempo prenda, aparecerá una nueva hasta completar los 10
intentos.

Sonido de fondo. Nombre de la palaba en inglés de


las distintas prendas de vestir y de los objetos. Sonido
Audio de acierto o error al clasificar correcta o
incorrectamente la prenda de vestir u objeto que
aparece.

A continuación, se muestra una captura del juego en ejecución (Fig. 9):

Figura 9.

29
ETSIST de Telecomunicación Campus Sur UPM

4.1.1. Creación y diseño del escenario

El objetivo de la misión es ayudar a nuestro personaje a preparar el equipaje,


para ello, se deberá seleccionar correctamente las prendas de ropa y descartar
lo que no se necesite, estos requisitos son los que se han tenido en cuenta para
diseñar el escenario.

El escenario (Fig. 10) es una habitación ambientada en una nave espacial a la


que se le han añadido los objetos básicos para poder cumplir con el objetivo del
juego. Por un lado, se tiene una mochila, objeto donde el jugador irá
introduciendo las prendas de ropa correctas para la estación indicada, por otro,
un cubo de basura, donde se irán descartando las prendas de vestir de la
estación contraria y los objetos no necesarios para su viaje.

Aunque el juego se ha realizado en 2D se ha querido dar efecto de profundidad


en el diseño del escenario, por lo que además de la perspectiva se han incluido
sombras en los objetos fijos.

Para el diseño del escenario también se ha tenido en cuenta el tipo de jugador


al que va dirigido, es decir, niños en la etapa de Educación Infantil. Es por esto
por lo que se han utilizado colores vivos y líneas gruesas y simples, para que
resulte llamativo a los/as niños/as pero a la vez se ha querido dar un punto de
realismo añadiendo detalles como las líneas de las paredes.

Para mantener la resolución de pantalla en Unity el formato de la imagen de


fondo es de 1920x1080 píxeles y se ha guardado en formato png sin compresión.

Figura 10. Escenario de la misión

30
ETSIST de Telecomunicación Campus Sur UPM

4.1.2. Diseño de objetos

A continuación, en la tabla 2, se muestran los distintos objetos que aparecen en


el reto:

Tabla 2. Objetos de la misión

Bloque 3. Lección 2. Misión

Prendas de
vestir de
verano

Prendas de
vestir de
invierno

Objetos

31
ETSIST de Telecomunicación Campus Sur UPM

4.1.3. Integración de objetos y personaje en Unity

En este apartado se va a explicar cómo se ha integrado el escenario, el


personaje y los distintos objetos en Unity para crear la escena.

Primero, se ha introducido el fondo. El fondo, al que se ha denominado


Background en Unity para que sea más intuitivo, es una imagen única insertada
como GameObject con un componente Sprite Renderer (Fig.12), el cual permite
mostrar imágenes como Sprites, es decir, usar la imagen diseñada como textura
de fondo, para su utilización en escenas 2D.

Figura 11. Vista de la ventana Sprite Renderer

En el diseño de la imagen de fondo del escenario también se han incluido los


objetos con los que el personaje interacciona en el juego, es decir, la mochila y
la basura, por lo que ambos objetos forman parte de esa imagen de fondo que
se ha insertado como Background. Para que el personaje pueda interactuar con
ambos objetos y detectarlos para introducir las prendas y los objetos en ellos se
le han añadido un componente BoxCollider2D (Fig.12) en modo trigger y un
Rigidbody2D (Fig.13) con Body Type Kinematic.

Figura 12. Vista de la ventana BoxCollider2D

32
ETSIST de Telecomunicación Campus Sur UPM

Figura 13. Vista de la ventana Rigidbody2D

Los Colliders son imprescindibles para la detección de colisiones, por lo que se


han añadido a los objetos para que cuando el jugador pulse con el personaje
sobre ellos, lo detecte y se realice la acción programada, en este caso, meter la
prenda en la mochila o basura. Sin embargo, además de un Collider, para que
se detecte la colisión entre los objetos se debe añadir un RigidBody. El RigidBody
maneja las físicas del objeto, y sin ellas, no sería posible que se detectara la
colisión entre los objetos. Además, en el caso de la basura y la mochila se ha
añadido el componente RigidBody2D con Body Type Kinematic, para que de esta
forma no le afecten las fuerzas externas, es decir, que aunque el personaje
colisione con estos objetos, no los mueva de su posición.

Por otro lado, para añadir al personaje de Moon, también se le han añadido los
componentes BoxCollider2D y Rigidbody2D, pero en este caso el Rigidbody2D
con el Body Type Dynamic. Esto es así ya que en este caso si es necesario que
al personaje le afecten las colisiones, y de esta forma pueda desplazarse por la
pantalla con el toque.

Figura 14. Vista de la ventana Rigidbody2D del personaje Moon

33
ETSIST de Telecomunicación Campus Sur UPM

Finalmente, se han añadido todas las prendas de vestir y los objetos como
prefabs, es decir como objetos prefabricados, GameObjects a los que se le
añaden componentes y propiedades y pueden ser instanciables por el juego. La
aparición de estos objetos en la escena se explicará a continuación en el
apartado 4.1.4.

A estos estos objetos además del Rigidbody2D también se le ha añadido un


PolygonCollider2D, para que, como se ha explicado anteriormente, el personaje
los detecte y pueda cogerlos.

Figura 15. Vista de la ventana PolygonCollider2D

4.1.4. Implementación del spawner

Para poder explicar el desarrollo de la misión y, en este caso, la aparición de los


objetos en la pantalla se debe saber lo que es un spawner. Un spawner es un
generador de objetos, un GameObject que instancia objetos, en este caso las
prendas de vestir y los objetos basura, en una posición establecida y en un
instante de tiempo.

Tal y como se ha mencionado anteriormente, las distintas prendas de vestir y los


objetos aparecen flotando en la parte superior derecha de la pantalla, para
conseguir esto se ha implementado el spawner. En la Figura 15 se puede
observar el spawner introducido, en la zona derecha de la imagen, el circulo
transparente único, y es en esta posición exacta donde irán apareciendo los

34
ETSIST de Telecomunicación Campus Sur UPM

objetos una vez que el anterior ha sido introducido o bien en la mochila o en la


basura.

Figura 16. Spawner de objetos de la misión

Para definir los objetos que irán apareciendo en esa posición se han definido
varios arrays de objetos (Fig. 16 y 17), uno para las prendas de verano, otro para
las de invierno y uno para los objetos y añadido la etiqueta correspondiente a
cada uno de los prefabs creados.

Figura 17. Izq. Array de 8 posiciones con las prendas catalogadas como invierno. Dcha. Array
de 8 posiciones con las prendas catalogadas como verano.

35
ETSIST de Telecomunicación Campus Sur UPM

Figura 18. Array de 3 posiciones con los objetos basura

En el momento en que se inicia la misión, que es cuando se toca la pantalla, se


va a crear un array de objetos en un orden aleatorio (Fig.18). Estos objetos irán
apareciendo en este orden en la posición del spawner a medida que se vayan
metiendo los objetos anteriores en la mochila o tirando a la basura.

El orden en el que irán apareciendo los distintos objetos se calcula de forma


aleatoria, pero, considerando la clasificación que tiene cada uno dichos objetos,
sigue un patrón. Si se ha establecido que es verano aparecerán 5 prendas de
verano, 3 de invierno y 2 objetos basura, por el contrario, si es invierno, se
cargarán 5 prendas de invierno, 3 de verano y 2 objetos. Esto es así para que
aparezca un mayor número de prendas de la estación indicada y menos de la
contrario y objetos basura.

Figura 19. Array de objetos que irán apareciendo en la misión

36
ETSIST de Telecomunicación Campus Sur UPM

Con la siguiente función se ha implementado lo anteriormente mencionado, el


número de prendas u objetos que aparecerán en función de la estación y la
posterior creación del array:

if(Random.Range(0,2)==1)
{
isSummer = true;
}
allThings = new Thing[maxPrendasColocadas];

if (isSummer)
{
RellenarVerano(5);
RellenarItems(2);
RellenarInvierno(3);
}
else
{
RellenarInvierno(5);
RellenarItems(2);
RellenarVerano(3);
}

public void RellenarVerano(int num)


{
for (int i = 0; i < num; i++)
{
allThings[actualCloth] = summerClothes[Random.Range(0,
summerClothes.Length)];
actualCloth++;
}
}

public void RellenarInvierno(int num)


{
for (int i = 0; i < num; i++)
{
allThings[actualCloth] = winterClothes[Random.Range(0,
winterClothes.Length)];
actualCloth++;
}
}

public void RellenarItems(int num)


{
for (int i = 0; i < num; i++)
{
allThings[actualCloth] = items[Random.Range(0,
items.Length)];
actualCloth++;
}
}

37
ETSIST de Telecomunicación Campus Sur UPM

4.1.5. Implementación del movimiento del personaje


principal

El movimiento del personaje principal lo realiza el jugador, o bien tocando la


pantalla, en cuyo caso el personaje se desplazará a esa posición o desplazando
el dedo sobre ella.

Para que Unity detecte el toque sobre la pantalla, se ha implementado la


siguiente función que cuando detecta un toque sobre dicha pantalla almacena
esa posición y la guarda en una variable, a continuación, mueve al personaje a
la posición almacenada.

if(Input.touchCount >0)

Touch touch = Input.GetTouch(0);

transform.position = touch.position;

Para garantizar que el personaje no se sale de los límites de la pantalla se ha


utilizado la clase Mathf.Clamp. Esta clase define unos valores máximos y
mínimos en relación a las medidas de la pantalla, por lo que, aunque se pulse en
el borde de la pantalla, el personaje no superará estos límites establecidos.

if (GameManagerMission.managerMission.jugando)

Vector2 newPos = new Vector2(Mathf.Clamp(Input.mousePosition.x,


200, Screen.width - 300), Mathf.Clamp(Input.mousePosition.y,
100, Screen.height - 400));

transform.position = newPos;

4.1.6. Integración de audio

En la misión se han utilizado los siguientes clips de audio:

Sonido de fondo.
Sonido de acierto y error al introducir la prenda o el objeto en la mochila
o basura de forma correcta o incorrecta.

38
ETSIST de Telecomunicación Campus Sur UPM

Clip de audio con el nombre de las distintas prendas de vestir y de los


objetos en inglés.

Para integrar tanto el sonido de fondo como los clips de audio de los objetos se
utiliza el componente AudioSource, que permite añadir los sonidos necesarios.
Por un lado, para incluir la música de fondo (Fig. 20) se ha añadido un
GameObject denominado en Unity SoundManager al que se le ha incluido el
componente Audio Source y se ha marcado la opción Loop, que hace que esta
música de fonde se reproduzca en bucle mientras esté la misión en
funcionamiento.

Figura 20. Ventana de Jerarquía con componente AudioSource

Por otro lado, para añadir a cada uno de los objetos el sonido de la palabra en
inglés se ha añadido también el componente Audio Source a cada uno de los
prefabs creados (Fig.21), sin embargo, en este caso el clip solo se debe
reproducir en el momento en el que aparece el objeto por lo que únicamente se
selecciona Play On Awake.

39
ETSIST de Telecomunicación Campus Sur UPM

Figura 21. Ventana de Jerarquía con componente AudioSource

Finalmente se han incluido dos sonidos de acierto y error para diferenciar si el


objeto se ha clasificado correctamente. En este caso los clips se han añadido
directamente en el GameManager de la misión (Fig.22) y almacenándose en dos
variables:

Figura 22. Clips de audio en GameManager

Estos clips se invocan directamente desde el propio script del GameManager


con la clase PlayOnShot, que reproduce una única vez un clip de audio cuando
se produce una acción, en este caso, cuando se suma o se resta un punto, es
decir, si se clasifica correcta o incorrectamente la prenda u objeto.

4.1.7. Integración de textos UI

El sistema UI (User Iterface) de Unity es el conjunto de herramientas para el


desarrollo y creación de las interfaces de usuario que permite al jugador
interaccionar con el videojuego, como por ejemplo con botones o menús. Estos
componentes UI se colocan sobre un GameObject denominado Canvas o lienzo.

40
ETSIST de Telecomunicación Campus Sur UPM

Para la misión se han introducido botones, texto, imágenes y un contador de


aciertos (Fig.23) que se explicarán a continuación.

Figura 23. Canvas con componentes UI de texto

Dado que la misión y el reto desarrollados en este proyecto forman parte de un


videojuego que contiene otros 14 juegos se ha utilizado el sistema de puntuación
y los botones desarrollados en los proyectos "Diseño y desarrollo de un
videojuego en 2D para el aprendizaje de inglés en la etapa de Educación Infantil"
[10] y
de educación infantil" [27].

En este caso se han reutilizado los botones de restart y exit situados en la parte
superior izquier
poder comenzar el juego. También se ha utilizado el mismo sistema de
puntuación, para mantener la apariencia del juego. El sistema de puntuación
consiste en 10 círculos vacíos, que es el número de intentos que se van a
realizar, que se irán rellenando de color naranja si se acierta o rojo si se falla.

También se han mantenido las dos pantallas finales que aparecen una vez
completados los intentos. Si la misión se ha superado, es decir, se han acertado
mínimo 7 de los 10 intentos, aparecerá una pantalla de transición (Fig. 24) y
pasados unos segundos el reto comenzará automáticamente. En caso contrario,
volverá a empezar el juego (Fig. 25).

41
ETSIST de Telecomunicación Campus Sur UPM

Figura 24. Canvas con componente UI de texto si se supera la misión

Figura 25. Canvas con componentes UI de texto si se falla la misión

Finalmente, se han añadido y su


correspondiente imagen, ambos introducidos como componentes de tipo UI de
Texto e imagen respectivamente.

42
ETSIST de Telecomunicación Campus Sur UPM

4.2. Videojuego de carácter lúdico: el reto


Las características principales del reto desarrollado se explican en la tabla 3:

Tabla 3. Descripción del reto

Bloque 3. Lección 2. Reto

Coger el máximo número de prendas de vestir evitando los


Objetivo
objetos de distracción, es este caso pompas de jabón.

La nave se ha quedado sin gravedad y los objetos salen


Descripción flotando de la nave. Se mueve un cazamariposas por la
pantalla intentando atrapar el máximo número de prendas.

Escenario Nave espacial

Cámara Fija, ortográfica, tercera persona.

Cazamariposas controlado por el jugador. Prendas de vestir y


Objetos
objetos de distracción.

El cazamariposas se puede mover libremente por toda la


pantalla pulsando directamente donde el jugador quiera
Movimientos
desplazarse. Las prendas de vestir y los objetos suben
flotando desde la parte inferior de la pantalla.

+ 1 punto si se coge una prenda de vestir.


Contador 1 punto si la prenda se escapa por la escotilla.
2 puntos si se coge un objeto basura.

Tiempo 60 segundos

Sonido de fondo. Sonido de acierto al coger una prenda de


Audio
vestir y sonido de fallo si se coge una pompa.

43
ETSIST de Telecomunicación Campus Sur UPM

A continuación, se muestra una captura del juego en ejecución (Fig. 26):

Figura 26.

4.2.1. Creación y diseño del escenario

El objetivo del reto es conseguir atrapar el máximo número de prendas de vestir


antes de que se escapen de la nave espacial, que se ha quedado sin gravedad.
Con esta idea, se ha diseñado el escenario.

El escenario del reto (Fig. 27) consiste en una sala de una nave espacial con una
gran escotilla en el techo por donde saldrán flotando los objetos, en caso de no
ser atrapados antes por el jugador. La escotilla es el punto de referencia por
donde se escapan los objetos y gracias a la cual se da el efecto 3D al videojuego,
ya que a pesar de tratarse de un juego en 2D, se ha diseñado el escenario en
perspectiva para dar esa sensación de profundidad.

La estética del escenario del reto es similar a la de la misión, utilizándose las


mismas premisas que se tuvieron en cuenta para la misión, que el videojuego
está pensado para niños y niñas en la etapa de Educación Infantil. En este caso
se han mantenido la gama de colores elegida y la utilización de líneas gruesas y
simples para que resulte llamativo. Para darle realismo al diseño se ha simulado
el cielo tras la escotilla y se ha añadido una imagen superpuesta al techo para
crear el efecto de que los objetos se escapan de la nave y salen por detrás de la
escotilla, quedando ocultos fuera de la nave.

44
ETSIST de Telecomunicación Campus Sur UPM

Finalmente, también en este caso se ha usado el programa GIMP para crear la


escena, utilizando el formato de 1920x1080 píxeles para mantener la resolución
de pantalla en Unity y se ha guardado en formato png sin compresión.

Figura 27. Escenario del reto

4.2.2. Diseño de objetos

Los objetos diseñados en el reto son los mismo que se idearon para la misión,
es decir, son las mismas prendas de vestir las que salen flotando de la nave,
pero sin la distinción por temporadas. Sin embargo, se han sustituido los objetos
basura por pompas de jabón.

El objetivo del reto no es otro que atrapar las prendas de vestir y dejar escapar
de la nave la basura, ya que de lo contrario resta puntos. Dado que se trata de
un juego infantil educativo se tuvo en cuenta que el juego cumpliese con unos
mínimos en cuanto a sostenibilidad por lo que se sustituyeron la bombilla, la lata
y la bola de papel por pompas de jabón, para que, aunque estos objetos se
escapasen de la nave no tendrían afectación medioambiental.

A continuación (Tabla 4) se muestran los objetos que aparecen en el reto:

45
ETSIST de Telecomunicación Campus Sur UPM

Tabla 4. Objetos del reto

loque 3. Lección 2. Reto

Prendas de
ropa

Objetos

Cazamariposas

46
ETSIST de Telecomunicación Campus Sur UPM

4.2.3. Integración de objetos en Unity

De la misma forma que en la misión en este apartado se va a explicar cómo se


ha integrado el escenario y los distintos objetos en la escena.

Primero, se ha introducido el fondo, y a continuación el techo y la escotilla, ambas


hijas del fondo. Estos tres GameObject tienen componente Sprite Renderer,
además, la escotilla tiene PlygonCollider2D (Fig.28), para poder detectar los
objetos que la atraviesen y, en caso de que sean prendas de vestir, restar 2
puntos.

Figura 28. Vista de la ventana PolygonCollider2D

A parte del fondo, en el reto solo se ha introducido un GameObject más, el


salabre. Este objeto también tiene un componente CircleCollider2D para poder
detectar la colisión con las prendas de vestir y las pompas.

4.2.4. Implementación de spawners

Tal y como se realizó para la misión, en el reto se va a utilizar el spawner, el


generador de objetos para instanciar las prendas de vestir y las pompas de
jabón.

En este caso, los objetos irán apareciendo de forma aleatoria en los spawners
fijados fuera de la escena (Fig.29) y saldrán dirigidos hacía un EndPoint situado
en la escotilla.

47
ETSIST de Telecomunicación Campus Sur UPM

Figura 29. Colocación de spawners

Se han creado 12 spawners (Fig.30) repartidos por toda la parte inferior de la


escena, para que en el momento en que se genere el objeto en uno de ellos y
salga dirigido hacia la escotilla, cree el efecto que el objeto sale volando y se
escapa de la nave. Para poder instanciar los objetos en los distintos spawners,
se ha creado un array con el listado de los 12 puntos fijados.

Figura 30. Ventana de Jerarquía. Array de 12 posiciones para los spawners.

48
ETSIST de Telecomunicación Campus Sur UPM

De la misma manera, se ha creado un array de 20 posiciones con las 16 prendas


de vestir creadas y 4 pompas de jabón (Fig.31). Esto se ha hecho así para
garantizar que el número de prendas que aparecen es superior al de pompas de
jabón, ya que el objeto que aparecerá en el spawner se calcula de forma aleatoria
entre los objetos del array.

Figura 31. Ventana de Jerarquía. Array de 20 posiciones con los elementos a instanciar

Para generar estos objetos de forma aleatoria en cada uno de los spawners,
también aleatorio, se ha implementado la siguiente función:

void Recalcular()
{
position = Random.Range(0, spawnerList.Length);
numitem = Random.Range(0, itemsList.Length);
launchtime = Random.Range(0.5f-timeModifier, 1.0f-timeModifier);
}

Esta función primero calcula una posición al azar entre 0 y el tamaño del array
de spawners para calcular desde que posición saldrá el objeto. A continuación,
se hace lo mismo para calcular que objeto aparecerá en el spawner seleccionado
para finalmente calcular un tiempo al azar y hacer que las prendas cada vez
salgan a mayor velocidad.
49
ETSIST de Telecomunicación Campus Sur UPM

4.2.5. Implementación del movimiento de los objetos

Para proporcionarle el movimiento a los objetos que salen de los spawners se


han desarrollado dos scripts denominados LaunchItem y FloatingItem.

Por un lado, se ha establecido un EndPoint, este punto de referencia está situado


en la escotilla y se utiliza para poder lanzar los objetos desde el spawner
correspondiente hasta esta posición, creando el efecto de que los objetos se
escapan de la nave. Conociendo la posición del objeto y la del EndPoint se
calcula la dirección de lanzamiento.

public class LaunchItem : MonoBehaviour


{
public GameObject EndPoint;
void Start()
{
EndPoint = GameObject.Find("EndPoint");
if(EndPoint != null)
GetComponent<Rigidbody2D>().AddForce((EndPoint.transf
orm.position-transform.position) * 10);
}

Al movimiento de los objetos hacia el punto final también se le ha añadido una


aceleración, para que a medida que avanza el juego estos objetos vayan cada
vez más rápidos y se añada algo de complicación al juego.

Finalmente, se les ha incluido un movimiento de rotación sobre si mismos que


se calcula aleatoriamente.

public class FloatingItem : MonoBehaviour


{
public float speed;

void Start()
{
speed = Random.Range(20, 40);
float direction = Random.Range(1, 10);
if (direction >= 5)
speed = speed * -1;
}

void Update()
{
transform.Rotate(Vector3.back * speed * Time.deltaTime); //
}
}

50
ETSIST de Telecomunicación Campus Sur UPM

4.2.6. Integración de audio

En el reto se han utilizado los siguientes clips de audio:

Sonido de fondo.
Sonido de acierto y error al atrapar una prenda de vestir o las pompas de
jabón respectivamente.

De la misma forma que en la misión, se han introducido los distintos sonidos


utilizando el componente AudioSource (Fig. 32). Para integrar la música de fondo
se ha añadido un GameObject con el componente Audio Source y se ha marcado
la opción Loop, para que este sonido de fondo se reproduzca sin interrupciones
durante toda la duración del reto.

Figura 32. Ventana de Jerarquía con componente AudioSource

En cuanto a los sonidos de acierto y error, estos se han introducido directamente


en el script que controla el cazamariposas con el que se tocan los objetos,
añadiéndoles y almacenándose en dos variables
(Fig. 33):

51
ETSIST de Telecomunicación Campus Sur UPM

Figura 33. Ventana de Jerarquía con componente AudioSource

De manera análoga a la misión, estos clips se invocan directamente desde el


propio script con la clase PlayOnShot, haciendo que en el momento en que se
detecta la colisión del cazamariposas con cualquiera de los objetos reproducirá
el sonido correspondiente de error o acierto.

if (collision.tag == "Success")
{
GameManagerChallenge.manager.AddPoint();
player.PlayOneShot(success);
}
else if (collision.tag == "Fail")
{
GameManagerChallenge.manager.RemovePoint();
GameManagerChallenge.manager.RemovePoint();
player.PlayOneShot(fail);
}

4.2.7. Integración de textos UI

En el reto se han incluido cuatro componentes UI para poder registrar la


puntuación y el tiempo restante mientras dura el juego.
Por un lado, para reflejar la puntuación durante la partida se han insertado dos
o que
almacena la puntuación que se va consiguiendo. Esta puntuación va cambiando
en función de las acciones que se sucedan durante el juego y se almacena en
esta viable de tipo texto en el script que gestiona los puntos.
De la misma manera, se ha incluido un contador del tiempo restante, añadiendo

En ambos casos y como se puede observar en la figura 34, se han fijado unas
anclas en las esquinas superiores izquierda y derecha.

52
ETSIST de Telecomunicación Campus Sur UPM

Figura 34. Canvas con componentes UI de texto

Las anclas son objetos que proporciona Unity para fijar la posición de los textos
insertados en el Canvas, y en caso de que el juego se ejecute en una pantalla
con distinta resolución, se mantendrá la posición fijada. Por ejemplo, para la

derecha (Fig. 35), pero se puede fijar en múltiples posiciones.

Figura 35. Ajustes de ancla

53
ETSIST de Telecomunicación Campus Sur UPM

54
ETSIST de Telecomunicación Campus Sur UPM

5. Resultados
Durante el desarrollo del videojuego ha sido posible ir realizando pruebas y
comprobaciones del correcto funcionamiento del juego gracias a la herramienta
Unity Remote, ya que no era necesario ir generando el APK cada vez que se
realizaba un cambio, de esta forma, y de manera general, se empezaron
realizando las primeras comprobaciones más simples y básicas, si los tamaños
de los objetos o su resolución eran adecuados para el correcto funcionamiento
del juego. Sobre las pruebas realizadas en la misión y el reto se hablará a
continuación.

Una vez finalizado el desarrollo del videojuego se genera el APK, un ejecutable


de aplicaciones para Android, para poder comprobar su correcto funcionamiento
en un dispositivo y realizar una serie de pruebas que verifiquen que los
resultados obtenidos durante su implementación eran correctos.

5.1. Resultados de la misión


Para verificar que el funcionamiento de la misión era el esperado se fueron
realizando varias comprobaciones a medida que se desarrollaban los scripts,
siendo las siguientes pruebas las más relevantes:

Hasta que se pulsa la pantalla no comienza el juego, y no es hasta este


momento que aparece la prenda y se escucha la palabra en inglés.
El objeto aparece correctamente en la posición indicada y sin retardo.
La palabra en inglés escuchada se corresponde con el objeto o prenda
que ha aparecido.
El personaje se mueve correctamente por toda la pantalla sin salirse de
los límites.
Cuando se selecciona la prenda esta se queda asociada al personaje
principal y se mueve con él.
Cuando se pulsa en la basura o en la mochila la prenda desaparece de la
mano del personaje.
Puntúa correctamente y reconoce si la prenda u objeto se ha clasificado
correctamente.
Los objetos se muestran de forma aleatoria y no se repiten las secuencias.
Si se completan los 10 intentos reconoce correctamente si se ha superado
o no la misión y muestra la pantalla de transición correcta.
Si se supera la misión se abre el reto.
Si no se supera la misión te permite volver a intentarlo.
Suena la música de fondo sin interrupciones.

55
ETSIST de Telecomunicación Campus Sur UPM

5.2. Resultados del reto


El diseño y desarrollo del reto se realizó en primer lugar, ya que su
implementación es más sencilla que la de la misión, sin embargo, se fueron
realizando comprobaciones continúas de la misma forma que en la misión. Las
pruebas más importantes fueron las siguientes:

El reto comienza automáticamente una vez superada la misión,


esperando unos segundos.
Los objetos salen flotando correctamente y se dirigen hacia el punto final
definido.
Salen todos los objetos y de todos los spawners de manera aleatoria.
El cazamariposas se mueve correctamente al punto pulsado en la pantalla
y sin retardo.
Al pulsar encima de una prenda esta desaparece de la pantalla.
El sistema de puntuación funciona correctamente.
Se resta puntos cuando se escapan prendas de vestir por la escotilla.
Se escuchan correctamente los sonidos de acierto y error al tocar una
prenda o una pompa respectivamente.
La música de fondo suena durante todo el reto.
La cuenta atrás funciona correctamente.
Cuando finaliza el tiempo aparece la pantalla final.

56
ETSIST de Telecomunicación Campus Sur UPM

6. Presupuesto
En este apartado se indicarán los costes necesarios para la realización de este
Proyecto Fin de Grado. Se tendrá en cuenta tres tipos de costes: material,
software y humano.

6.1. Coste material


Para el cálculo de los costes materiales se ha realizado una proporción entre el
precio del dispositivo utilizado en el momento de su adquisición, su vida útil y el
tiempo usado durante la realización del proyecto, en este caso, 9 meses. En la
siguiente tabla se muestra el coste total calculado.

Tabla 5. Coste material del proyecto

Tiempo de
Concepto Importe Vida útil Precio
uso
Portátil ASUS X555LJ 5 años 9 meses
SmartPhone Xiaomi MiA1 4 años 9 meses
Tableta Q6T10IN 4 años 9 meses
Disco duro 1TB 6 años 9 meses
Subtotal

6.2. Coste software


Los programas utilizados en la realización del proyecto han sido gratuitos, ya sea
porque son de licencia libre o porque se disponía de ella.

Por un lado, Office 365 está disponible para los estudiantes de la Universidad
Politécnica de Madrid, pudiendo descargarlo de forma totalmente gratuita desde
su Portal de Software. En cuanto a Unity, Visual Studio y GIMP se trata de
programas con licencia libre para uso particular, como es el caso. Por tanto, el

Tabla 6. Coste software del proyecto

Concepto Importe Tiempo de uso Precio


Unity 2020.3.15f2 9 meses
Unity Hub 9 meses
Visual Studio 2019 9 meses
Licencia Office 365 9 meses
GIMP 2.10.28 9 meses
Subtotal

57
ETSIST de Telecomunicación Campus Sur UPM

6.3. Coste humano


Para calcular el coste de la mano de obra necesaria para la realización de este
proyecto se han tenido en cuenta dos perfiles, el desarrollador y el diseñador.

El diseño de los diferentes escenarios y objetos lo realizaría un Diseñador


Artístico, cuyo sal
con un diseñador con algo más de experiencia, su salario mensual podría

diarias, el precio por hora estimado sería de 15

Para el desarrollo del juego se contaría con un Programador de videojuegos, que

Tabla 7. Coste humano del proyecto

Concepto Precio/Hora Horas trabajadas Precio


Desarrollador 200
Diseñador 25
Subtotal

6.4. Coste total


Teniendo en cuenta todos estos cálculos, el coste total de la realización de este
proyecto sería de 3.7

Tabla 8. Presupuesto total del proyecto

Concepto Precio
Costes materiales
Costes software
Costes humanos
TOTAL

58
ETSIST de Telecomunicación Campus Sur UPM

7. Conclusiones
En este proyecto se ha diseñado y desarrollado la misión y el reto

en Unity. Una vez finalizado dicho proyecto se puede concluir que el


resultado ha sido satisfactorio y se han cumplido los objetivos previamente
fijados.

Durante el desarrollo del proyecto se ha ido teniendo en cuenta que el diseño de


los escenarios y objetos cumpliera una estética que resultara amigable a los
niños y niñas de la última etapa de Educación infantil, además de cumplir con
unos requisitos de sostenibilidad y medioambiente. Además, cumple su
necesidad principal que es crear contenido didáctico para el aprendizaje de
vocabulario en inglés en este caso, de las prendas de vestir. También es
importante añadir que el juego se ha probado con éxito en distintos dispositivos
Android como smartphones y tablets.

Referente a las líneas futuras, hay que destacar que el juego es escalable y que,
en paralelo a este proyecto, se han estado realizando otras misiones y retos que,
sumados a los ya desarrollados el año anterior, formarán un videojuego
completo, por lo que en el futuro se deberán seguir desarrollando los minijuegos
restantes. También se ha comenzado con la implementación de una base de
datos [28] NoSQL orientada a documentos, que en el futuro almacenará los datos
de los jugadores y profesores además de un sistema de puntuación global que
guardará los avances de cada jugador y podrá ir acumulando los puntos
conseguidos para la adquisición de complementos y mejoras del juego.

Por último, hay que mencionar que se plantea realizar una prueba real del
funcionamiento del videojuego llevándolo a una clase y realizando un
seguimiento de la respuesta de los alumnos para verificar si efectivamente el
videojuego mejora su aprendizaje del vocabulario en inglés.

59
ETSIST de Telecomunicación Campus Sur UPM

60
ETSIST de Telecomunicación Campus Sur UPM

8. Referencias
[1] La gamificación como
estrategia didáctica .

[2] O. Boude Figueredo y E. Andrés Sosa Juego serio: modelo teórico para su
diseño y producción

[3] ¿Qué es el m-learning? iSpring Solutions, Inc. 2021. Disponible en:


https://www.ispring.es/blog/m-learning

[4] S. García-Bullé. "¿Qué es el m-learning? ¿Es una opción viable para la


educación del siglo XXI?". Observatorio de Innovación educativa, Tecnológico
de Monterrey, 2019. [En línea]. Disponible en: https://observatorio.tec.mx/edu-
news/que-es-mobile-learning

[5] ¿Qué es el m-learning? Ventajas y desventajas. Septiembre, 2021. [En


línea]. Disponible en: https://www.artline.es/que-es-el-m-learning-ventajas-y-
desventajas/

[6] Mayra Susana Albán Taipe


2017.

[7] ¿Qué son los juegos serios? Septiembre, 2018. [En línea]. Disponible en:
https://observatorio.tec.mx/edu-news/que-son-los-serious-
games#:~:text=Los%20Serious%20Games%20o%20%E2%80%9Cjuegos,%2C
%20ingenier%C3%ADa%20y%20pol%C3%ADtica%2C%20principalmente

[8] Idiomas en la red. Enero 2017. [En línea]. Disponible en:


https://es.statista.com/grafico/7736/la-mitad-del-contenido-de-internet-esta-en-
ingles/

[9] I. Cuadrado Argüelles, "Análisis y diseño de un Juego Serio para la etapa de


Educación Infantil", Trabajo fin de máster, Universidad Internacional de La
Rioja, España, 2021.

[10] F. Emanuela Jurcan, "Diseño y desarrollo de un videojuego en 2D para el


aprendizaje de inglés en la etapa de Educación Infantil", Proyecto Fin de
Grado, Universidad Politécnica de Madrid, España, 2021.

[11] K. Carrera Cuchapari, "Desarrollo de un juego serio en Unity para la etapa


de Educación Infantil", Proyecto Fin de Grado, Universidad Politécnica de
Madrid, España, 2021.

61
ETSIST de Telecomunicación Campus Sur UPM

[12] C. Garrido Corpa, "Juegos serios aplicados a la lengua inglesa en la etapa


infantil", Proyecto Fin de Grado, Universidad Politécnica de Madrid, España,
2021.

[13] PlayOnLoop, « PlayOnLoop» [En línea]. Disponible en:


https://www.playonloop.com/

[14] Audacity, «Audacity, editor de audio libre» [En línea]. Disponible en:
https://audacity.es/

[15] VoiceMaker, «Text to Speech Mp3 Converter Free Download» [En línea].
Disponible en: https://voicemaker.in/

[16] FreeSound, «FreeSound» [En línea]. Disponible en: https://freesound.org

[17] TTSMP3, «Free Text-To-Speech and Text-to-MP3 for US English» [En


línea]. Disponible en: https://ttsmp3.com/

[18] Unity, «Sprite Renderer» [En línea]. Disponible en:


https://docs.unity3d.com/es/530/Manual/class-
SpriteRenderer.html#:~:text=El%20componente%20Sprite%20Renderer%20le,
en%20escenas%202D%20y%203D

[19]Unity, «Canvas» [En línea]. Disponible en:


https://docs.unity3d.com/es/2019.4/Manual/UICanvas.html

[20]Unity, «Prefabs» [En línea]. Disponible en:


https://docs.unity3d.com/es/530/Manual/Prefabs.html

[21] Unity, «Box Collider 2D» [En línea]. Disponible en:


https://docs.unity3d.com/es/2019.4/Manual/class-BoxCollider2D.html

[22] Unity, «Rigidbody 2D». [En línea]. Disponible en:


https://docs.unity3d.com/es/2019.4/Manual/class-Rigidbody2D.html

[23] Unity, «Generación (spawning) de objetos». [En línea]. Disponible en:


https://docs.unity3d.com/es/2019.4/Manual/class-Rigidbody2D.html

[24] Unity, «Input de Dispositivo Móvil». [En línea]. Disponible en:


https://docs.unity3d.com/es/2018.4/Manual/MobileInput.html

[25] Unity, «AudioSource.PlayOneShot». [En línea]. Disponible en:


https://docs.unity3d.com/es/530/ScriptReference/AudioSource.PlayOneShot.ht
ml

[26] Unity, «Unity UI: Unity User Interface». [En línea]. Disponible en:
https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/index.html

62
ETSIST de Telecomunicación Campus Sur UPM

[27] R. Barba Prieto, "


en la etapa de educación infantil", Proyecto Fin de Grado, Universidad
Politécnica de Madrid, España, 2022.

[28] Á. Rangel Arranz Desarrollo de un videojuego educativo en Unity.


Implementación y almacenamiento de la base de datos
Grado, Universidad Politécnica de Madrid, España, 2022.

63

También podría gustarte