Wednesday, May 2, 2012

Convincing Xbox360 Kinect to Play Nice with a Small Apartment

Whenever I am discussing our NUI CDR project with someone for the first time I normally need to explain to them we are using the “PC” version of Kinect, rather than the “Xbox” version, and often times people seem surprised there’s a difference. The PC version primarily exists for software developers to build on, and the Xbox version is targeted at end users looking to control their gaming console. It should be mentioned there's plenty of open-source software out there to hack the Xbox Kinect using a PC, and some may say it was this growing trend that encouraged Microsoft to release a version for PC with an official SDK. In any case, it seemed like a good idea to buy a Kinect for my Xbox360 to learn more about using gesture interactions and to gain a familiarity with what game developers have been serving to their audience up to this point. While some reading this may be quick to accuse me of gaming during times I should be working, it should be noted that this is research, yes I am playing Xbox and it is research!

Oh yeah, by the way, before we even touch any gaming there's a little calibration process...


A few days prior to purchasing my Kinect for Xbox I played at a friend’s house, he happened to have a rather large gaming room and it worked great. I did enough research and measuring prior to shopping that I knew my room was probably too small. Fortunately, for those of us with less than 8’ of empty space in front of the television, a company called Nyko makes a small room adapter called the Zoom. Looking at reviews online it’s easy to see a split verdict, users either love this accessory or they consider it borderline junk. Part of the issue with the Nyko Zoom adapter is that is distorts the image the Kinect is receiving. It’s like a wide-angle lens that clips onto the Kinect, and putting it on requires a full calibration for it to work properly, also to be noted is that because of the image distortion the optimal height for the Kinect is lower. With the Zoom adapter on and the Kinect above my TV I was getting sporadic error messages, during calibration the Kinect was unable to see the floor, and my knees were sometimes confused with my feet. It was especially frustrating because during daylight hours it seemed to work fine, but when I lost the natural light spilling in from my windows the sensor would constantly lose sight of my extremities as I feverishly flailed my arms trying to be seen. To say the least it was frustrating, I was fighting with the sensor 90% of the time and gaming only about 10%. Documentation packaged with the Nyko Zoom is sparse and I'm under the impression many of the negative reviews are a result of users being unaware of the need to re-calibrate or from a general lack of understanding what the Zoom device is actually doing to the sensor image.

Note the slight fisheye distortion on the body tracking window in the images below, this is what the Zoom adapter does, and without it my room is simply too small to run through the calibration process, my only chance for playing Kinect in my apartment depended on getting this adapter to work properly.


Below: Xbox360 Kinect calibration | basic instruction screen


Below: Xbox360 Kinect calibration | distance and angle adjustment


Eventually, after much trial and error, I found a “sweet spot” for the sensor to the left of my TV. It took days of running calibrations, lighting adjustments, furniture re-arrangements, and having a variety of issues along the way it was almost accidental when I uncovered the reliable Xbox360 Kinect placement for my apartment! Microsoft recommends the Kinect should be center aligned to the display. However, due to the small space available in my apartment, the addition of the Nyko Zoom adapter to offset the small space, my huge old CRT HDTV's footprint, and the height needed for Kinect to see the floor; the only reliable placement was to the left of my television. I tried this spot to the left of my TV as a final option before returning it to the store for a refund, fortunately it's a solid experience despite the fact Microsoft does not recommend it being there. So far no stiff neck or pulled muscles, it was awkward at first but for a reliable experience I am fine with turning my head slightly or shifting my eyes to play.


Below: My particular room size, television type, furniture arrangement, and the use of a small-room adapter influenced the best placement of the sensor. Reliability in detection is paramount for an enjoyable experience, characteristics of the individual environment influence placement selection, in small spaces a user must get creative and in some cases abandon the manufacturer recommendations. (click to enlarge)


I recently made a call to Microsoft Xbox customer service to ask about something related to my Kinect purchase, while I had them on the phone I asked about people calling in with Kinect and problems with their rooms. The service representative told me it’s a very common call and the gaming environment is usually an issue for people, this is mainly things like the room size, lighting, and sensor height. I told her about my winding journey with Kinect for Xbox360, use of the Nyko adapter, room lighting experiments, furniture placement, and my eventual reliable solution with the Kinect to the left of the television. I speculate that most consumers would have thrown in the towel, boxed up, and returned the device after the first series of failed calibrations or sporadic device behavior. From the research I’ve done it seems there’s a significant gap between the environmental characteristics where most gamers dwell and the space and lighting required by Kinect, they seem to reside on opposite ends of the spectrum. In general Kinect wants things bright and open, and many gamers dwell in cramped quarters with low lighting. However, this is not about lounging around in the dark and eating pizza rolls; it’s about getting up and having some fun, doing something new, and maybe even burning a few calories through gaming!

Below: various Xbox360 Kinect images


Once it's configured and calibrated properly the Xbox360 Kinect effectively delivers real innovation to gaming and it's a joy to use the technology. Understanding exactly what the small room adapter was doing and having a stubborn determination paid off, in the end I’m glad that it’s finally working and it seems reliable. Some of the most valuable insights came from observing a friend struggle to navigate various menus on different games, which of course is a requirement before starting the actual play session.

This was a rather long post but it's been a while and there was a lot to cover. In summary, calibration was frustrating, gaming was fun, and we learned a lot about using Kinect. Next blog update we will cover some of our prototype UI flow documentation.

No comments:

Post a Comment