Capítulo 3. MEDIOS EMPLEADOS

Sin valoraciones

Capítulo 3. MEDIOS EMPLEADOS

En este capítulo se listan los medios empleados para la realización del proyecto. Para la elección del software y del hardware apropiado para realizar el serious game del proyecto se han realizado comparativas entre varios medios que se expondrán en el apartado correspondiente.

3.1 SOFTWARE.

3.1.1 ESTUDIO DE MOTORES DE VIDEOJUEGOS.

A la hora de crear un videojuego es fundamental elegir un adecuado motor de videojuegos que nos permita su diseño, creación y representación. Un motor de videojuegos regular aporta: scripting, renderizado de imágenes, inteligencia artificial, física, animación, cinemática, acceso a la red y gestión de recursos [2].

  • Scripting: Permite a los desarrolladores escribir pequeños trozos de código para controlar ciertas partes del juego.
  • Renderizado de imágenes: Es el corazón de la parte visual del juego. Maneja las luces, sombras, trazado de los rayos y renderizado de objetos 3D.
  • Inteligencia artificial: Da vida al mundo y a los personajes del juego a través de una serie de rutinas que hace posible la interacción con el ambiente del juego.
  • Animación: Añade comportamiento a los objetos a través de transformaciones, esqueletos, deformaciones y dinámicas.
  • Física: Aporta interacción realista entre objetos y con el ambiente.
  • Cinemática: Añade la posibilidad de incluir videos en el juego para llamar la atención del jugador.
  • Acceso a la red: Aporta soporte para implementar el juego en un entorno de red, sea cliente-servidor o peer to peer.
  • Gestión de recursos: Un asunto fundamental para los motores de videojuegos es el uso eficiente de los recursos del ordenador (CPU, tarjeta gráfica, memoria, almacenamiento, hardware) y la carga de los recursos del juego (animaciones, texturas, objetos 3D, sonidos, etc.).

Los motores de videojuegos pueden ser clasificados de acuerdo a diversos criterios, siendo uno de ellos el tipo de licencia: comercial y gratuito. Con este proyecto se busca crear un videojuego asequible para todos y, por tanto, se ha utilizado uno de licencia gratuita y un motor de código abierto (open source) de manera que pueda ser modificado en cualquier momento por entendidos de la programación con indicaciones de terapeutas para poder mejorar las características del videojuego y hacerlo más acorde a cada paciente.

A la hora de elegir un motor de videojuegos se han comparado principalmente Unreal Engine (UE), CryEngine y Unity, siendo estos los líderes del mercado dentro de los que cumplían los requisitos necesarios para este proyecto. A pesar de que tanto Unreal como CryEngine han sido utilizados para crear importantes videojuegos en la historia, la que es sin duda la plataforma de desarrollo de videojuegos que domina globalmente es Unity, la cual cuenta con el 45% de participación en el mercado de los motores de videojuegos como podemos ver en la figura 10.

Capítulo 3. MEDIOS EMPLEADOS

Figura 10: Participación en el mercado global de los motores de videojuegos.

Las atracciones clave de por qué Unity es tan poderoso son la baja curva de aprendizaje para principiantes, el rápido desarrollo y la integración multiplataforma (Unreal admite 10 plataformas y CryEngine 5 en comparación con las 25 de Unity). Es por esto que Unity cuenta con 5,5 millones de usuarios registrados. A pesar de que esta curva de aprendizaje es muy positiva y que los principiantes lo elegirán frente a otros motores, existen casos en que los desarrolladores se ven limitados y en ese momento comienzan a utilizar Unreal Engine.

Unity juega un papel importante en el auge del mercado global de los videojuegos: más juegos son creados con Unity que con cualquier otra tecnología de videojuegos, más jugadores juegan con juegos hechos con Unity y más desarrolladores confían en sus herramientas y servicios para llevar su negocio. Son muchos los desarrolladores que usan Unity por su excelente funcionalidad, contenido de alta calidad y habilidad para ser usado en casi cualquier tipo de juego. Además, Unity lleva la delantera en el creciente mercado de la realidad virtual.

En relación a los otros dos motores (UE y CryEngine) destacar que ambos superan a Unity en la calidad de gráficos y realismo, pero puesto que los gráficos no son la característica más relevante de este proyecto, el motor de videojuegos seleccionado ha sido Unity por todo lo anteriormente comentado, por su éxito, la facilidad de manejo, la gran cantidad de tutoriales y recursos y la compatibilidad e integración de realidad virtual con el Leap Motion. En la propia página de Leap Motion se puede encontrar documentación para la importación y uso de los recursos y scripts del Leap Motion en Unity.

En el siguiente apartado se amplía la información acerca del motor de videojuegos escogido: Unity.

3.1.2 UNITY.

Capítulo 3. MEDIOS EMPLEADOS

Figura 11: Logotipo de Unity.

Unity es un motor de videojuegos creado por Unity Technologies y se usa para desarrollar videojuegos para ordenador, móviles y páginas web. Está disponible como plataforma de desarrollo para Windows, OSX y Linux y es compatible con las plataformas que aparecen en la figura 12.

Figura 12: Plataformas compatibles con Unity.

El éxito de Unity ha llegado en parte debido al enfoque en las necesidades de los desarrolladores independientes que no pueden crear ni su propio motor del juego ni las herramientas necesarias o adquirir licencias para utilizar plenamente las opciones que aparecen disponibles. El enfoque de la compañía es «democratizar el desarrollo de juegos» y hacer el desarrollo de contenidos interactivos en 2D y 3D lo más accesible posible a tantas personas en todo el mundo como sea posible. Con el objetivo de adaptarse al uso que le quiere dar cada usuario, existen varias licencias para desarrolladores (figura 13) y todas ellas ofrecen documentación y tutoriales.

Capítulo 3. MEDIOS EMPLEADOS

Figura 13: Planes disponibles de Unity.

Para programar el código del videojuego en Unity se pueden utilizar tanto MonoDevelop como Microsoft Visual Studio utilizando los siguientes lenguajes de programación:

  • C#, utilizado en un gran porcentaje de los scripts creados.
  • UnityScript, o JavaScript para Unity.
  • Boo, con una sintaxis inspirada en Python.

Capítulo 3. MEDIOS EMPLEADOS

Figura 14: Uso de los lenguajes de programación en Unity.

Como se puede observar en la figura 14, muy poca gente utiliza Boo, es por ello que Unity decidió abandonar el soporte a la documentación de Boo cuando se lanzó Unity 5.0 y así usar los recursos de una manera más constructiva.

Para facilitar el desarrollo de videojuegos a los usuarios, en 2010 se puso en funcionamiento el Unity Asset Store, donde se pueden comprar recursos de distintas categorías. Actualmente incluye más de 15.000 (gratis y de pago) modelos 3D, extensiones del editor, scripts, texturas, materiales, audios y animaciones que pueden ser fácilmente añadidos al juego.

Para dar un uso correcto a los recursos en el videojuego, Unity pone a disposición de los usuarios la tabla 4 que indica los formatos compatibles con el motor. Además, Unity puede usarse junto con 3ds Max, Maya, Softimage, Blender, Modo, ZBrush, Cinema 4D, Cheetah3D, Adobe Photoshop, Adobe Fireworks y Allegorithmic Substance. Los cambios realizados a los objetos creados con estos productos se
actualizan automáticamente en todas las instancias de ese objeto durante todo el proyecto sin necesidad de volver a importar manualmente.

Capítulo 3. MEDIOS EMPLEADOS

Tabla 4: Formatos compatibles con Unity.

Adicionalmente, en Unity se muestra todo el juego y las variables mientras el desarrollador juega, además estas pueden ser alteradas sobre la marcha sin necesidad de escribir ni una sola línea de código. El juego puede ser pausado en cualquier momento o pasar el código de una en una instrucción.

3.1.3 MICROSOFT VISUAL STUDIO.

Se trata de un entorno de desarrollo integrado para sistemas operativos Windows. Soporta múltiples lenguajes de programación como C++, C#, Visual Basic .NET, F#, Java, Python, Ruby y PHP.

En este proyecto se ha utilizado Visual Studio 2015 para programar, en C# en este caso, los scripts necesarios para el desarrollo del serious game en Unity.

Capítulo 3. MEDIOS EMPLEADOS

3.2 HARDWARE.

3.2.1 DISPOSITIVOS DE CAPTURA DE MOVIMIENTO.

Desde un principio, para la elección del dispositivo de captura de movimiento para el proyecto, se valoraron la Kinect v2 y el Leap Motion. Aunque la Kinect también ha sido utilizada para la monitorización de movimientos precisos como por ejemplo los movimientos de los dedos, cuando el enfoque de la rehabilitación es la individualización de los dedos, el sensor del Leap Motion es mejor opción. El pequeño área de observación y la alta resolución del dispositivo diferencia el producto de la Kinect, que es más apropiada para el rastreo del cuerpo entero en un espacio del tamaño de un salón.

Además, entre los dispositivos cinemáticos de manos se han realizado estudios donde se evalúa el potencial de su uso en un marco clínico para rehabilitación de manos y el Leap Motion, por su bajo coste, precisión y facilidad de uso, resulta ser el más adecuado para la creación del serious game de este proyecto.

En la tabla 5 podemos encontrar la comparativa de los siguientes tres dispositivos:

  • Leap Motion (utiliza cámara IR)
  • Guante de datos 5-DT 14 (Sensor Data Glove)
  • Guante de datos Vhand DGTech 5 (Sensor Data Glove)

Capítulo 3. MEDIOS EMPLEADOS

Figura 16: Dispositivos cinemáticos de manos.

Los resultados demostraron que el Leap Motion es el más preciso y el más fácil de usar para sujetos con movilidad pero fallaba en recopilar la cinemática de las manos de pacientes que habían sufrido un derrame cerebral debido a la obstaculización de la vista por sus manos parcialmente cerradas.

Capítulo 3. MEDIOS EMPLEADOS

Tabla 5: Comparativa de dispositivos para captura de movimientos de las manos.

Para la mayor parte de usos, incluyendo el desarrollo de las aplicaciones de rehabilitación, el Leap Motion es el más barato, el más rápido de instalar y aporta los resultados más claros.

En el siguiente apartado se amplía la información acerca del dispositivo escogido para el proyecto: el Leap Motion.

3.2.2 LEAP MOTION.

Capítulo 3. MEDIOS EMPLEADOS

Figura 17: Logotipo de Leap Motion.

El Leap Motion es un pequeño dispositivo USB (80x30x11mm) diseñado para colocar en ordenadores o cascos de realidad virtual y que se lanzó por primera vez en 2013. Se trata de un sensor que nos permite controlar el ordenador a base de gestos en el aire usando las manos y los dedos, ya que lo que hace es trazar una imagen virtual de nuestras manos y articulaciones y rastrear todos los movimientos.

Usa dos cámaras infrarrojas monocromáticas que generan casi 200 fotogramas por segundo y tres LEDs infrarrojos. El dispositivo observa el área hemisférica que podemos observar en la figura 18 y la información es enviada a través de un cable USB al ordenador, donde es analizado por el software del Leap Motion. En 2013 un estudio señaló que el promedio de precisión del controlador es de 0,7mm.

Capítulo 3. MEDIOS EMPLEADOS

Figura 18: Área de interacción del Leap Motion.

En la figura 18 se define un área de interacción de aproximadamente entre 60 y 80cm por encima del dispositivo, por 60cm de ancho en cada lado (ángulo de 150°), por 60cm de profundidad en cada lado (ángulo de 120°).  El rango de detección por encima del dispositivo se debe a que antiguamente era de 60cm pero actualmente, con el software Orion beta, se ha extendido hasta los 80cm. Pero este rango además está limitado por la propagación de la luz de los LEDs en el espacio, resultando más difícil intuir la posición de las manos en 3D más allá de cierta distancia, y la intensidad de estas luces está básicamente limitada por la corriente máxima que puede pasar por la conexión del USB.

A pesar de que el Leap Motion no ha sido específicamente desarrollado para rehabilitación (sino para la interacción humana con el ordenador especialmente relacionada con los juegos), se trata de un dispositivo adecuado para la rehabilitación con videojuegos debido a su bajo coste, pequeñas dimensiones en comparación con otros dispositivos y, especialmente, su fácil uso, ausencia de marcadores y los aspectos cautivadores de su tecnología. Asimismo, provee información a los desarrolladores sobre las manos y dedos como la posición de la punta de los dedos, velocidad y dirección de manos y dedos, longitud y ancho de los dedos, etc., información que no puede ser recogida bajo la observación humana.

Similar a otros dispositivos que se usan en terapia de videojuegos, el hecho de que el objetivo de su uso se haya extendido a la rehabilitación puede deberse al incremento de la participación de pacientes, tanto en términos del tiempo empleado en entrenar como en la implicación cognitiva del entrenamiento. Pero además, a diferencia de otros dispositivos, el Leap Motion puede incluir en sus terapias de videojuegos también a pacientes ancianos, en silla de ruedas (criterio de exclusión en estudios que utilizan, por ejemplo, la Kinect) y que tengan dificultades manejando controladores (criterio de exclusión para usar, por ejemplo, el controlador de la Nintendo Wii).

La simplicidad del Leap Motion puede facilitar el acercamiento de los pacientes a la tecnología, aumentando su sensación de inmersión en el ambiente virtual, su imaginación y su interacción con el ambiente virtual. Estos tres conceptos (inmersión, imaginación e interacción) se conocen como las tres I’s de la realidad virtual.

Capítulo 3. MEDIOS EMPLEADOS

Figura 19: Posicionamiento del Leap Motion.

Otro factor importante a valorar del dispositivo es su seguridad, ya que es un requisito vital en los dispositivos que se comercializan para rehabilitación que no son específicamente desarrollados para uso médico. El Leap Motion Controller es un sistema optoelectrónico donde los pacientes solo mueven las manos en el aire sin tener contacto con el dispositivo. Se rastrean ambas manos, los diez dedos e incluso herramientas (con formas parecidas a los dedos como, por ejemplo, un bolígrafo), modelando todas las articulaciones fisiológicas y debe ser situado entre el usuario y la pantalla del ordenador como se muestra en la figura 19.

Capítulo 3. MEDIOS EMPLEADOS

Figura 20: Vista en infrarrojo desde el visualizador del Leap Motion

Capítulo 3. MEDIOS EMPLEADOS

Figura 21: Vista lateral desde el visualizador del Leap Motion

En términos de reconocimiento de gestos, hasta la fecha el SDK del Leap Motion aporta los siguientes cuatro gestos (sin necesidad de entrenamiento para su reconocimiento): key tap (gesto que imita un dedo pulsando una tecla), screen tap (gesto que imita un dedo presionando una pantalla vertical), swipe (barrido lineal de la mano) y circle (movimiento de un dedo trazando un círculo).

El SDK del Leap Motion está disponible para Windows, Linux y OSX y los lenguajes de programación que admite son C++, C#, Java, Javascript y Python. Para todos ellos se puede encontrar documentación en la página oficial de Leap Motion, además de documentación para las plataformas con las que el controlador se puede integrar en realidad virtual: Unity y Unreal. Para poder trabajar en realidad virtual es necesario descargarse el software Orion Beta.

Capítulo 3. MEDIOS EMPLEADOS

Figura 22: Documentación en la web del Leap Motion.

Por último, en su tienda Leap Motion App Store podemos encontrar una gran variedad de aplicaciones, incluyendo aplicaciones neurológicas.

3.2.3 OCULUS RIFT.

Gracias al software Orion Beta del Leap Motion, es posible jugar al serious game que se ha creado para este proyecto en realidad virtual con las Oculus Rift. Si bien es cierto que jugar al serious game sin las Oculus es muy asequible, para poder utilizar las gafas es necesario contar con un ordenador potente que cumpla con las características que estas requieren. Para ello en este proyecto se ha utilizado el ordenador que aparece en el siguiente apartado.

Capítulo 3. MEDIOS EMPLEADOS

Figura 23: Leap Motion colocado en las Oculus Rift.

Para utilizar el Leap Motion con las Oculus, el dispositivo debe ser incorporado a ellas como se observa en la figura 23. Este detectará las manos en frente a él y no encima como se indicaba en el apartado del Leap Motion, pero esto no afectará a la manera en que el usuario visualice sus manos en el juego ya que Orion Beta está preparado para ambas opciones de juego.

3.2.4 ORDENADOR.

Un ordenador potente, tanto para crear como para jugar a videojuegos en realidad virtual con las Oculus Rift, es un requisito fundamental. Para el desarrollo de este serious game se ha utilizado un ordenador cuyas características se adecuasen a las exigidas por las Oculus: procesador potente, buena tarjeta gráfica, alta capacidad de memoria… Finalmente, se ha utilizado el MSI GT72 2QE DOMINATOR PRO.

Capítulo 3. MEDIOS EMPLEADOS

Figura 24: MSI GT72 2QE DOMINATOR PRO

Figura 25: Especificaciones técnicas del MSI.

Compártelo en tus redes

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest

Valore este curso

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Utilizamos cookies para asegurar que damos la mejor experiencia al usuario en nuestra web. Si sigues utilizando este sitio asumimos que estás de acuerdo. VER