Experimentando Kinect + XNA (SDK oficial)

Esta tarde se ha lanzado el driver + SDK oficial (beta) para el Microsoft Kinect! Había mucha expectación al lanzamiento del SDK… el caso es que no ha sido muy sorprendente que estas librerías sean totalmente distintas a las que se utilizan para desarrollar videojuegos para XBOX 360, y que además su licencia incluya el uso no comercial de las aplicaciones desarrolladas. En definitiva: que es un SDK para experimentar, y muy fácil de usar. Las posibilidades tanto a nivel académico como profesional (aunque sea a nivel experimental) son enormes. Además todo ello viene acompañado con varios ejemplos y documentación (tanto en C++ como C#), descargables en: http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/ 

Además he podido ver en la documentación que la SDK proteje del “mal uso” que podamos hacer de Kinect, así que es prácticamente imposible estropear el hardware desde nuestro código (ya sea a nivel de motor o lentes). Eso es muy positivo, porque de no existir algunas limitaciones sobre el uso de los sensores, según la documentación sería relativamente sencillo estropear el dispositivo.

Lo que sí me ha sorprendido un poco es que Microsoft Research comente en su documentación que no se haya testado el SDK sobre XNA. Mal asunto! En mi caso he querido hacer una primera prueba, que a estas horas de la noche creo que no es lo mejor del mundo, pero es mi primer hello world 🙂 El ejemplo pinta por pantalla los datos obtenidos por la cámara de profundidad, por la cámara de vídeo, y los puntos de unión del esqueleto detectado (puntos rojos en la captura).

Cosas chulas del SDK:

  • Permite acceso “raw” a todos los sensores
  • Seguimiento del esqueleto
  • Increïbles funcionalidades de audio como reconocimiento de voz, que permiten reconocer el orígen del sonido, e incluso interpretar órdenes
  • Documentación completísima, y ejemplos listos para funcionar, como este “minijuego”, que es genial: http://research.microsoft.com/apps/video/default.aspx?id=150286

Varias observaciones / datos curiosos tras hacer esta pequeña prueba de XNA + Kinect:

  • Las imágenes obtenidas de la cámara de vídeo y de profundidad funcionan a 30fps, con una resolución de 640×480 y 320×240 respectivamente.
  • La velocidad de refresco del esqueleto en XNA es horrible, aunque supongo que debo tener algun fallo en el código…
  • Los puntos del esqueleto están pintados en la pantalla sobre un vector 2D, no un vector 3D (obviamente el SDK devuelve parámetros tridimensionales).

 

He adjuntado el Hello World de XNA + Kinect por si álguien quiere jugar un poco con él 🙂 

 

Nuevo juego para Windows Phone 7: Sketchy Blocks

Este juego -hecho con tecnología XNA- es un homenaje al viejo tetris -y técnicamente hablando un experimento de ports multiplataforma, porque ya estoy trabajando en el port a iPhone-. Lo que más me gusta es la increible jugabilidad, a pesar de tener que mover las piezas con la pantalla táctil, y por otro lado la música. La banda sonora es totalmente original, adquirida a un grupo de música ruso, y podréis comprobar por vosotros mismos que es altamente… divertida (ver vídeo del grupo más abajo).

Como curiosidades, el juego dispone de 35 niveles (yo sólo he podido alcanzar el 26 hasta el momento), un ranking global con el que puedes picarte y competir con jugadores de todo el mundo, además de estar disponible en 6 idiomas distintos, y unos bonitos gráficos. Otra ventaja que tiene el juego es el control total del tombstoning, una correcta gestión del tombstoning para mi es esencial en cualquier juego, y esto consiste en mantener la experiencia de usuario del jugador en el móvil. Imagina que estás jugando, y vas por el nivel 30, y recibes una llamada de tu madre o similar, y pierdes todo el avance en tu partida!! Eso no debe ocurrir en ningún juego, y por supuesto no ocurre en Sketchy Blocks. Cuando se pulsa el botón de inicio durante el gameplay, podemos recuperar la partida justo en el punto en el que la dejamos ya sea volviendo atrás o bien volviendo a acceder a la app mediante su icono correspondiente.

Por cierto, quien consiga superar los 35 niveles tendrá una increíble sorpresa visual y auditiva xD Podéis haceros una idea del juego en este vídeo: http://www.youtube.com/watch?v=nqrx-v8Vtho

 

Más información y descarga de la app:

http://www.windowsphoneapplist.com/sketchy_blocks-a21410.html

Aquí va un vídeo del grupo de música que ha compuesto la banda sonora del juego: