A week ago, me and Eddie participated in a game jam in New York City, hosted by Babycastles / Parsons AMT. After they revealed the secret theme ("@horse_ebooks") we had to concept, design, and build a complete game in less than 48 hours. We chose the "dinner secrets" tweet, we really wanted to work with Kinect, and for some reason the 1980s TV show "Happy Days" was really on our minds.
The Kinect player controls Fonzie, who must hide the fact that he has abused a high quantity of horse tranquilizers and is as high as a kite. (That's the "secret!") During the game, Mr. Cunningham will then ask Fonzie to pass across a variety of tasty and ludicrous dinner dishes -- "Fonzie, could you pass me the Michael Jackson?" -- and so the player must contort their body to pass the item over. A second player acts as Richie Cunningham, a floating head controlled by mouse, to help retrieve items for Fonzie.
The Kinect interface wrapper we used for Unity3D was pretty bad; it uses the API from the official Microsoft Kinect SDK, but it kept corrupting the skeleton data and it didn't provide any image streams from the Kinect itself. While this setup was much easier and more stable than the open source alternatives, in the future, if we ever do another Kinect game, I think we'll use the ZigFu OpenNI Unity-Kinect bundle instead. (Plus, we didn't know about the ZigFu thing until after the fact. Argh.)
We also learned several things:
- The inaccuracy of the Kinect means most games have to be silly and fun to watch, assuming you're trying to map character animation 1:1 to player poses. Anything "serious" will mismatch the inherent absurdity of flailing around in front of a camera and the weird skeletal contortions.
- The inaccuracy of the Kinect means you need to lie to the player constantly. Dance Central does the "lying" part exceptionally well. Show a human figure, but have that human figure smoothly animating. It makes the Kinect seem much more robust. Plus, players are always in a state of denial and will always blame the tech before they blame themselves.
- Rigging character models properly for the Kinect is really really difficult, and may not be worth it. In the future, maybe just stick to point controllers instead of model controllers.
- Being really stupid can be really fun.