Documentos de Académico
Documentos de Profesional
Documentos de Cultura
A mi tutora Cristina Manresa por su ayuda y consejos y por convertir este proyecto en
una forma de vivir nuevas experiencias y de conocer gente apasionada por lo que hace.
A mis amigos con los que he recorrido esta etapa, porque no podría haber tenido
mejores compañeros de viaje.
Í NDICE GENERAL
Índice de cuadros ix
Índice de funciones xi
Acrónimos xiii
Resumen xv
1 Introducción 1
1.1 Marco del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Estructura del documento . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Conceptos relacionados 5
2.1 Discapacidad auditiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Sentido del ritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Juegos serios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.1 Sentido del ritmo en diversos videojuegos . . . . . . . . . . . . . 7
2.2.2 Videojuegos para personas con discapacidades auditivas . . . . 8
3 Metodología 11
3.1 Diseño centrado en el usuario . . . . . . . . . . . . . . . . . . . . . . . . . 11
iii
iv ÍNDICE GENERAL
5 Desarrollo e implementación 31
5.1 Herramientas de desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1.1 Unity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1.2 Monodevelop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.1.3 InkScape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.1.4 Sistema de control de versiones . . . . . . . . . . . . . . . . . . . 33
5.2 GameObjects y Scenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3 Animaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3.1 Personajes principales . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.3.2 Personajes secundarios . . . . . . . . . . . . . . . . . . . . . . . . 38
5.3.3 Elementos gráficos . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.4 Canvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.5 Física: Movimiento y gravedad . . . . . . . . . . . . . . . . . . . . . . . . 39
5.5.1 RigidBody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.5.2 Collider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.6 Prefabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.7 Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.8 Flujo del videojuego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7 Evaluación 55
7.1 Participantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.2 Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.3 Procedimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.4 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
9 Conclusiones 63
9.1 Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
9.2 Futuro trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
9.3 Opinión personal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
A Anexos 65
A.1 Fuentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
A.2 Acta de Reunión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
A.3 Póster IPT2017 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
A.4 Paper Interacción 2017 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
A.5 Paper Interacción 2017 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
A.6 Paper Interacción 2017 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
ÍNDICE GENERAL v
Bibliografía 73
Í NDICE DE FIGURAS
vii
viii Índice de figuras
ix
Í NDICE DE FUNCIONES
xi
A CRÓNIMOS
UI User Interface
xiii
R ESUMEN
xv
CAPÍTULO
1
I NTRODUCCIÓN
1
1. I NTRODUCCIÓN
Además de los sistemas desarrollados bajo este marco, los resultados que se esperan
obtener de este proyecto servirán tanto para mejorar la formación de los integrantes
como de experiencia en el diseño de sistemas interactivos accesibles.
1.2 Objetivos
El objetivo específico del proyecto de este TFG es diseñar y crear la base de un video-
juego serio en 2D para dispositivos móviles y tabletas con sistemas Android que ayude
a desarrollar la capacidad perceptiva del ritmo a niños con discapacidades auditivas.
Así pues, el proyecto Armonisia se enmarca en las experiencias interactivas en
educación, es decir, en el objetivo específico 3 comentado en el apartado anterior.
La idea principal es crear una primera versión base de la aplicación que pueda
ser expandida añadiéndole más niveles y funcionalidades a medida que se realizan
pruebas con usuarios. Por esta razón, la creación de la base del sistema interactivo
debe ser realizada de forma organizada y estructurada. El código debe ser modular, de
manera que la adición de un nuevo personaje o nivel no suponga una tarea dificultosa
sino que sea un proceso claro y simple.
Se debe crear también una documentación que incluya las explicaciones necesarias
para entender la dinámica del juego y los objetos que la conforman, así como un
manual de configuración para crear nuevos niveles.
2
1.3. Estructura del documento
3
CAPÍTULO
2
C ONCEPTOS RELACIONADOS
Este capítulo proporciona información básica y conceptos clave que definen el ámbito
del proyecto. Se explica el problema que se quiere tratar, las habilidades a potenciar,
los usuarios a los que está destinado y el sistema interactivo que se desarrolla para
conseguir el objetivo principal.
Las causas de este tipo de discapacidad pueden ser genéticas, congénitas o adquiri-
das, siendo la primera la más frecuente. Los niveles de pérdida de audición utilizados
para identificar una discapacidad auditiva se pueden observar en la tabla 2.1. La medi-
da utilizada son los decibelios, expresados con el símbolo dB, el cual expresa cuantas
veces más o cuántas veces menos y no una cantidad exacta.
1 Un implante coclear es un dispositivo médico electrónico que sustituye la función del oído interno
dañado. Al contrario que las prótesis auditivas, que amplifican el sonido, los implantes cocleares realizan
el trabajo de las partes dañadas del oído interno (cóclea) para proporcionar señales sonoras al cerebro.
Requiere una intervención quirúrgica.
2 Un audífono es un dispositivo electrónico que amplifica y modifica las señales sonoras para permitir
una mejor comunicación. Los audífonos reciben el sonido a través de un micrófono que convierte las
5
2. C ONCEPTOS RELACIONADOS
ondas sonoras en señales eléctricas. El amplificador modula las características de las señales y envía el
sonido al oído a través de un auricular. No requiere una intervención quirúrgica.
6
2.2. Juegos serios
1. Los creadores desean propiciar una experiencia divertida al usuario jugando con
sonidos y efectos visuales atractivos para él y acompañados de una historia o
narración que ayude a incrementar las ganas de jugar.
diseño como juego. Se refiere a todas las experiencias de un jugador durante la interacción con sistemas
de juegos.[6]
7
2. C ONCEPTOS RELACIONADOS
Videojuego Descripción
PaRappa the Rapper [7] Considerado uno de los primeros juegos de ritmo
modernos, PaRappa the Rapper sigue la historia de
un perro que quiere hacer rap. Para ello, el jugador
debe pulsar una combinación de botones según van
apareciendo en la pantalla y lograr que el personaje
pueda crear una canción.
Guitar Hero [8] Guitar Hero es una serie de videojuegos de música en
el que el usuario juega con un controlador en forma
de instrumento musical, como una guitarra o una
batería, para simular la interpretación de la música.
El objetivo es presionar los botones del controlador o
dispositivo en el momento exacto en el que las notas
se desplazan por la pantalla de juego.
Just Dance [9] Just Dance es una saga de videojuegos en la que el
usuario ha de realizar las coreografías de cada can-
ción siguiendo el ritmo marcado en la pantalla. La
forma de detectar los movimientos del usuario pue-
den ser a través de una alfombra en la que pisa el
jugador para marcar los pasos, o con un controlador
como el mando de una consola.
8
2.2. Juegos serios
9
2. C ONCEPTOS RELACIONADOS
10
CAPÍTULO
3
M ETODOLOGÍA
11
3. M ETODOLOGÍA
12
CAPÍTULO
4
P ROCESO DE DISEÑO DEL VIDEOJUEGO
En este capítulo se explica el análisis y proceso de diseño seguido para dar forma
al proyecto. Se tratan los aspectos gráficos principales del juego, la creación de los
personajes, los elementos auditivos y la jugabilidad de los niveles según los requisitos
de usuarios obtenidos gracias a la comunicación con ASPAS.
13
4. P ROCESO DE DISEÑO DEL VIDEOJUEGO
4.2.2 Storyline
La historia de Armonisia está pensada con el fin de crear expectación e interés en los
niños que jueguen de forma que se vean inmersos en una historia y se entusiasmen
con la meta a conseguir. La historia se irá desarrollando con pequeñas animaciones
antes de cada nivel donde el/la protagonista mantiene una conversación con diversos
personajes que darán un sentido al objetivo de cada uno de los niveles.
La historia está protagonizada por un niño o niña (el género y nombre es de libre
elección por parte del jugador), el cual se caracteriza por utilizar un implante coclear.
En su aventura conoce a un pequeño dragón que le acompaña y juntos deben superar
los objetivos de la historia mientras son controlados por el jugador.
El desarrollo del videojuego se lleva a cabo en un reino mágico en el que nuestro/a
protagonista entra después de haber sido tragado por un misterioso libro que encuentra
en su casa. Una vez allí, sorprendido del lugar donde se encuentra, se da cuenta de
que todo a su alrededor parece triste y con poco color: las flores están secas, no hay
rastro del sol y el bosque donde se encuentra está apagado. En ese mismo lugar aparece
un elfo vestido de verde y el protagonista decide preguntarle dónde está, la respuesta
no tarda en llegar: "Te encuentras en el reino de Armonisia, aunque ya no parece el
mismo". Cuando el protagonista pregunta a qué se refiere con eso último, el pequeño
ser le contesta que desde hacía un tiempo todo el reino había perdido la alegría y la
magia que lo rodeaban, pues inesperadamente el rey había desaparecido y el ritmo se
había ido por completo de sus tierras: Los habitantes ya no podían tocar instrumentos,
el tiempo cambiaba descontrolado en todo momento porque el reloj no seguía el
mismo compás que antes, el mar no tenía olas... Y todo lo que se conseguía con ritmo
14
4.2. Diseño gráfico
había perdido su movimiento o forma de ser, pero sabía que él/ella era la persona que
estaban esperando para poder solucionarlo.
Angustiado por no creer ser capaz de ayudarlos, el elfo insiste en que el niño/niña
sabrá cómo hacerlo y le presenta a su compañero de aventuras: Rytmus, un pequeño
dragón que, contento y juguetón, comienza a volar alrededor de ellos. Finalmente el/la
protagonista decide ayudar con lo que pueda y el elfo se marcha deseándole buena
suerte y despidiéndose con su nombre, creando aún más misterio.
El primer nivel se centra en el personaje de Rytmus, después de que el/la protagonis-
ta le indique el camino para comenzar su aventura. Está diseñado para que el usuario
obtenga experiencia y aprenda como utilizar y jugar con el sistema interactivo. Después
de superarlo, el segundo nivel presenta una animación donde ambos personajes se
encuentran en un lugar oscuro y tenebroso, donde un chico calabaza les sorprende
al aparecer corriendo. A pesar del susto inicial, descubren que el misterioso ser es un
viejo conocido de Rytmus y acaba por indicarles cómo llegar al castillo del rey Compás,
no sin antes advertirle de que deben esquivar a Cerebrín, un zombie nada amistoso
desde que el ritmo ha desaparecido del reino.
Después de superar el segundo nivel, los protagonistas se encuentran en un lugar
caluroso y desértico, en el cual aparece un orco acusándoles de no encontrar sus
diamantes. Una vez que el/la protagonista convence al monstruo verde de que ellos no
tienen nada que ver, hacen un trato: Ellos le ayudarán a recoger todos los diamantes si
a cambio el orco les indica cómo llegar al castillo, pues no sabían por dónde seguir. El
ser de color verde nunca ha salido de la zona arenosa del reino, pero asegura conocer a
alguien que sabe cómo llegar a cualquier parte de Armonisia.
El cuarto nivel presenta a los protagonistas en un escenario completamente diferen-
te, el lugar es frío y nevado, y la figura que se presenta ante ellos no es nada más y nada
menos que el mismo Santa Claus, quien esperaba su llegada, pues él era el conocido
del que el orco hablaba. Santa Claus quiere ayudar a ambos personajes a llegar hasta el
castillo, pero todos los regalos que tenía que llevar parecen haber cobrado vida propia
y han escapado de su trineo. El niño/a y Rytmus deciden ayudar a Santa Claus sin
ninguna duda.
15
4. P ROCESO DE DISEÑO DEL VIDEOJUEGO
Nº Requisito Descripción
El juego estará desarrollado para dispositivos móviles y tabletas
RNF-1
con sistemas operativo Android.
La interfaz gráfica será atractiva y fácil de utilizar para el grupo
RF-8 de usuarios objetivo. Se tendrá que tener en cuenta la edad de
los usuarios y crear una interfaz llamativa.
16
4.4. Interfaz gráfica de usuario
Nº Requisito Descripción
El juego presentará diferentes patrones rítmicos con diferen-
tes señales visuales y auditivas que pueden ir aumentando su
dificultad. El sonido se ha agregado para aquellos jugadores
que tengan alguna capacidad auditiva. El juego presentará dife-
rentes niveles comenzando con ritmos fáciles y aumentando la
RF-1 complejidad a medida que se van superando. En cada uno de
los niveles habrá una base musical que sonará continuamente y
el jugador deberá encajar los objetos que caen sobre las esferas
de colores. Los objetos caerán siguiendo un patrón rítmico defi-
nido y cada una de las esferas o botones de colores tendrán un
sonido asociado.
El usuario deberá ser capaz de escoger el personaje protagonista
RF-2
en versión femenina o masculina.
El sistema interactivo registrará información y datos sobre la
puntuación obtenida por el usuario en cada nivel para después
RF-3
poder crear un reporte que sea accesible para los terapeutas o
educadores.
El juego tendrá un menú de configuración principal que permita
RF-4
activar y desactivar la música y los sonidos al pulsar botones.
Cada nivel tendrá su propio menú de configuración que per-
RF-5 mita modificar el volumen de la base musical y de las notas en
cualquier momento de ejecución del nivel.
Cada nivel contendrá una escena inicial que continúe la historia
RF-6 del juego y le de un sentido a dicho nivel con el fin de entretener
al usuario.
Cada nivel contendrá elementos que muestren al jugador el
RF-7
progreso o puntuación que llevan en tiempo real.
17
4. P ROCESO DE DISEÑO DEL VIDEOJUEGO
Los colores principales utilizados para dicha interfaz son las diferentes tonalidades
de verde y un color marrón que simula la textura de la madera.
4.4.2 Personajes
La creación de los personajes de este proyecto se pueden dividir en personajes princi-
pales y personajes secundarios. Los primeros, haciendo referencia al pequeño dragón
Rytmus y al personaje protagonista tanto femenino como masculino, han sido diseña-
dos y creados desde cero, mientras que los personajes secundarios se han obtenido de
diversos bancos de gráficos para juegos 2D.
Principales
Los personajes principales fueron diseñados desde cero con el fin de crear empatía con
los usuarios finales del juego. El personaje principal tiene tanto una versión masculina
como una versión femenina, y ambos son caracterizados por llevar un implante coclear.
Cabe mencionar que existen diferentes implantes, audífonos o prótesis en el mercado y
que son utilizadas por niños con diferentes discapacidades auditivas, pero se ha optado
por una versión simple y clara que pueda representar de forma general este tipo de
dispositivos médicos, tal y como se muestra en la Fig. 4.2.
De esta manera, los niños que jueguen con Armonisia podrán escoger el personaje
y sentirse reflejados en el héroe o heroína de la historia.
El primer paso fue crear los bocetos a mano de ambas versiones y utilizar los trazos
del cuerpo como guía para un posterior diseño a ordenador. El programa utilizado
para dar forma y color fue el editor de gráficos vectoriales Inkscape. Cada uno de los
personajes fue divido en partes del cuerpo, facilitando así el dibujo y permitiendo crear
posteriormente sus animaciones y movimientos con el motor de Unity. Así pues, como
se observa en la Fig. 4.3, los dibujos de ambos personajes se basaron en: Brazos, manos,
piernas, pies, tronco y cabeza (incluyendo las versiones de gesto feliz, gesto dormido,
gesto sorprendido y gesto de dolor). En el caso de la versión femenina, se dibujó una de
las coletas separada de la cabeza con el objetivo de dar más movimiento y realismo a la
animación.
En la Fig. 4.4, se puede observar la diferencia entre los primeros bocetos a mano y
el dibujo final de los personajes con las partes del cuerpo ya unidas.
18
4.4. Interfaz gráfica de usuario
Figura 4.3: Gráfico por partes del cuerpo del protagonista en versión masculina y
femenina.
Figura 4.4: Esbozos y gráficos finales de la versión masculina y femenina del protago-
nista.
De la misma forma que se trabajó con ambas versiones del protagonista, el perso-
naje de Rytmus fue dibujado a mano para después tratarlo gráficamente por ordenador.
En la Fig. 4.5 se puede visualizar tanto el esbozo inicial como el gráfico final por partes
del cuerpo (cabeza y sus múltiples gestos, cola, versiones de cuerpo, piernas, brazos,
cola y llamarada que será utilizada en las animaciones).
Secundarios
Los personajes secundarios se han obtenido de diferentes fuentes web que ofrecían los
gráficos de forma gratuita. Los personajes utilizados han sido los siguientes: elfo, chico
calabaza, zombie, orco y Santa Claus.
Por un lado, el gráfico del elfo se ha obtenido por partes del cuerpo, de la misma
manera que se han creado los personajes principales. Por esta razón, la animación y
movimiento del personaje sí que ha sido creación propia. Para este caso se han creado
tres animaciones: estado de reposo, personaje hablando y personaje caminando.
Por otro lado, los personajes restantes han sido obtenidos de forma diferente, pues
sus gráficos no estaban separados por partes del cuerpo, sino que se han creado un
gran número de gráficos del cuerpo entero (como el de la Fig. 4.6) por cada animación
que realizaba. De esta manera, para una sola animación puede existir, por ejemplo, 8
19
4. P ROCESO DE DISEÑO DEL VIDEOJUEGO
gráficos del personaje que al ir pasando de uno a otro a gran velocidad, se crea el efecto
de movimiento.
Figura 4.6: Gráficos del personaje zombie utilizados para crear la animación de ataque.
4.4.3 Niveles
A continuación, se detalla la estructura general de los niveles del videojuego y se presen-
tan los diferentes niveles y su temática. Para la realización del TFG se han implementado
los cuatro primeros niveles del videojuego, los cuales funcionan como concepto del
juego final y sirven a la hora de realizar las pruebas con el grupo de usuarios objetivo.
En la Fig. 4.7 podemos observar un esquema de los niveles creados hasta el momento.
20
4.4. Interfaz gráfica de usuario
Estructura general
Siguiendo el esbozo ilustrado en el apartado 3.2.3, cada uno de los niveles cuenta con
uno de los personajes en pantalla y el llamado pentagrama que representa la sección
de los botones de colores y los objetos que caen o se mueven sobre ellos. Además, cada
nivel cuenta con una barra de progreso que muestra la puntuación en cifras hasta el
momento y proporciona información rápida de cómo se va avanzado. También cuenta
con un contador de notas, donde se muestra la cantidad de aciertos en relación al
número total de notas que hay en cada nivel.
Para posibilitar la configuración del volumen de la música de fondo, los sonidos de
los botones y la capacidad de volver al menú inicial o reiniciar el nivel, se presenta en
cada nivel un botón de configuración que activa el menú correspondiente y pausa la
partida actual. Además, cada nivel incluye una cuenta atrás de tres segundos tras la cual
se inicia la música para que de tiempo al usuario a situarse sobre la pantalla. También
existe un texto de bonus sobre el pentagrama musical que aparece cada vez que el
jugador acierte una cierta cantidad de notas seguidas, haciendo que las puntuaciones
de cada nota acertada a partir de ese momento se multiplique por el número que ha
marcado el bonus. Cuanto más notas seguidas se acierten, más grande será el bonus
(x2, x3 y x4).
La puntuación estándar obtenida por cada nota acertada es de 100 puntos, por lo
que al conseguir un bonus, cada nota puede llegar a valer 200, 300 y hasta 400 puntos.
En el momento en que el usuario falle una de las notas, la bonificación extra por cada
nota se pierde y cada acierto vuelve a sumar 100 puntos hasta que se vuelva a conseguir
otro bonus.
Así pues, no se obtiene el mismo resultado si un jugador falla, por ejemplo, cinco
notas que caen seguidas o cinco notas aleatorias del patrón musical. Con este sistema
de puntuación se quiere motivar aún más al usuario mostrando las bonificaciones
extras que consigue con la continuidad de aciertos.
En los siguientes apartados se explica con detalle la estructura de cada uno de los
niveles y la puntuación máxima que se puede obtener en cada uno de ellos.
Sky Level
El primer nivel fue el más complicado de implementar, pero sirvió como modelo para
los demás niveles una vez que estaba casi finalizado.
La temática del primer nivel se basa en una melodía simple y alegre sobre la cual
Rytmus vuela sobre el cielo. Los objetos que representan las notas son gotas de agua
que simulan caer del cielo sobre el cual el pequeño dragón vuela (Fig. 4.8). Cada vez
que se consiga llegar a un bonus por acertar ininterrumpidamente las notas, Rytmus
cambiará de animación para continuar volando mientras hecha una llamarada por su
boca. En el caso de que el usuario falle las notas, el dragón sacará humo disgustado.
El pentagrama consta de cinco notas musicales ordenadas de derecha a izquierda,
siendo las primeras las más graves. Las notas, en este caso las gotas de agua, son un
total de 41 y caen de arriba hacia abajo a una velocidad estándar. La mayor puntuación
que se puede obtener en el nivel es de 11600 puntos.
21
4. P ROCESO DE DISEÑO DEL VIDEOJUEGO
Figura 4.8: Capturas de la animación y pantalla de juego del nivel Sky Level.
Cemetery Level
22
4.4. Interfaz gráfica de usuario
Figura 4.9: Capturas de la animación y pantalla de juego del nivel Cemetery Level.
West Level
El tercer nivel gira entorno al estilo del desierto del Oeste. La música de fondo es
de género Western, mientras que el sonido de las notas pertenece a una guitarra. En
este caso, el pentagrama musical está conformado por seis notas y los objetos que las
representan son unas esmeraldas que siguen un movimiento de derecha a izquierda en
la pantalla.En la animación introductoria se presenta el personaje de un orco verde,
mientras que en la escena de juego aparece el/la protagonista del videojuego (Fig. 4.10).
Tanto en la versión femenina como en la versión masculina, el protagonista dará
un salto cuando se consigan bonus por acertar notas seguidas, y recreará cara de dolor
y estrellas a su alrededor cuando el jugador las falle.
La dificultad del nivel ambientado en el desierto viene dada por el patrón de las
notas musicales que aparecen de manera más seguida. Además, la existencia de seis
círculos de colores en el pentagrama posibilita que el patrón musical tenga saltos de
extremo a extremo entre notas, es decir, puede pasar una nota por uno de los extremos
del pentagrama y la siguiente por el extremo contrario, haciendo que el desplazamiento
del dedo del usuario tenga que ser mayor.
El número total de notas en este nivel es de 50, mientras que la puntuación máxima
que se puede obtener es de 15200 puntos.
23
4. P ROCESO DE DISEÑO DEL VIDEOJUEGO
Figura 4.10: Capturas de la animación y pantalla de juego del nivel West Level.
Christmas Level
El cuarto nivel sigue una temática navideña, donde el personaje principal tanto de la
animación como de la pantalla del juego es Santa Claus (Fig. 4.11). La música de fondo
sigue una melodía inspirada en los villancicos, mientras que el sonido de las notas se
representa con un sample electrónico1 .
Santa Claus dará un salto cada vez que se consiga un bonus por acertar notas
seguidas, mientras que cuando se fallen, la animación será la del personaje cayéndose.
El pentagrama está formado por cinco sonidos de notas diferentes que caen de
arriba a abajo, las cuales están representadas por paquetes de regalo. En total el nivel
contiene 75 notas, y la puntuación máxima posible a obtener es de 26700 puntos.
La dificultad del nivel se basa en la velocidad aumentada de las notas al caer sobre
los círculos de color. También aumenta la complicación la gran cantidad de notas que
aparecen, lo que supone que el usuario ha de estar más cantidad de tiempo concentrado
y en movimiento que en el resto de niveles.
1 Muestra de un sonido grabado en cualquier tipo de soporte para reutilizarla posteriormente como
24
4.4. Interfaz gráfica de usuario
Figura 4.11: Capturas de la animación y pantalla de juego del nivel Christmas Level.
Inicio
La pantalla de inicio (Fig. 4.12) de Armonisia muestra el título del videojuego y dispone
de cuatro botones. Los dos principales y situados en el centro tienen las funcionalidades
principales: El botón para comenzar a jugar y el botón para visualizar las puntuaciones
de cada nivel. En la esquina inferior derecha se encuentran dos botones de menor
tamaño, uno encargado de visualizar el menú de opciones y el otro de mostrar la
pantalla de información sobre el juego.
Menú de opciones
El menú de opciones al que se puede acceder desde la pantalla inicial o desde el mapa
de niveles se puede observar en la Fig. 4.13. Las funcionalidades implementadas en
dicho menú posibilitan al usuario activar o desactivar tanto la música ambiente que
25
4. P ROCESO DE DISEÑO DEL VIDEOJUEGO
existe en las pantallas que no son niveles, como los sonidos que suenan cuando se
pulsa un botón.
Las banderas que se encuentran en la parte inferior pretenden ser botones para
cambiar el idioma del videojuego. No obstante, hasta la realización de este TFG no se
ha implementado el cambio de idioma, sino que se ha preparado el diseño gráfico que
tendría para el usuario. Cada bandera sería un botón y destacaría en mayor tamaño y
con más iluminación el idioma seleccionado, como lo hace en este caso el castellano. En
la esquina inferior izquierda se encuentra un botón para cerrar la pantalla de opciones
y volver a la pantalla inicial.
Información
26
4.4. Interfaz gráfica de usuario
Mapa de niveles
En el momento de jugar por primera vez con Armonisia e iniciar el nivel uno, se le
solicita al usuario que escoja uno de los personajes principales posibles (versión feme-
nina o masculina), para después mostrar un input donde se puede indicar el nombre
27
4. P ROCESO DE DISEÑO DEL VIDEOJUEGO
que el jugador desea que represente a dicho personaje (Fig. 4.16). La primera pantalla
contiene un botón derecho e izquierdo para ir cambiando de personaje, mientras que
la segunda simplemente muestra el botón para comenzar el juego que se activa una
vez se haya introducido el nombre.
Figura 4.16: Pantallas de configuración al jugar por primera vez con Armonisia.
Cada vez que se finalice uno de los niveles, aparece una pantalla que muestra la puntua-
ción obtenida e indica al usuario si ha superado el nivel o no. Esta escena puede ser de
dos tipos diferentes (Fig. 4.17), una versión cuando el nivel se ha superado y por lo tanto
aparece el personaje feliz y se obtienen las estrellas acorde a los puntos conseguidos,
y una versión cuando el nivel no ha sido superado y se muestra al personaje con un
gesto de derrota. En el primer caso, la pantalla cuenta con un botón de continuar que
devuelve al usuario al mapa de niveles, mientras que el segundo caso, se presentan dos
opciones: volver al menú principal o repetir el nivel.
Puntuación
La pantalla de reporte (Fig. 4.18) muestra las puntuaciones obtenidas en cada uno de
los niveles que se han superado. La información de la que dispone el usuario sobre
cada nivel se enumera a continuación:
28
4.4. Interfaz gráfica de usuario
Figura 4.17: Pantalla de fin de nivel en sus dos versiones: Nivel superado y nivel no
superado.
29
4. P ROCESO DE DISEÑO DEL VIDEOJUEGO
"Pienso, y piensan los productores de los juegos, que la música es mucho más importante
en el videojuego que en el cine, porque hace que te creas aun más la historia, los gráficos
y los personajes." - Óscar Araujo.
Así pues, tanto la música base como los sonidos de ritmo están creados especial-
mente para cada uno de los niveles, de forma que la armonía y la tonalidad de las notas
complementan el contexto en el que se encuentra dicho nivel. Tanto las canciones de
base, como los sonidos de ritmo y la canción principal del juego que se han utilizado en
el menú y pantallas de configuración o de información, han sido compuestas y creadas
por Carlos Tenorio Pérez.
30
CAPÍTULO
5
D ESARROLLO E IMPLEMENTACIÓN
En este capítulo se tratan los aspectos técnicos y la estructura del proyecto. Así mismo,
se explican las tecnologías y herramientas utilizadas y las razones de su uso. Por último,
se establece el flujo normal que sigue un usuario por las pantallas de Armonisia.
5.1.1 Unity
Al investigar qué herramienta utilizar como motor de videojuego para el desarrollo
de Armonisia, destacaban dos tecnologías: Unity y Cocos2D. Después de leer varias
comparativas la decisión final fue la de utilizar Unity, y en esta sección se explicarán las
razones y la estructura que tiene dicho motor.
31
5. D ESARROLLO E IMPLEMENTACIÓN
realizado videojuegos muy conocidos a día de hoy, tales como Flat Kingdom o Angry
Birds 2 [18]. La ventaja de Cocos2D es que es totalmente gratuito en todas sus versiones
y de código libre, pero la opción gratuita de Unity incluía todas las funcionalidades
necesarias para este proyecto.
Las principales ventajas que ofrece éste motor de videojuegos frente a Cocos2D se
citan a continuación:
• Tienda online que contiene recursos (materiales, efectos, scripts...) creados por
otros desarrolladores, tanto gratuitos como de pago, que pueden ayudar rápida-
mente al desarrollo de ciertas funciones o diseños [20].
Estructura
Los proyectos realizados con Unity se basan en el uso de paquetes de recursos, normal-
mente conocidos como Assets. Dichos paquetes contienen los recursos necesarios para
el desarrollador, como animaciones, efectos y materiales entre otros.
En el caso del proyecto Armonisia, la estructura general del proyecto es la siguiente:
• Backgrounds: Contiene los fondos utilizados en cada una de las pantallas del
videojuego. Algunos contienen un efecto de movimiento llamado Parallax, se
trata de una imagen en movimiento a una velocidad diferente al fondo que la
contiene. De esta manera, si uno de los personajes tiene una animación donde
mueve las piernas pero siempre se mantiene en el mismo punto del eje X, el
movimiento del fondo produce la sensación de avance del personaje.
• Fonts: Contiene las fuentes utilizadas para los textos del videojuego.
• Music: Contiene todas las canciones y efectos de sonido del videojuego, ya sean
bases musicales o el sonido al pulsar uno de los botones.
32
5.1. Herramientas de desarrollo
• Scenes: Las escenas de un proyecto contienen los objetos del videojuego. A nivel
visual se pueden interpretar como las diferentes pantallas que ven los usuarios,
como el menú principal, cada uno de los niveles, la pantalla de puntuación, etc.
• Scripts: Los scripts contienen el código que permite accionar los eventos del
videojuego, modificar componentes de los objetos y responder a las interacciones
del usuario con el videojuego.
• Sprites: Los sprites son objetos gráficos 2D. Es decir, son todas las imágenes
utilizadas para crear gráficamente los objetos en Unity, como sean las partes del
cuerpo de los personajes principales, los botones o las ventanas.
5.1.2 Monodevelop
El entorno de desarrollo integrado o Integrated Development Environment (IDE) utili-
zado ha sido Monodevelop, proporcionado con Unity. Es libre y gratuito, y proporciona
las operaciones básicas de un editor de texto con características adicionales para depu-
rar y gestionar tareas sobre el proyecto.
El entorno fue diseñado especialmente para los lenguajes de programación C#,
Boo, Java o Python. Para el desarrollo de este proyecto, se ha utilizado el lenguaje de C#
debido a la facilidad de comprensión que suponía y por ser el lenguaje más utilizado
por los usuarios de Unity.
5.1.3 InkScape
Para la realización de los gráficos de los personajes principales y de Rytmus, así como
para las ediciones de elementos como botones o ventanas, se ha utilizado la herramien-
ta gratuita y de código libre Inkscape. Se trata de un editor de gráficos vectoriales que
permite crear todo tipo de ilustraciones complejas. Es muy utilizado por los usuarios
que buscan programas open source1 .
derechos que normalmente son exclusivos para quienes poseen los derechos de autor, son publicados
bajo una licencia de código abierto o forman parte del dominio público.
33
5. D ESARROLLO E IMPLEMENTACIÓN
5.3 Animaciones
La creación de animaciones en Unity se realiza con el sistema de animación Mecanim,
principalmente utilizada para la animación humanoide retargetint 2 , que tienen capaci-
dad para animar diferentes elementos incluyendo objetos, personajes y propiedades.
Las animaciones se basan en el concepto de clips de animación que contienen las
instrucciones para modificar posiciones, rotaciones, imagen y otras propiedades en un
espacio de tiempo determinado. Cada uno de los clips representa, por ejemplo, uno
de los movimientos de un personaje como respirar, balancearse o saltar. Todos estos
clips se organizan y complementan en una estructura llamada Animator Controller,
una maquina de estados que controla qué clip se debe reproducir en cada momento
según los parámetros y condiciones marcadas por el desarrollador. Dichas condiciones
pueden ir cambiando en tiempo de ejecución del videojuego por medio de los scripts,
creando así los diferentes movimientos que tiene, por ejemplo, un personaje en un
2 Habilidad para aplicar animaciones del modelo de un personaje a otro.
34
5.3. Animaciones
juego de plataformas al ir corriendo y luego hacer un salto debido a una acción del
usuario.
A continuación se explicarán las diferentes animaciones que se crearon para los
personajes principales, así como sus máquinas de estados.
2. Animations Clips: Los diferentes clips que pueden ser importados de un progra-
ma externo o, como en este, creados con la línea de tiempo y la modificación de
tamaño y posición de las diferentes partes del personaje.
35
5. D ESARROLLO E IMPLEMENTACIÓN
Protagonista
Tanto la versión femenina como la masculina del protagonista del videojuego realizan
las mismas animaciones y, por lo tanto, tienen una máquina de estados idéntica, la cual
se puede observar con más detalle en la Fig. 5.3.
La animación de inicio marcada como ’Stand’, hace referencia al estado de reposo
del personaje, es decir, un movimiento que simula la respiración a base de mover la
parte troncal del cuerpo y los brazos de arriba abajo mientras que las piernas y pies se
mantienen en la misma posición. A partir de este estado, se puede cambiar a cualquiera
de los otros cuatro clips. El marcado como ’Jump’ simula un salto corto y de alegría
del personaje, levantando un brazo hacia arriba y flexionando la pierna derecha. La
animación ’Run’ simula el movimiento de piernas y brazos al correr, pero el personaje
siempre se sitúa en el mismo punto del eje X, ya que la ilusión de que se desplaza por
un escenario se crea con el movimiento del fondo (Parallax). El clip ’Hit’ simula que el
personaje ha recibido un golpe o que está desorientado con un cambio de la expresión
facial y un movimiento de cabeza ligero mientras unas estrellas la rodean. Por último,
la animación ’Talking’ es una versión muy similar a la de ’Stand’, en la que se añade un
suave movimiento de brazos y manos, y el efecto de la boca abriéndose y cerrándose
para que de la sensación de que el personaje está manteniendo una conversación.
Para moverse de un estado a otro, se ha hecho uso de variables booleanas que
controlan el movimiento del personaje y que se van cambiando en el juego a nivel
de código según la parte de la conversación en la que se encuentre o si el jugador ha
acertado o no las notas de los diferentes niveles.
En el caso del personaje de Rytmus, las animaciones creadas fueron muy similares
pero con el factor de que el personaje podía realizar las diferentes acciones en dos
versiones: de pie y en vuelo. Por lo tanto, como se observa en la Fig. 5.4, la máquina de
estados contiene más cantidad de clips.
36
5.3. Animaciones
37
5. D ESARROLLO E IMPLEMENTACIÓN
Los botones utilizados en las diferentes pantallas de videojuego tienen el efecto de una
leve expansión, de forma que aumenta y disminuye su tamaño de manera constante.
5.4 Canvas
En Unity se pueden crear GameObjects que tengan por defecto un componente Canvas
adjuntado. Dicho objeto Canvas es el área donde deben situarse todos los elementos
User Interface (UI) (botones, texto, imágenes...) como objetos hijos. Todos estos ele-
mentos UI se pintan en el mismo orden que en la jerarquía, es decir, el primer hijo será
el elemento que se pinte primero y así sucesivamente.
38
5.5. Física: Movimiento y gravedad
5.5.1 RigidBody
El comportamiento físico de cualquier objeto en Unity se realiza adjuntando el compo-
nente RigidBody, el cual le otorga la propiedad de ser afectado por la gravedad. Así pues,
un objeto no se encuentra de forma estática en la escena de juego, sino que, según los
parámetros establecidos, cae a una velocidad u otra.
Debido a que un RigidBody controla el movimiento de un objeto según su gravedad,
no debería cambiarse la posición mediante Transform a un objeto que contiene ambos
componentes. Según el papel que deba jugar dicho objeto en la escena del juego, deberá
tenerse en cuenta cuando utilizar uno u otro.
En el caso de Armonisia, las animaciones de los personajes principales y secun-
darios no cuentan con el componente de RigidBody, ya que no se ven afectados por
ningún tipo de gravedad y no tienen que interactuar con otros objetos sobre la escena
de juego. Este tipo de movimiento se conoce como kinematic o cinemática3 , ya que es
una actividad no física. Por lo tanto, el control del movimiento de estos objetos solo
tienen en cuenta los cambios de parámetros del Transform que se realizan desde el
código de los scripts.
No obstante, no sucede lo mismo con las notas que se mueven sobre el pentagrama
y que deben caer o pasar sobre los círculos de colores. Los diferentes objetos que las
representan contienen un RigidBody con una gravedad establecida a 0 y una veloci-
dad cambiante según el nivel en que se encuentren. Estos valores permiten que las
notas no caigan directamente al iniciar el nivel, sino que se muevan a una velocidad
predeterminada.
5.5.2 Collider
La colisión física entre objetos se controla con el componente Collider. El Collider de
un objeto es invisible y puede, o no, tener la misma forma que el GameObject al que
se le adjunta. Este componente puede ser visualizado en la Fig. 5.5, representado por
un contorno de color verde que rodea a los objetos y que es el encargado de detectar
colisiones con otros colliders de la escena.
Existen diferentes tipos de Collider, entre ellos los llamados primitivos (Box Collider
2D y Circle Colldier 2D) que tienen una forma preestablecida y que a menudo se pueden
aproximar a la forma de un objeto de forma bastante precisa y a la vez mantener una
sobrecarga del procesador baja. No obstante, para objetos con formas más concretas se
3 La cinemática es la rama de la física que describe el movimiento de los objetos sólidos sin considerar
las causas que lo originan (las fuerzas) y se limita, principalmente, al estudio de la trayectoria en función
del tiempo.
39
5. D ESARROLLO E IMPLEMENTACIÓN
pueden crear colliders definidos por el desarrollador con la única desventaja de que son
más intensivos para el procesador. Debido a la forma de los objetos de este proyecto
que contienen este componente, se ha optado por utilizar colliders primitivos.
Figura 5.5: Colliders sobre los objetos que conforman el pentagrama de los niveles.
Los colliders pueden ser agregados a objetos sin la necesidad de que haya un
RigidBody. Este es el caso de los círculos de colores ya que no tienen ningún movimiento
pero necesitan saber cuándo ha colisionado otro objeto con ellos. Dicho Collider
es conocido como ’Static Collider’, donde el motor de física asume que el objeto al
que está adjuntado nunca se moverá o cambiará y puede, por lo tanto, hacer uso de
optimizaciones basadas en este conocimiento.
La colisión de dos objetos se activa cuando uno de los colliders hace contacto con el
otro. Hay que tener en cuenta que uno de ellos ha de tener la opción ’Is Trigger’ activada
para poder detectar dicha colisión y poder responder de determinada forma desde el
código de los scripts.
Para detectar que una de las notas ha pasado por uno de los círculos de colores,
estos últimos contienen el trigger activado y hacen uso de la función ’OnTriggerEnter2D’
de su script adjunto para responder a dicho comportamiento. Cuando la colisión está
activa, se comprueba si la nota ha sido pulsada por el usuario y se elimina. En caso
que la nota se pulse cuando la colisión no está activa, el estado será el mismo y no se
destruirá la nota, sino que seguirá su movimiento habitual hasta salir de la escena.
Con el fin de optimizar el juego y evitar que las notas que no sean acertadas sigan
moviéndose fuera de la pantalla del dispositivo del usuario, se ha creado un GameObject
con un componente Collider para destruirlas una vez que interaccionen. Dicho objeto
llamado ’Destroyer’, se ha situado siempre fuera de la cámara de las escenas para que la
eliminación de las notas no sea visible para el jugador. Concretamente, se ha localizado
en forma de rectángulo después de que finalizara el pentagrama de cada nivel, como se
puede observar en el ejemplo del nivel 4 en la Fig. 5.6.
40
5.6. Prefabs
Figura 5.6: GameObject encargado de destruir las notas que no han sido acertadas.
5.6 Prefabs
Cada uno de los GameObjects que se crean en Unity tienen unos componentes y
propiedades determinados. Esto proporciona flexibilidad en cuanto al comportamiento
de los objetos, pero puede suponer trabajo extra si se hace uso de elementos que han
de funcionar de la misma forma y cuando haya un cambio tener que editarlos uno a
uno. Es por esta razón que existe el asset llamado ’Prefab’, el cual permite almacenar un
objeto con sus propiedades y componentes y después utilizarlo como plantilla para
crear nuevas instancias de este mismo objeto. Cualquier cambio que se realice en una
de las instancias puede ser reflejado o no en las otras con un simple botón.
Para este proyecto, la creación de prefabs ha sido esencial ya que tanto los perso-
najes como los elementos que conforman el pentagrama de cada nivel, son utilizados
constantemente en cada una de las escenas de los niveles, animaciones introductorias
y pantallas de puntuaciones al finalizar cada nivel.
En el caso de los círculos de colores, se ha creado un prefab para cada uno de ellos.
Aunque a primera vista parezca que todos son iguales y que simplemente cambian su
color, en realidad existen diferencias importantes que produjeron la necesidad de crear
prefabs independientes. En la Fig. 5.7 se observa los componentes del círculo de color
marrón. Todos los círculos contienen los mismos componentes, pero varían los valores
de sus propiedades. Dichos prefabs mantienen un componente Transform que les da
un tamaño y posición, un componente Sprite Renderer que les proporciona el sprite
de su color correspondiente, el componente Circle Collider explicado anteriormente
para detectar la colisión con las notas y el script ’Activator’ que contiene el código que
controla su comportamiento.
41
5. D ESARROLLO E IMPLEMENTACIÓN
5.7 Scripts
Los scripts son las instrucciones de código creadas por el desarrollador que se adjuntan
a los GameObject como un component más. Dichos scripts permiten implementar
caracaterísticas propias de cada videojuego y proporcionan la capacidad de activar
o desactivar eventos, modificar propiedades de otros components y responder a las
entradas de información por parte del usuario.
Cada script nuevo que se crea tiene la estructura mostrada en el código 5.1. Como
se puede ver, cada clase que se crea deriva de la clase integrada MonoBehaviour, propia
de Unity. Las funciones más importantes y que vienen por defecto son las siguientes:
1 using UnityEngine ;
2 using System . Collections ;
3
4 public class MainPlayer : MonoBehaviour {
5
6 // Use this for initialization
7 void Start () {
8 }
9
10 // Update is called once per frame
11 void Update () {
12 }
13 }
Código 5.1: Métodos por defecto al crear un script.
42
5.7. Scripts
• Start: Llamada por Unity antes de que comience el ’gameplay’, es decir, antes
de que se llame a la siguiente función ’Update’. En dicha clase se recomienda
realizar las inicializaciones necesarias de los objetos a utilizar.
• Update: Esta función será llamada cada vez que se actualice un frame del Ga-
meObject. Es recomendable utilizarla para crear movimiento, responder a un
evento o a un input del usuario.
1 void Start () {
2 index = PlayerPrefs . GetInt
( " MainCharacterSelected " ) ;
3
4 // List with all the possible main characters
5 characterList = new
GameObject [ transform . childCount ];
6
7 for ( int i = 0; i < transform . childCount ; i ++) {
8 characterList [ i ] =
transform . GetChild ( i ) . gameObject ;
9 }
10
11 // All characters hidden
43
5. D ESARROLLO E IMPLEMENTACIÓN
1 void Start () {
2 // If the level is completed
3 if ( gameManager . lastLevelPlayed . IsCompleted ) {
4 finishMenu . SetActive ( true ) ;
5 CheckStars () ; // Checks how many stars for
this level
6 // Save Data in data file
7 NotificationCenter . DefaultCenter
() . PostNotification ( this , " SaveData " ) ;
8 } else {
9 finishMenuLost . SetActive ( true ) ;
10 }
11 // Score and points are showed if the level is
completed or not
12 CheckScoreAndNotes () ;
13 // A character is showed . If the level is passed ,
the animation will be ’ Jump ’ , otherwise it
will be ’Hit ’
14 ActiveCharacter () ;
15 }
Código 5.3: Método de inicialización Start del script FinishedLevel.cs
44
5.7. Scripts
• GameManager.cs: Se encarga de gestionar los métodos para leer y guardar los da-
tos del videojuego. Dicho script se encuentra adjuntado a un objeto transparente
que se encuentra en todas las escenas del proyecto. Su método ’Start’ utiliza la
función ’DontDestroyOnLoad’ propia de Unity que evita que el objeto se destruya
al cambiar de escena. Contiene los métodos para cargar y guardar los datos del
fichero ’data.dat’, visibles en los códigos 5.4 y 5.5 respectivamente.
1 void LoadData () {
2 // If the file exists , we read the information
3 if ( File . Exists ( filePath ) ) {
4 BinaryFormatter bf = new
BinaryFormatter () ;
5 FileStream file = File . Open
( filePath , FileMode . Open ) ;
6 DataBase data =
( DataBase ) bf . Deserialize ( file ) ;
7
8 playerName = data . PlayerName ;
9 isAGirl = data . IsAGirl ;
10 levels = data . Levels ;
11 musicOn = data . MusicOn ;
12 effectsOn = data . EffectsOn ;
13 file . Close () ;
14 } else { // If not , we use the default
configuration
15 playerName = " Andy " ;
16 List < LevelData > levels = new
List < LevelData >() ;
17 isAGirl = true ;
18 }
19 }
Código 5.4: Método LoadData del script GameManager.cs
45
5. D ESARROLLO E IMPLEMENTACIÓN
• Note.cs: Adjuntado a cada una de los objetos que actúan como notas en el pen-
tagrama musical (gotas, ajos, diamantes y regalos), se encarga de indicar la di-
rección del movimiento que deben seguir y de detectar la pulsación sobre ellas
cuando el usuario utiliza la pantalla para jugar. Para ello, en la función ’Update’
( 5.6) se controla por cada frame la dirección hacia donde se ha de mover y si el
usuario ha pulsado sobre la pantalla (o ha hecho clic con el ratón en la versión de
desarrollo) para llamar a la función ’checkTouch’ ( 5.7). Dicho método controla si
se ha tocado la nota cuando pasaba por encima de uno de los círculos de colores,
si es así se destruirá y se añadirán los puntos correspondientes.
1 void Update () {
2 // Note movement and speed
3 if ( RightToLeft ) {
4 transform . Translate ( - speed * Time . deltaTime ,
0 , 0) ;
5 } else if ( LeftToRight ) {
6 transform . Translate ( speed * Time . deltaTime ,
0 , 0) ;
7 } else if ( UpToDown ) {
8 transform . Translate (0 , - speed *
Time . deltaTime , 0) ;
9 } else if ( DownToUp ) {
10 transform . Translate (0 , - speed *
Time . deltaTime , 0) ;
11 }
12 // The touch is with a mobile device , we use the
touch position
13 if ( platform == RuntimePlatform . Android ||
platform == RuntimePlatform . IPhonePlayer ) {
14 if ( Input . touchCount > 0) {
15 if ( Input . GetTouch (0) . phase ==
TouchPhase . Began ) {
46
5.7. Scripts
47
5. D ESARROLLO E IMPLEMENTACIÓN
• dialogLEVELNAME.cs: Existe un script de este tipo para cada uno de los niveles
del juego. Es el encargado de visualizar los textos de los diálogos que aparecen en
las animaciones previas a cada uno de los niveles. Además, controla la animación
de los personajes cada vez que el usuario da paso a la siguiente oración con
el botón habilitado. En el caso de que en la escena deba aparecer el personaje
protagonista, el script se encarga de comprobar cuál ha sido la elección del
usuario.
48
5.8. Flujo del videojuego
49
CAPÍTULO
6
C ONFIGURACIÓN DE NUEVOS NIVELES
En este capítulo se explicarán los pasos a seguir para la creación de un nuevo nivel de
Armonisia.
51
6. C ONFIGURACIÓN DE NUEVOS NIVELES
3. Añadir un fondo. Para ello, se arrastra una de las imágenes de la carpeta ’Back-
grounds’ a la ventana del inspector del GameObject ’BG’. Dicho objeto es hijo de
’Main Camera’.
8. Crear las notas. Se debe crear un objeto nuevo que represente las notas del nivel,
para ello se utilizará un sprite nuevo al que se le adjuntará los componentes
siguientes: Circle Collider 2D, Rigidbody2D y el script ’Note’. En este último se
ha de indicar el valor de su parámetro ’Speed’ el cual representa la velocidad de
movimiento y se ha de marcar la dirección que se desea que siga (De izquierda a
52
6.1. Pantalla de nivel
9. Patrón musical. El último paso será crear el patrón musical del juego, por lo que
a cada uno de los círculos de colores se les debe adjuntar en su script ’Activator’ y
en el parámetro ’N’, uno de los prefabs de notas creados anteriormente. Se ha de
marcar la opción de ’Create Mode’ y se ha de especificar una tecla en el parámetro
’key’. De esta forma, en el modo de juego, cada vez que el usuario pulse sobre la
tecla especificada, una de las notas se creara desde la posición del círculo y se
podrá generar un patrón rítmico. Cuando se haya finalizado, se debe pausar el
modo de juego y copiar el conjunto de notas creadas para después copiarlas en
el GameObject ’Notes’. A partir de este paso, solo quedará mover el conjunto de
notas para coordinar su posición y que se muevan en dirección a los círculos de
colores y no al contrario.
53
CAPÍTULO
7
E VALUACIÓN
En este capítulo se describe la primera evaluación realizada con la versión base de Ar-
monisia. Se definen los participantes, las pruebas, el material utilizado, el procedimien-
to seguido y, por último, los resultados obtenidos tanto con un enfoque cuantitativo
como uno cualitativo. Con el primero se obtienen estadísticas y resultados numéricos,
mientras que con el segundo se atiende a cualidades observables y más subjetivas.
7.1 Participantes
La evaluación de la aplicación se ha realizado con un grupo de usuarios conformado
por 6 niños y 3 niñas de ASPAS. Como se ha comentado en capítulos anteriores, los
niños de dicha asociación ya habían utilizado diferentes dispositivos electrónicos como
tablets, teléfonos móviles, consolas u ordenador, por lo que la tablet empleada para
las pruebas no ha sido un inconveniente para ellos. Los niños participantes utilizaban
como ayuda auditiva implantes cocleares o audífonos, tanto en un oído como en ambos.
En la tabla 7.1, se puede observar con detalle la información de cada uno de los niños
que han probado Armonisia.
7.2 Material
El material utilizado para la evaluación ha sido una tablet Samsung Galaxy Tab 3 GT-
P5210 de 10.1"de 16GB. El dispositivo contaba con el sistema operativo Android™ Jelly
Bean y la aplicación de Armonisia instalada. También se hizo uso de unos altavoces
externos que se conectaron a la tablet con el objetivo de aumentar el volumen.
7.3 Procedimiento
La evaluación de la aplicación base con el grupo de usuarios duró un total de tres días,
en los cuales los evaluadores se dirigieron hasta el centro de ASPAS para poder realizar
55
7. E VALUACIÓN
56
7.4. Resultados
El IMI se responde con una escala de Likert de 7 puntos (desde ’No del todo cierto’
hasta ’Muy cierto’), mientras que el Smileyometer tiene cinco respuestas, las cuales se
pueden observar en la Fig. 7.2.
A los niños participantes se les presentó el cuestionario formado por cinco pregun-
tas (Tabla 7.2) y la escala de respuestas simplificada. Además, se formuló una pregunta
sobre la emoción con la que asociaban el juego y que debían contestar con uno de las
tres siguientes smileys: Contento, neutro o descontento.
Por último, se animó a todos los niños a dar su opinión y a hacer comentarios sobre
aspectos tanto positivos o negativos sobre su experiencia con Armonisia y posibles
mejoras a realizar.
7.4 Resultados
A continuación se explican y comentan los resultados obtenidos en diferentes aspectos
del juego: Historia, diseño gráfico, cuestionarios y otros comentarios.
sociales. Al responder a una pregunta de un cuestionario con esta técnica, se especifica el nivel de acuerdo
o desacuerdo con una declaración (elemento, afirmación, pregunta).
57
7. E VALUACIÓN
Historia
Aunque la historia del videojuego se contó de manera resumida a los usuarios, una de
las niñas participantes de 8 años leyó por si misma los diálogos que se presentan antes
de cada nivel para posteriormente dar su opinión y saber si dichas animaciones son
útiles o adecuadas para los usuarios a los que va destinado el juego. Antes de comenzar
se animó a la niña a preguntar cualquier palabra que no entendiera o le supusiese una
dificultad. El texto de los diálogos se leyó sin ningún problema, destacando solo que
las palabras que más complejas le parecían eran aquellas que se referían a los nombres
propios de los personajes o del reino (Armonisia, Rytmus, Pumpkin).
Durante esta lectura se observó que la niña parecía disfrutar y reírse cuando en cier-
tas partes de la historia el personaje de Rytmus rugía (representado por un ’Grrrr, grrr’
en los textos). La niña opinó que había demasiado texto pero le gustó especialmente
las partes en que se hacía referencia a su nombre en los diálogos (recordemos que el
nombre del personaje principal es configurable por parte del jugador al principio del
juego).
Diseño gráfico
Todos los participantes de la evaluación coincidieron en que les gustó la estética que
presenta el juego y comentaron, sobre todo, nuevas temáticas para posibles nuevos
niveles del juego como el fútbol, la selva, etc.
Cuestionarios
Gracias a las respuestas obtenidas con los cuestionarios, se han podido analizar datos
cuantitativos que ayudan a analizar y entender los resultados obtenidos en la evalua-
ción. Como se puede observar en el gráfico de barras de la Fig. 7.3, se representan las
respuestas obtenidas en forma porcentual por cada una de las preguntas del cuestiona-
rio.
La respuesta más clara y en la que han coincidido el 100 % de los participantes ha
sido la claridad a la hora de realizar la actividad que se proponía, por lo que se puede
deducir que la técnica del videojuego es fácil de comprender. Este dato es importante ya
que uno de los requisitos de la aplicación era que fuese intuitiva y fácil de utilizar para
el grupo de usuarios objetivo. No obstante, la pregunta ¿Has tenido que realizar mucho
esfuerzo? muestra diversidad de opiniones, ya que a partes iguales han contestado Sí,
No y Un poco. Estudiando detalladamente estas contestaciones según las edades de los
niños, no se ve relación alguna con dicho factor, ya que cada tipo de respuesta ha sido
dado por niños de 6 hasta 13 años.
58
7.4. Resultados
Cabe destacar también los datos obtenidos a la pregunta ¿Has tenido que concen-
trarte mucho?, ya que casi un 80 % de los niños evaluados ha respondido que sí. Esto es
un aspecto positivo, ya que la concentración es imprescindible para el aprendizaje y el
objetivo de este videojuego es que los usuarios entrenen una capacidad.
A nivel general, en la Fig. 7.4 se puede observar un gráfico circular que representa
las emociones con las cuales los niños asociaban el juego. Las posibles opciones eran:
contento, neutro y descontento. El resultado ha sido positivo, ya que 8 de los 9 niños han
respondido con el estado de contento, mientras que el restante ha indicado neutralidad
y ninguno de ellos ha sentido descontento.
Comentarios y observaciones
La sensación general es que la aplicación gustó a todos los niños y niñas que partici-
paron en la evaluación. En el momento de hacer el intercambio entre la sala común
donde se encontraban los niños y el despacho donde realizaban la prueba, se podían
escuchar comentarios que se hacían entre ellos como: ’Ve, te va a gustar’, ’Es chulo, ya
verás’. También señalaban a sus compañeros para indicar a los evaluadores a quien
deberían llevar para la siguiente prueba.
En cuanto a la música, muchos de los niños comentaron que les gustaba e incluso
algunos movían la cabeza mientras jugaban para seguir el ritmo de la canción. Otra
de las observaciones que se hizo mientras los niños jugaban, era que los más mayores
apretaban de forma continuada los botones circulares de colores sobre los cuales iban
a pasar las notas antes de que estas llegaran, esperando así interceptar el objetivo más
fácilmente.
59
7. E VALUACIÓN
La mayoría de los niños empezaban utilizando solo de una las manos, pero después,
ya sea por iniciativa propia o por comentarios realizado por los evaluadores, utilizaban
ambas manos. Esta técnica se puso apreciar, sobre todo, en los niveles más difíciles.
En relación a la forma de puntuar los niveles, los niños prestaron especial interés
en las estrellas que representaban de forma gráfica los puntos obtenidos. Algunos de
ellos, cuando se daban cuenta que habían conseguido una puntuación alta pero que no
habían logrado obtener las tres estrellas querían repetir el nivel cuando los evaluadores
les preguntaban si querían volver a intentarlo. Aquellos que repetían y conseguían
más estrellas que la primera vez se mostraban realmente contentos mediante gestos y
comentarios.
60
CAPÍTULO
8
P UBLICACIONES Y PARTICIPACIONES EN
EVENTOS CIENTÍFICOS O DIVULGATIVOS
61
8. P UBLICACIONES Y PARTICIPACIONES EN EVENTOS CIENTÍFICOS O DIVULGATIVOS
3 http://webmilab.com/interaccion2017/
62
CAPÍTULO
9
C ONCLUSIONES
En este capítulo se realiza un resumen de los objetivos principales del desarrollo del
proyecto y de las conclusiones obtenidas. Además, se especifica el trabajo futuro que se
espera realizar con Armonisia.
9.1 Conclusión
"Mi trabajo es un juego, un juego muy serio." - Maurits Cornelis Escher, artista.
63
9. C ONCLUSIONES
más notables como pueda ser el equilibrio. Esta distinción se basa principalmente en
la detección temprana y la utilización de ayudas auditivas desde muy jóvenes, lo que
presenta una gran ventaja frente a países donde los niños, por razones económicas o
sociales, no disponen de estos apoyos.
64
APÉNDICE
A
A NEXOS
A.1 Fuentes
• Ventanas, botones y personajes: http://www.gameart2d.com
• Fondos: http://www.freepik.com
• Fuentes: http://www.pixelsagas.com/
65
ACTA DE REUNIÓN
FECHA 02/12/2016
LUGAR ASPAS (Palma de Mallorca)
HORA INICIO 09:30 HORA FIN 12:00
ASISTENTES Carme Zoilo: Terapeuta de ASPAS.
Camila Pérez: Universidad de las Islas Baleares.
Cristina Manresa: Universidad de las Islas Baleares.
ASPECTOS TRATADOS
Se comenta que se tiene el prototipo físico del juego realizado en Colombia
para evaluarlo en ASPAS. Falta el software para el dispositivo tablet.
Datos obtenidos:
Prototipo físico 1. Se desea cambiar el nombre del personaje a nombres más
del juego mallorquines.
realizado en 2. Se quiere traducir la historia, tarjetas y otros textos al catalán.
Colombia 3. Cambiar ciertas palabras por su versión al castellano español.
4. En vez de que el software sea método invariante, trabajar la
discriminación auditiva (fonemas: br, tr,…) y que suene el sonido, y
se enseñe los dibujos para que el niño seleccione el correcto.
Datos obtenidos:
1. Un personaje puede llevar implante coclear y otro audífono, para
crear más empatía.
Aplicación para 2. Diferencia de volumen entre ruido o música de fondos y sonido del
el desarrollo ritmo a seguir.
del ritmo 3. El ruido de fondo podría ser ruido blanco.
4. Niveles con diversas dificultades: Velocidad de las notas, número
de botones, número de objetos que caen.
5. Guardar información de los niveles para posterior evaluación.
6. Retirar la ayuda auditiva/visual de las notas que caen para repetir
el nivel y trabajar memoria y ritmo.
7. Añadir vidas.
Se comenta la posibilidad de crear una aplicación que ayude a la
localización del sonido. Funcionaría de la siguiente forma: sonará un
sonido/palabra y el niño tiene que identificar de donde proviene. Una vez
encontrado se pueden enseñar varias imágenes para que el niño escoja el
sonido/palabra que escuchó.
Aplicación para
la localización Los sonidos/palabras pueden ser:
de sonido 1. Sonidos de animales (imágenes del animal)
2. Sonidos de Ling: evalúan la percepción del habla a través
de 6 sonidos que abarcan tanto las frecuencias agudas
como las graves, estos son: /m/, /a/, /i/, /u/, /ch/, /s/.
http://www.aspasleehablacomunica.com/los-sonidos-de-
ling/ (imágenes de tarjetas relacionadas con los sonidos)
Aplicación con dos modos: juego y evaluación. Si está en evaluación,
entonces se tiene que poder guardar la información:
1. Sonido generado.
2. Lado que se está trabajando.
3. Si detecta o no el sonido.
4. Distancia (10 cm, 1 metro, 3 metros, >3 metros).
Carme Zoile explica otros ejercicios que se realizan con los niños y que
podrían mejorar con la tecnología:
1. Desmutizar: proceso por el cuál será preciso en el sordo, realizar
dos entrenamientos previos: por un lado, concienciar de la
existencia de un entorno sonoro; y por el otro, percibir e
Otros ejercicios interiorizar las propias habilidades fonatorias. Siguiendo el ejemplo
de las notas que caen, hacer crecer alguna barra mientras el niño
genera algún sonido.
2. Mención a posibilidad de crear una aplicación que utilice el ruido
blanco / ruido PAVER.
A. A NEXOS
Motivación
Los niños con discapacidades auditivas pueden encontrarse diversos
obstáculos a la hora de desarrollar ciertas habilidades comunicativas o 8,8%
psicomotoras que son importantes para la evolución de sus emociones, Un total de 360 millones de
acciones y actividades sociales. El uso de las tecnologías de la información personas convive con alguna
y la comunicación (TIC) pueden ayudar a entrenar dichas habilidades discapacidad auditiva, es decir,
más de un 5% de la población
gracias a la creación de distintos sistemas interactivos.
mundial. [2] Del total mundial de afectados,
32 millones son niños de 0 a 14
Las competencias psicomotoras afectadas son las siguientes [1]: años, es decir, el 8.8% de la
población mundial. [2]
- Habilidades motoras fundamentales: Coordinación, equilibrio, postura
+5%
y esquema corporal.
- Habilidades motoras perceptuales: Percepción espacial, percepción
temporal y percepción del ritmo.
- Habilidades cognitivas: Razonamiento y memoria.
Desarrollo de un juego serio, o serious game, diferenciado La propuesta de este sistema interactivo es la de crear un
del concepto de juego conocido normalmente debido al
OBJETIVOS videojuego en 2D para móviles y tabletas con sistema
objetivo final que persigue: Conseguir que el usuario operativo Android, que ayude a los usuarios a desarrollar
adquiera un conocimiento o habilidad determinada de una la capacidad perceptiva del RITMO.
forma entretenida.
A través de una historia ficticia el jugador deberá pasar
Es importante la motivación, el desafío que ofrecen, la por diferentes niveles que pondrán en entrenamiento el
historia del juego y la percepción del progreso mediante manejo del ritmo y que harán conseguir los objetivos del
niveles o puntuaciones. videojuego.
PERSONAJES E HISTORIA
La historia estará protagonizada por un niño o niña (el género será de libre elección por parte
del usuario) que utiliza un implante coclear. En su aventura conocerá a un pequeño dragón que
le acompañará y juntos deberán superar los objetivos de la historia mientras son controlados
por el jugador. El desarrollo del videojuego se llevará a cabo en un reino mágico en el que
nuestro/a protagonista se da cuenta de que todo a su alrededor parece triste y con poco color:
el ritmo ha desaparecido. El/la protagonista, sorprendido por la historia que le cuentan en el
extraño reino y angustiado al ver ese lugar tan desolado, decide ayudar. Así comienza su
aventura totalmente emocionado por descubrir ese nuevo mundo.
DISEÑO Y JUGABILIDAD
La técnica de juego se basará en la visualización de uno de los personajes en la pantalla y de
unos círculos que serán los botones sobre los cuales deberá el jugador situarse para hacer el
ritmo de forma táctil. Sobre la pantalla irán pasando diversos objetos y cuando éstos
atraviesen una de las esferas, será cuando el jugador deba pulsar sobre ella para conseguir
puntos. De esta forma, se pretende que el jugador marque un ritmo sobre la pantalla ayudado
por el estimulo visual de los objetos y los círculos, además de la música que acompañará de
fondo. A medida que se vaya recorriendo el reino mágico, cada nivel incrementará la
dificultad para el usuario modificando la cantidad de notas de la melodía, la velocidad en las
que se moverán y la posición en la que se encuentren los círculos sobre los cual ha de pulsar.
Se ha seguido el diseño centrado en el usuario (UCD), de forma que se investiga a los futuros
usuarios, se diseñan los productos que resuelvan sus necesidades y se van evaluando para
volver a diseñar con las mejoras que se puedan realizar, siguiendo así un proceso iterativo.
68
A.4. Paper Interacción 2017
69
A. A NEXOS
70
A.6. Paper Interacción 2017
Developing Rhythm and Coordination in Children with HI INTERACCIÓN’17, September 2017, Cancun, Quinta roo, Mexico WOODSTOCK’
71
A. A NEXOS
72
B IBLIOGRAFÍA
[4] T. C. Zhao and P. K. Kuhl, “Musical intervention enhances infants’ neural pro-
cessing of temporal structure in music and speech,” Proceedings of the National
Academy of Sciences, p. 201603984, 2016.
[5] U. Goswami, “Rhythmic Timing and Dyslexia: A Causal Connection? : Full Research
Report ESRC End of Award Report, RES-000-23-0475. Swindon: ESRC,” vol. 2010,
no. January, pp. 14–27, 2010.
[7] N. Accordino, “Masaya Matsuura and Shuhei Yoshida on the birth of PaRappa the
Rapper,” 2017, https://blog.eu.playstation.com/2017/04/04/masaya-matsuura-
and-shuhei-yoshida-on-the-birth-of-parappa-the-rapper/, (Accessed November
2016).
[11] C. Conner, “Correcting Exercise Form Using Body Tracking,” CHI Extended Abs-
tracts on Human Factors in Computing Systems, pp. 3028–3034, 2016.
[12] M. C. Sogono and D. Richards, “A Design Template for Multisensory and Multimo-
dal Games to Train and Test Children for Sound Localisation Acuity,” Proceedings
of The 9th Australasian Conference on Interactive Entertainment Matters of Life
and Death - IE ’13., pp. 1–10, 2013.
73
B IBLIOGRAFÍA
[13] V. Aditya, S. Dhenki, L. Amarvaj, A. Karale, and H. Singh, “Saathi : Making it Easier
for Children with Learning Disabilities to,” pp. 56–61, 2016.
[14] J. Jouhtimäki, S. Kitunen, M. Plaisted, and P. Rainò, “The Brave Little Troll – A
Rhythmic Game for Deaf and Hard of Hearing Children,” Proceedings of the 2016
CHI Conference Extended Abstracts on Human Factors in Computing Systems - CHI
EA ’16., p. 60558, 2009.
[18] Unity, “Made with Unity: Angry Birds 2,” 2013, https://madewith.unity.com/en/
stories/angry-birds-2, (Accessed June 2017).
[21] E. L. Deci and R. M. Ryan, “The "what.and "why.of goal pursuits: Human needs and
the self-determination of behavior,” Psychological Inquiry, vol. 11, no. 4, pp. 227–
268, 2000. [Online]. Available: http://dx.doi.org/10.1207/S15327965PLI1104_01
[22] J. C. Read and S. MacFarlane, “Using the fun toolkit and other survey methods
to gather opinions in child computer interaction,” in Proceedings of the 2006
Conference on Interaction Design and Children, ser. IDC ’06. New York, NY, USA:
ACM, 2006, pp. 81–88. [Online]. Available: http://doi.acm.org/10.1145/1139073.
1139096
74