Part 2: Playing games
In which we lurch around like idiots even more than usual
01. FAAST fun
The Flexible Action and Articulated Skeleton Toolkit is the key tool used to translate your movements into PC inputs. It latches on to the drivers we installed in Part 1 to follow your skeleton and your position in the room and turn this into keyboard inputs.
First things first: grab the latest version of the software from projects.ict.usc.edu/mxr/faast/, extract it, and run the excecutable inside.
02. Hook it up
We'll presume you're sitting down. Under 'Skeleton Mode', select upper body to tell FAAST it only needs to track the highest part of you, and adjust the smoothing value to somewhere around 0.4.
When you click 'Connect', you'll join FAAST to the OpenNI drivers and, hopefully, see an outline of yourself in its main window. Keep this on screen if you can; it's useful to see what translates into what later on.
03. Do the pose
Put yourself in front of the Kinect and get your silhouette in frame. Stick your elbows out to the side, your fists up, and pose like you're Hulk Hogan.
Hold the pose for a couple of seconds and you should pass the Kinect calibration procedure, with the unit locking on to the length of your limbs and the quality of your posture. As Microsoft would say, you are now the controller.
04. Map your controls
Click over to the Actions page, and you'll see the built-in mapping, which relates your leaning from a central position to in-game movements suitable for walking around.
Dive into an appropriate game now - you'll just need to hit Start Emulator, fire up the game, and waggle yourself around to see how it works. Not perfect, we'll admit, but it's a start.
05. Point and shoot
Stop the emulator, go to the mouse tab, and switch mouse control to active. We went for absolute control, the shoulder joint as the centre, 8-inch bounds for each axis, and a movement threshold of 5.
Start the emulator and your flailing arm should translate into mouse movements, meaning you'll be able to make a gun shape with your fingers and relive playground war games to your heart's content.
06. Trigger happy
You can't shoot yet. You'll need to add a custom command to the Actions tab to turn a specific body movement into a trigger action. Stop FAAST's emulation (you might need to force-quit it using the Task Manager), go to the Actions tab, and insert something along the lines of right_arm_up 5 mouse_click left_button (tweak as you see fit) to map the movement of your other hand to a firing action.
Part 3: No Kinect needed
In which we realise that we already had a webcam and thus wasted our money
01. Grab the software
You'll find CamSpace at camspace.com. The idea is that it locks on to objects of a certain colour or size, then follows them around on your webcam, translating their movements into actions in game.
There are a bunch of pre-cooked profiles available for a load of games, but - most irritatingly - you have to save up 'Campoints' to get them. You're given one per day. Er, sorry.
02. Set it up
But you could always just roll one from scratch. Grab a bunch of brightly coloured objects; Camspace needs something that contrasts with the rest of the environment in order to work well.
A Coke can, for example, or a lurid marker pen. Run the software, then suffer through its horrible calibration game. Now right-click the webcam window, choose Developer Tools, and make your own.
03. The easy bit
Alright. We lied. This isn't the easy bit. But let's say it's relatively straightforward. You'll want to set up the number of objects you want Camspace to track, say what each of them needs to do, and perhaps tweak a few sensitivities to match the specifics of your movement. You should be able to get it working with just about any game - check developers.camspace.com/tutorials/gamecontroller for more.
If you've followed the steps in the tutorial, you'll probably agree with our assertion earlier on that Kinect - and its webcam compatriots - just aren't very good at controlling games. Sorry about that. We did our best.
But they are pretty good at some other things, which you should definitely check out. The Nocolas Burrus' RGBdemo, for instance, is a great example of the technology. Get it running by starting rgbd-viewer.exe (you'll need the drivers we described in Part 1 of the walkthrough on page 83) and check out the 3D view mode. Click and drag the mouse, and you'll see something very nifty - it's you (or whatever you've pointed your Kinect at) mapped in an actual 3D environment. Cool!
You can even export this mapping into a program, such as Meshlab or Blender for further tweaking.
There are plenty of other cool toys available, too. You can also try your hand at charging up and shooting a Dragon Ball Z-style fireball with Kamehameha. Alternatively, you can attempt to 'juggle' virtual balls made out of light with, er, Kinect Juggle.
Heck, you can play classic puzzle games, such as Tetris using utterly impractical kung fu gestures. Lanny Lin has created a configuration file for FAAST that will allow you to do just that. Check out the video of him doing just that at his Lannyland blog.
All of these toys are only the tip of the iceberg of what could potentially emerge from under the many, brilliant minds that make up the homebrew developer community, and it's definitely the community doing the majority of the development. So now it's up to you - will you be the one to make Kinect an essential PC device?