Evolution!!! By Mikhail & Nikhil Acknowledgements to Max The Kokusai Warrior for the XNA Game...
Transcript of Evolution!!! By Mikhail & Nikhil Acknowledgements to Max The Kokusai Warrior for the XNA Game...
Evolution!!!
ByMikhail & 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 Mamaladze for the Global and Application Keyboard and Mouse Hooker .NET API– http://globalmousekeyhook.codeplex.com/
Thank You!
• Questions?