Mi experiencia en el desarrollo de videojuegos para Leap Motion

Hoy se realizó el lanzamiento oficial del Leap Motion, un pequeño gadget que te permite controlar la computadora con gestos y movimientos de las manos.

Uno de mis objetivos este año era desarrollar un videojuego para alguno de los múltiples dispositivos o consolas anunciadas para el 2013. En primera instancia tenía pensado desarrollar para Ouya pero luego me enteré del Leap Motion  y me pareció un proyecto más interesante porque podía crear una experiencia de juego diferente.

Foto: We're going live on 7.22. It won't be at midnight PT, but you'll hear from us soon. We'll post here as soon as we launch.

Con determinación y entusiasmo nos registramos como desarrolladores en la página web de la compañía. A los pocos días nos aceptaron, nos dieron acceso al SDK y nos enviaron gratuitamente el dispositivo. Lo recibimos un mes después de lo previsto por errores de la empresa de entregas (Mi Leap Motion conoció Sudáfrica).

Al probar por primera vez el Leap Motion quedé impresionada con lo fácil y rápido que fue empezar a usarlo. Sólo tienes que conectarlo a un puerto USB, ejecutar el software controlador y listo. El SDK de Leap Motion tiene soporte para varios de los lenguajes de programación más usados: C++, C#, Java, Python, entre otros, y la interacción con la API es de dos tipos: Listener y Polling.

Desarrollar un videojuego para el Leap Motion es una tarea bastante laboriosa y en ocasiones compleja. Lo más difícil es pensar en cómo adaptar el gameplay a la estructura de control y detección de gestos que ofrece el SDK. En un principio, sólo estaban disponibles unos pocos gestos como: movimiento circular del dedo, pulsación de una tecla en el aire, barrido de un dedo en el aire y tap o toque de la pantalla en el aire con un dedo. Posteriormente se agregaron otros.

Como desarrolladora, debo confesar que la precisión era bastante decepcionante. Pronto nos encontramos con dificultades inesperadas, no relacionadas con la adaptación del gameplay. Una tarea cotidiana y simple como pulsar un botón del menú se convirtió en una tarea difícil y frustrante. Llegué a pensar que lo que veía en los videos de Leap Motion eran versiones altamente glorifiacadas por el marketing y los programas de edición. Sin embargo, decidí seguir adelante con el proyecto porque me gustaba la idea de controlar mi videojuego con las manos, esa libertad es imposible de reproducir con ninguno de los periféricos convencionales de la PC. Así, luego de programar varios gestos infructuosamente, decidimos recurrir al ingenio creador. En lugar de utilizar alguno de los gestos del SDK para pulsar un botón, decidimos poner una barra de carga que se activa al poner el cursor sobre el botón y tarda unos segundos en llenarse. A los niños y a las personas de Leap Motion encargadas de revisar el juego les gustó la idea.

 

Solventado ese inconveniente seguimos adelante con el desarrollo. Simplificamos muchos elementos de la interfaz de usuario del juego y aplicamos nuevamente nuestro ingenio para hacer muchas cosas en un sólo movimiento. El gameplay de nuestro videojuego The Rainbow Machine consiste en estirar y posicionar una barra con el objeto de dirigir una bola hacia un cofre. Una vez posicionada la barra hay que pulsar un botón de Play para que la bola empiece a moverse. Para la versión de Leap Motion, esas dos acciones importantes, posicionar y pulsar un botón, las condensamos en un sólo movimiento.


Al comenzar un level la barra aparece muy estirada, fuera de los límites permitidos para realizar una jugada, de esta forma nos aseguramos de poder mover la barra con confianza, disminuyendo las probabilidades de que un jugador por error, apenas entre a jugar posicione la barra en un sitio que no desea. Para fijar la barra y al mismo tiempo ejecutar la jugada, es decir, hacer que la bola se mueva como cuando se pulsa el botón Play, sólo es necesario unir los dedos lo suficiente hasta que la barra alcance el nivel permitido, visualmente. En otras palabras, hasta que la barra sea completamente blanca y no se note ningún extremo rojo. En un sola acción se fija la barra y se ejecuta el juego. Se juega con los dos dedos índices y pueden utilizarle tools como palillos.

También agregamos varios de los gestos del SDK: barrido de un dedo en el aire, para pasar entre escenas, y toque de la pantalla en el aire con un dedo para pinchar las burbujas de un jackpot. Cabe resaltar, que luego de varios meses se realizaron mejoras en el SDK y la precisión aumentó. Esta actualización nos alegró pero también nos obligó a modificar parte de lo que ya habíamos hecho.

Al final, logré terminar satisfactoriamente mi videojuego para Leap Motion. El feedback que obtuve del equipo de la compañía fue grandioso y publicaron nuestro videojuego en su tienda Airspace. También, fue nominado para el programa Beta, recibiendo varios comentarios positivos y una excelente valoración. Aunque las valoraciones que tenía fueron eliminadas al hacer una actualización en la página, estoy satisfecha por la recepción que tuvo mi videojuego en el programa Beta. The Rainbow Machine Air Edition está disponible para Windows y Mac.

Hubo múltiples complicaciones en este desarrollo, pero estoy muy feliz y orgullosa de que mi videojuego haya sido aprobado y se encuentre en la tienda de Leap Motion. Fue una gran experiencia, fuimos los primeros venezolanos en desarrollar un videojuego para Leap Motion. Espero que más desarrolladores latinoamericanos se animen a trabajar con esta nueva tecnología ^_^.