I began adding Kinect skeletal tracking and speech helpers to Neat Game Engine since Kinect SDK Beta 2 came out. These helpers were made available under the KinectEngine class in the Neat.Components namespace. After the release of SDK v1.0, I began having troubles with using my Kinect, and I don’t know yet why these problems are happening. Often times when I’m trying to execute my code I get Low Bandwidth errors from the SDK, even with all my other USB devices disconnected. Maybe Kinect still doesn’t work fine on Windows 8 (I’m using Build 8250) or maybe it’s because I’m using an XBOX 360 Kinect hardware. Anyways, because of these annoying development problems I got bored of playing with Kinect until Kinect SDK v1.5 was released and I learned that it has facial tracking tools. Awesome. So I started playing with Kinect again and updated the Kinect code of Neat Game Engine to be compatible with SDK v1.5.
During my experiments with Kinect, I worked on a component that enables multi-touch like interactions with games by tracking the hands of players using skeletal tracking. The idea is pretty simple, and the most important part in implementing such feature is the tweaking part. Since joints move spherically, moving hands forward for pushing items often changes the position of the pointers, making it difficult for the players to focus on an item and push it. Adjusting the sensitivity and freezing the position of the pointers during push gestures is the key part of this project and I am still messing with the parameters to figure out the best experience for these “Air touch” interactions.
Kintouch is available right now in the latest changeset of Neat Game Engine’s source code, available on Codeplex. To enable Kinect features in Neat Game Engine, compile the project with
KINECT directive. For more information about Kintouch, visit its page on my blog.