Not so long ago, Intel launched their new perceptual computing vision which effectively is a cheaper alternative to Microsoft Kinect sensors. Alongside that they began a challenge to create some inventive apps using the camera and to offer about 125+ developers the chance to win and own one. I entered 3 different apps into the challenge and to my surprise, all three got accepted (only got one camera though )
The camera is a very interesting device. It's both smaller and lighter that the Kinect, and it's cheaper too (although that gap is narrowing with the upcoming release of Kinect V2 coming soon, along with dropping prices of the V1), the camera supports both visual inputs and voice recognition in a very neat package.
Several platforms are supported out of the box with the SDK. Its native language is C++, but several other wrapper versions have been released including:
Sadly the SDK is not the best I’ve used, and its C++ roots run very deep. There are a lot of hoops to jump through just to get an image from the device (supports Depth / Colour and Mask images) let alone get inputs from the sensors.
The SDK does feel more like a driver than an actual SDK, so it may feel more at home to native C++ developers (it's fine if that’s how you cut your bread)
Me being me however, I didn’t stop there so I created my own manager library to interface with the device for my own projects/
My Manager Library
Building on my years of XNA experience, I’ve made a wrapper of the wrapper library to make each of the modes the camera has into distinct components that are simply initialized, and once running, you just grab each of the outputs for use. The library is open source and can be found on Github here:
Back to the Competition
My three entries were both ones I could achieve within the competition deadlines, and they stretched me enough to get dabbling:
- The Lightning machine – those who follow my blog should recognize my favorite sample getting dusted off again
- A block stacking game in Unity
- A car racing game using the camera as the steering wheel
The list almost got reduced to one due to time constraints, and even then, it was looking like I was running out of time (then they extended the deadline ), so today I’ve managed to publish (with the help of my handy helper lib) my first app and it has been published to the competition, so now I can get back on track with my main project.
My two daughters playing with my first creation.
To see the lightning demo in action (as part of the comp this was required) I’ve created a demo video of it in action. Creating it was certainly fun and challenging (the sample not the video ).
So back to the grindstone, although now the challenge has been extended I may spend more time with the open source library to improve it and perfect the racing controller I’ll need.
When I get time, I’ll do some further posts about the SDK and the library I created. Oh time, you elusive beast