Temple Run is an iconic game on iOS/Android in which a runner sprints to avoid a beast chasing close behind. With its rich visuals and exotic settings, the visuals game seemed like an adventure indeed. Our team sought to recreate this experience in immersive virtual reality using the Samsung Gear VR headset, but we thought we could make the experience even cooler by incorporating motion control using the Kinect--after all, what's more realistic than running through a jungle and actually jumping and swerving to avoid obstacles? Thus, Kinect Run 4D was born.Combined with virtual reality and motion control technologies, your entire body is brought inside of a virtual world for a thrilling adventure that puts your reflexes to the test.
What it does
Using the Microsoft Kinect, we track a player's movement--translating jumps and leans in either direction into signals that we process. Body movements are translated to your virtual doppelganger which reacts to the surrounding environment--moving from side to side or up and down accordingly to jump over rivers and race down a mountain.
How we built it
The game works by connecting data from the Microsoft Kinect to an Android application which runs the game engine.
Using a C# Console Application, we parse Kinect motion data and log signals for jumping and leaning in either directions in an output file. A simple Python script reads this file, opens a Bluetooth socket connection, and transmits these signals. On the other end of the connection, an Android application, built with the Unity 3D Mobile engine, receives these signals and translates them into the appropriate motion. The map/setting displayed in-game (picture included) is an original creation too--designed and built entirely within the Unity engine.
Challenges we ran into
The game is one giant integration challenge. The Kinect has to integrate with a Bluetooth transmitter; the Unity 3D engine has to work with calls to the Android API to read the Bluetooth connection. Multiple scripts in multiple languages were necessary to glue everything together. Moreover, implementing the physics necessary to make the game work was a feat in and of itself!
Our team has had an amazing experience at YHack, and we've thoroughly enjoyed the chance to get to work with virtual reality technology and motion control. None of us had any experience working with either types of technology before this weekend, and we're proud of what we've been able to learn in just 36 hours.