Kinect Hacking: A história até agora
De sucesso na consola para plataforma de produtos caseiros.
Não tem sido uma semana particularmente boa para os hackers, com o processo de abrir uma plataforma de hardware debaixo das atenções devido às suas ligações à pirataria. No entanto, a recente engenharia reversa do Kinect da Microsoft tem mostrado efectivamente como o hacking pode levar a uma vastidão de inovações caseiras sem qualquer impacto nas vidas de quem trabalha na indústria dos videojogos.
O equipamento Kinect foi alvo de engenharia reversa para funcionar no PC dias após o seu lançamento, com o hacker Martin ( membro da equipa Fail0verflow que está a ser alvo da litigação da Sony) a revelar que a Microsoft não fez nada para proteger o equipamento que corre em qualquer plataforma que possua a necessária conexão USB (um hack PlayStation 3 certamente vai surgir a qualquer momento). O Kinect foi efectivamente uma plataforma aberta desde o primeiro dia, com a criação de drivers de interface a ser a única tarefa para os "hackers".
A Microsoft revelou os seus próprios planos para levar o Kinect para o PC, mas as credenciais caseiras da plataforma receberam um enorme tiro no pé quando os arquitectos tecnológicos do equipamento nuclear – a PrimeSense de Israel – lançou os drivers oficiais do Kinect juntamente com uma actualização de integração para o seu próprio sistema middleware NITE: a chamada iniciativa OpenNI. A este ponto, pode ser discutido que o "hacking" do Kinect como tal tornou-se obsoleto em favor de uma nova plataforma com ferramentas públicas oferecidas pelos criadores da tecnologia.
As ferramentas providenciadas certamente deram um impulso massivo à comunidade. O software NITE, por exemplo, interpreta os dados de profundidade em cru do Kinect para reconhecimento de esqueleto, entre outras coisas. No espaço de meras semanas, o Kinect a operar no PC passou de um hack ligeiramente básico para algo muito, muito maior – as ferramentas estão ali para os criadores caseiros criarem as suas próprias aplicações e jogos com "interface de utilizador natural".
Uma das primeiras verdadeiramente impressionantes demonstrações a representar o potencial da tecnologia foi a demo de câmara de vídeo 3D de Kreylos. Nesta experiência inovadora ele combinou a imagem de uma convencional câmara RGB com os dados de profundidade para produzir uma webcam 3D baseada na profundidade, isso podia também ser usado para medir eficazmente objectos. Praticamente a única limitação que poderíamos ver é o facto de apenas haver um conjunto de dados de profundidade – portanto um objecto por detrás doutro não podia ser visto, por exemplo. Apesar de críticas que não iria funcionar, Kreylos melhorou o seu hack para funcionar com dois sensores Kinect , e a noção de um espaço quase completamente recriado virtualmente em 3D tornou-se numa realidade.
Com o lançamento das drivers oficiais do Kinect e da iniciativa OpenNI, não demorou muito até os codificadores caseiros começarem a experimentar com a adequação da câmara para integração em títulos PC existentes. Para esse fim, a FAAST (Flexible Action and Articulated Skeleton Toolkit)foi lançada – um software suite que permite praticamente a qualquer um com uma pequena quantidade de conhecimento tecnológico voltar a mapear dados do esqueleto do Kinect para as inserções mais tradicionais do rato e teclado.
Já testemunhámos um leque de jogos adaptados: vimos Super Mario Bros a correr com funcionalidade Kinect, World of Warcraft a funcionar com uma série de confusos e bem limitados controlos baseados por gestos. Demize2010 levou a fase de conceito mais longe, combinando implementações Kinect e Wiimote PC para permitir que jogos de tiros operassem mais efectivamente.
De todos os hacks Kinect que vimos até agora, as implementações de jogabilidade são talvez as mais fracas. Os jogos são tão intrinsecamente construídos em redor dos seus esquemas de controlo que a noção de forçar um sistema completamente alienígena no registar de movimento ou gestos simplesmente não funciona. Apenas tanto pode ser alcançado ao literalmente mapear novamente os existentes controlos para a interpretação de dados de movimento do Kinect, e os problemas de latência são dolorosamente aparentes.
As demos servem também para ilustrar um par de outras coisas. Primeiramente, os jogos precisam realmente de ser construídos do início em redor das capacidades do Kinect – e claro, das suas limitações. Em segundo, os feitos dos criadores para a Xbox 360 em colocar os seus jogos a funcionar tão bem pode ser algo que tomamos como garantido (se bem que talvez por vezes o seu código ofereça demasiada ajuda).
No entanto, onde a comunidade homebrew conseguiu algumas vitórias massivas na experimentação com instrumentos musicais virtuais.
A representação de Tom Hanks/Big piano graças ao Kinect no PC ganhou massivos aplausos com mérito pela seu puro engenho e efeito aprazível na multidão, mas outra demo pouco conhecida mostra como um conceito caseiro pode realmente acabar num futuro jogo. Esta Air Guitar demo é coisa realmente impressionante.
Títulos de música e dança têm uma vantagem inerente sobre outros tipos de jogabilidade. Uma vez que os movimentos que te pedem para replicar podem ser antecipados, a latência pode ser completamente balanceada (como é em Dance Central, por exemplo), portanto os criadores têm todo o tempo no mundo para processar os teus movimentos apuradamente. A única interrogação aplica-se realmente à sensibilidade do Kinect e à eficácia na medição da posição dos dedos e da orientação das mãos dos jogadores, mas como a equipa de notícias da Eurogamer descobriu, a Microsoft está a tentar aumentar a eficácia do Kinect através da refinação do sinal USB. Actualmente, os títulos Kinect apenas usam um mapa de profundidade de 320x240, enquanto o aparelho em si é capaz de uma resolução até quatro vezes mais.
Longe das implementações de jogabilidade, o trabalho de conceito em redor do lançamento das drivers do Kinect fez surgir alguns usos altamente práticos, se bem que de nichos, para a tecnologia. Como discutimos no nosso blogue inicial sobre as drivers de fonte aberta, a câmara tem um grande valor para entusiastas amadores da robótica.
Ligar a câmara a um robô pode dar-te uma "vista pelos olhos do robô" remota mas existe poucos dados do mundo real que podem ser derivados de uma imagem básica como esta. Os velhos cães robóticos AIBO da Sony incorporavam sensores adicionais construídos no focinho para impedir o cachorro de colidir com coisas e cair pelas escadas abaixo. Adicionar uma câmara de profundidade como o Kinect permite aos robôs detectar obstáculos e os evitar muito mais naturalmente. Os robôs podem também fixar em humanos e aceitar gestos como comandos, ou até usardados de esqueleto para imitar movimento do corpo.
Para além das aplicações práticas como esta, existem também uma grande quantidade de trabalho caseiro na recriação de algo aproximado do interface mítico de Minority Report, ou pelo menos na manipulação de objectos literalmente pela mão. Vimos demos que podem registar dedos individuais, gerando um efeito de estilo multi-toque que eclipsa todo o que vimos em termos de precisão dos títulos Kinect Xbox 360. Portanto existe algo que a Microsoft pode realmente aprender desta área de produtos caseiros?