Proyecto final de curso
Android: Programación de aplicaciones
(3ª edición online,
Octubre-Diciembre 2012)
AuGames
Nombre de la aplicación:
AuGames
Autores:
Serrano Mamolar, Ana López Escobar, Óscar
Qué hace la aplicación
:
Aplicación ideada para servir como herramienta de ayuda en la educación de niños con autismo. Según expertos consultados para el presente proyecto, estos niños tienen problemas a la hora de interpretar emociones, el sentido de frases hechas, el sarcasmo, etc. Por otro lado, estudios recientes demuestran que las aplicaciones móviles y la realidad aumentada favorecen el aprendizaje de estos niños.
Esta primera versión de la aplicación presenta dos juegos diferentes que permiten a estos niños identificar y entender algunas emociones y el sentido de algunas frases hechas. Esta aplicación está pensada para ser poco a poco ampliada con nuevos juegos y más opciones. De momento sólo se ha desarrollado en español dado que será probado en un centro valenciano para evaluar su funcionamiento en situaciones reales. Sin embargo todos los textos están en el fichero de strings de los recursos para su fácil adaptación a otros idiomas. Además, para el guiado del juego se utiliza TexttoSpeech, que recoge la configuración del teléfono para utilizar un idioma u otro.
El juego de las emociones permite, mediante Realidad Aumentada, mostrar la emoción asociada a una serie de imágenes y pictogramas. Los niños autistas, a menudo, tienen dificultades para distinguir entre estados de ánimo de las personas que los rodean, así como entender qué tipo de situaciones provocan esos estados de ánimo.
El juego se ha diseñado de manera que, en primer lugar, el niño construya un cubo con las imágenes previamente descargadas. Estas imágenes muestran una situación y una frase debajo escrita en lenguaje de pictogramas para ayudar a entenderla. Tras lanzar el dado el niño intentará adivinar de qué emoción se trata. Para ver la solución proyectará la cámara del dispositivo sobre esa cara del dado. El sistema, mediante la cámara del dispositivo, identifica la imagen y muestra un pictograma con la emoción asociada para que el niño lo entienda (contento, triste, enfadado, asustado, nervioso o sorprendido).
El juego de las frases permite al niño aprender el significado de ciertas frases hechas. Los niños autistas presenta una gran dificultad para comprender las frases hechas, por ejemplo para ellos “ponerse las botas”, sólo tiene un significado, el literal. Este juego, según los expertos consultados supone una gran innovación en el campo del autismo, pues los profesionales demanda herramientas de este tipo que les ayuden a trabajar con estos niños.
En el juego, el niño debe ordenar primero las palabras de la frase y, una vez ordenada correctamente el sistema le presenta al niño el significado real de esa frase. En el ejemplo anterior sería “comer mucho”.
Licencia:
Autorizo la difusión del código fuente con fines educativos siempre que se haga referencia al autor bajo los términos generales de la Licencia “Academic Free License v.3.0”.
A destacar:
El trabajo ha sido realizado de forma entre las dos personas habiendo desarrollado cada uno una parte diferente. Decir que estas dos personas no se conocían previamente y que no ha sido posible verse físicamente, lo que a veces dificulta la realización de un trabajo conjunto. Esto puede notarse en la relativa ambigüedad en los criterios de diseño. Por ejemplo en una parte del juego se ha decidido escuchar siempre la locución completa y no existe posibilidad de silenciarla, mientras que en otras se da elección al usuario de silenciar toda la aplicación, o cortar la locución al pulsar un botón, para los casos en los que no sea la primera vez que se usa. Ambos criterios de diseño tienen s parte positiva, según el usuario que lo utilice, por eso durante la integración se ha preferido mantener ambos criterios. De cara al futuro se prevé homogeneizar este tipo de detalles.
La interfaz principal y el juego de las frases ha sido desarrollado por Óscar López, mientras que el interfaz y el propio juego de las emociones con Realidad Aumentada ha sido desarrollado por Ana Serrano. La integración final de ambas aplicaciones también ha sido realizada por Ana Serrano.
Se puede destacar de cada parte:
Juego de las frases e interfaz principal.
- Realizado con AndEngine GLES2
- Se adapta la resolución automáticamente a cualquier pantalla (probado en móviles con 800x480, 1280x720 y Nexus 7 con 1280x800)
- TTS de Android para la guía por voz del juego.
- Imágenes y pictogramas alojados en los assets. En un futuro se plantea trasladarse a la SD.
- Frases del juego declaradas en XML, siendo la lectura con DOM. Aunque están incluidas en los assets añadir nuevas frases sólo implica añadir las imágenes de los pictogramas y añadir las líneas en el XML adecuadas.
- Uso de animaciones, gráficos y objetos de AndEngine.
Juego de las emociones
- Realizado con Vuforia (librería de Realidad Aumentada con marcas naturales para Android).
- Los objetos aumentados están realizados con OpenGL. Podrían funcionar con OpenGL1.1 y OpenGL2.0, pero se ha fijado a ésta última durante la integración por
sido necesario utilizar el NDK para gestionar las clases nativas. Todas las clases nativas son compiladas fuera de eclipse.
- Se adapta la resolución automáticamente a cualquier pantalla (probado en móviles con 800x480, 1280x720 y Nexus 7 con 1280x800).
- TTS de Android para la guía de vos del juego.
- Los pictogramas, texturas de objetos a aumentar, están alojados en la carpeta assets. En un futuro se plantea trasladarse a la SD.
- Tres actividades:
o Actividad principal con menú realizado con layouts. Los botones “Jugar”, “Cómo jugar” y “Salir” cambian de apariencia al pulsarse mediante el uso de un selector. La imagen del sonido también se modifica al pulsarse.
o Actividad con el juego de Realidad aumentada.
o Pantalla de cómo jugar con un enlace al blog creado para la aplicación, donde ver las instrucciones de juego y descargar las imágenes para jugar. http://augamesapp.wordpress.com/el-juego-de-la-emociones/ Este blog está en proceso de mejora (entre otras, eliminar publicidad), pero nos ha parecido una herramienta interesante, no sólo para facilitar la descarga de las imágenes sino para recibir feedback de los usuarios (padres o educadores).
Las actividades de “Cómo jugar” y “Jugar” se comunican para intercambiar el valor de la variable “sonido” que almacena la selección de sonido activado o desactivado.
Cómo lo hace
La aplicación general se inicia con la clase AuGamePpalActivity que contiene la interfaz principal y que deriva de la clase SimpleBaseGameActivity de AndEngine. Esta clase lanza las animaciones respondiendo a los eventos Touch definidos sobre las imágenes (todo con AndEngine), lanzando las actividades de juego que corresponda.
Juego de las frases: AuGamePhrases es la clase que contiene el juego de las frases, realizado completamente con AndEngine. Inicialmente carga un splash mientras se cargan por detrás todos los pictogramas que formarán las frases definidas con un XML. Las palabras son áreas sensibles a ser pulsadas aunque sólo responde en cada momento una palabra, la que permite formar la frase de forma ordenada. Se apoya en dos clases extra (Pictogram y SetPhrase) que almacenan los gráficos correspondientes a las distintas frases del juego.
Juego de las emociones: “Main_Emociones” es la clase que enlaza con el juego de las emociones. Se accede a ella desde el botón con el texto “emociones” de la pantalla principal. Desde ésta actividad se puede volver al menú principal con el botón “Salir”, acceder a la actividad de “cómo jugar”, activar o desactivar el sonido. Todos los botones cambian de apariencia al ser pulsados.
La actividad “Cómo_Jugar” presenta las instrucciones del juego mediante un layout con un texto explicativo y un enlace al blog para descargar las imágenes. También tiene un botón para empezar el juego desde aquí.
La actividad “EmocionesRA” es la lanzadora del juego. Desde ella se llama a las clases nativas y a la clase “EmocionesRARenderer” que se encarga del renderizado de los objetos aumentados y de la realidad captada por la cámara. QCARSampleGLView es una clase de apoyo de Vuforia para el tratamiento de OpenGL.
Captura de pantallas:
Imágenes de la pantalla principal:
Imágenes Juego de las emociones.
1
2
Imágenes Juego de las frases. 2