130 likes | 321 Views
Evolution!!!. By Mikhail & Nikhil. Acknowledgements to Max The Kokusai Warrior for the XNA Game Engine, Rhemyst and Rymix for the Kinect DTW Gesture Recognizer Starter code, Michael Noonan for the Input Simulator API & George Mamaladze for the Global Mouse Key Hook .NET. API.
E N D
Evolution!!! By Mikhail & Nikhil Acknowledgements to Max The Kokusai Warrior for the XNA Game Engine, Rhemyst and Rymix for the Kinect DTW Gesture Recognizer Starter code, Michael Noonan for the Input Simulator API & George Mamaladze for the Global Mouse Key Hook .NET. API
Game Rules • Players aim to reach the top of the evolutionary chain • Players evolve by efficiently using fighting joints • Depending on what you evolve into you get new or enhanced abilities
Game Design • Fusion of Live Action with Computer Games • 2-D Fighter Combat Game with Kinect • Player has to exert themselves in the real world to move characters on screen • To simulate a dynamic evolution using fighting techniques • Survival of the Fittest !!
Game Technology • Use of Kinect for Detection of Player moves • Gestures can be recorded for context-sensitive usage (a snake does not punch) • Individual joints can be selected for a gesture • Two players can be monitored simultaneously • Gestures are mapped to appropriate actions on screen
Kinect Gesture Recognition Algorithm • Dynamic Time Warping • Used for comparing sequences of differing lengths (positional data over time) • Uses dynamic programming to match up as many sub-sequences as possible • Outputs the “cost” of this matching as a score • Thresholded to detect gestures
Game Engine • XNA Fighter Engine – by Max The Kokusai Warrior, Trieste - Italy. • Runs as an extension of the FlatRedBall Engine in XNA • Contains Tools for building Characters and Stages • Comes bundled with one stage and one character • Complex implementation
Integration • Kinect recognizes user gesture from library of prerecorded gestures • Triggers a simulated keypress/keydown/keyup • Major Problem: XNA unfortunately cannot receive these simulated events • Eventual Solution: Add a Windows API Hook for keyboard events in XNA Fighter Engine to echo simulated events inside context of Game
How Evolution Works • Keep track of all moves • Frequency of different types of moves (eg. Kicks and Punches vs Blocks) or Backing away/Moving forward are tracked • These dimensions are analyzed for characteristics like defensive behavior, aggression, etc.
Demo Time !! • Bless us this day Oh Lord of Project Demos • Keeping fingers crossed highly recommended
Challenges • Kinect susceptibility to joint occlusions • XNA incompatibility with simulated Input events • Complex and buggy Game Engine • Lack of (character) art / animation
Future Work • More characters (Actual animals this time) • More stages • More moves • Porting to another, simpler engine
Acknowledgements • Thank you Max for the game engine • http://kokusaifightingengine.blogspot.com/ • Thank you Rhemyst and Rymix for the starting code on Kinect DTW Gesture Recognizer • http://kinectdtw.codeplex.com/ • Thank you Michael Noonan for the Input Simulator API • http://inputsimulator.codeplex.com/ • Thank you George Mamaladzefor the Global and Application Keyboard and Mouse Hooker .NET API • http://globalmousekeyhook.codeplex.com/
Thank You! • Questions?