3. Exergame basado en Hopscotch y Kinect como apoyo a la promoción de
3.2. Implementación del Sistema
3.2.4. Implementación del sistema
En esta sección se describe la implementación del prototipo del exergame “PetsGo” del presente trabajo de grado. Como se menciona en la sección anterior, para obtener la generación de rutina del niño/a de acuerdo a la categorización
ingresada por el experto en salud, se realizó un algoritmo el cual mediante la clasificación ingresada explicada en la sección 3.1.1 clasifica al jugador determinando la rutina adecuada: normopeso, sobrepeso y obesidad. Para esto se utilizó el lenguaje de programación Php para el backend por medio del editor de texto Atom, el servidor Apache y la base de datos MySQL.
Para lograr la conexión entre Unity y la base de datos, se realizó una comunicación desde Unity al servidor y desde el servidor a la base de datos. De esta manera fue posible crear los casos de uso Registro, Login y Ver perfil El programa se encarga de actualizar la base de datos con los datos ingresados de cada nuevo usuario.
Figura 58. Ingreso Datos Registro Unity
Figura 59. Datos PHP
En la figura 58 y 59, se pueden observar las funciones principales del registro que permiten el ingreso de datos en Unity, la conexión a la base de datos MySQL “exergame_db” a través de PHP, las variables enviadas para cada usuario y el cálculo del IMC retornando un mensaje de “success” cuando el registro se ha realizado correctamente o de “error” cuando es el caso contrario. Para el Login, la función principal es realizada a través de PHP, como lo muestra la figura 60, este se encarga
de comparar los datos almacenados previamente en la base de datos y si los datos son correctos, el jugador accederá a su rutina de juego de acuerdo a su clasificación (normopeso, sobrepeso, obesidad). La figura 61, muestra cómo se verifica la clasificación del jugador que ha ingresado al sistema, determinando el orden de escenas correspondientes a la rutina de dicha clasificación.
Figura 60. Comparación Datos Ingresados
Figura 61. Comparación de Clasificación para Rutina
Por otro lado, como se explicó en la sección 3.4, el prototipo se implementó como un juego para computador que funciona mediante la integración de dos dispositivos, Kinect y Hopscotch. El juego se desarrolló en el motor de videojuegos Unity 5 y el editor de script externo Visual Studio, utilizando el lenguaje de programación C#. De esta manera, se crearon cada una de las escenas estructuradas y explicadas en la sección 3.1.5.2 del presente documento. Las funciones se encuentran explicadas en el Anexo F.
Antes de verificar seguimiento por parte del sensor Kinect, se realizaron pruebas con dispositivos externos wereables con el fin de identificarmovimientos para ver si el niño los ejecutaba de manera correcta. El dispositivo wereable utilizado fue la Microsoft Band [18]., la cual está dotada de una variedad de sensores que proveen excelentes funciones y beneficios provechosos para el proyecto, sin embargo, durante el proceso
de pruebas se encontraron factores considerados como desventajas para el mismo haciendo de la pulsera un dispositivo menos efectivo comparado con el dispositivo Kinect; entre los factores se encuentra que el tamaño de la manilla es muy grande para los niños a pesar de que la talla probada era la más pequeña disponible en el mercado, la precisión en cuanto a la verificación de movimientos es menor a la del Kinect y el tiempo de respuesta de la manilla en el momento que el usuario realiza un movimiento, supera al tiempo dado por Kinect en tiempo real, además de que su grado de sensibilidad es alto para los delicados movimientos que ejecutan los niños.
Las pruebas se realizaron con la presencia de expertos en salud, quienes sugirieron no usar este tipo de bandas, porque ellos consideran que son invasivas al ser tan grandes e incomodan la ejecución del movimiento, por otro lado ellos perciben que su diseño ha sido validado en personas adultas lo cual no garantiza que los datos obtenidos sean acordes a los que un niño arroja.
Una vez realizadas las pruebas, se considera que la pulsera Microsoft Band no cumple con los objetivos propuestos para el desarrollo y correcto funcionamiento del sistema propuesto, por lo cual se descartó el uso de wereables en este proyecto, para ver el registro de pruebas remítase al anexo F.
Dado que el juego requería del sensor Kinect, fue necesario instalar Microsoft Kinect Drivers V y Microsoft Kinect SDK V1.8, disponible en [44], con el fin de usar las herramientas y recursos de desarrollo para la implementación de este sensor en el presente proyecto. Se utilizaron los scripts que venían implementados por defecto en el proyecto de Unity llamado “Kinect with MS-SDK” disponible en el Asset Store y se establecieron las variables, los valores de partida y componentes para que el Kinect se activara y funcionara a la perfección, haciendo uso de las diferentes funciones y parámetros a conveniencia de nuestro proyecto.
Para implementar el Hopscotch en “PetsGo”, este fue configurado como un control de juego, en donde cada campo correspondía a un “Input” en Unity, es decir que la señal enviada por el dispositivo obedecía a una entrada que era controlada por una función determinada en cada mini juego.
La integración entre estos dos dispositivos, permitió evaluar motricidad superior e inferior, logrando el propósito de crear un juego para la salud integral. Esta integración, fue realizada mediante el lenguaje de programación C# en el editor de script externo Visual Studio. Por medio de funciones y condicionales, fue posible coordinar estos dos dispositivos, los cuales se adaptaron a cada mini juego y a cada una de las rutinas.