Index Project Introduction Justification Game Description Requirement Analysis Implementation Demonstration Technical Achievement Project Review
Body-moving game Using KINECT, a motion sensor developed by Microsoft Controller-free gaming and entertainment
Project Goal Fitness | Stress Bust | Fun
Game Introduction Stomp monsters to save the bakery!
Game Introduction Playing with KINECT
Just step on approaching monsters Game Introduction
JUSTIFICATION FOR PROJECT Market Analysis | Value Proposition | Prospective User
Functional Game Ant Buster
Fastest selling consumer electronics device KINECT breaks Guinness record KINECT Sells 10 Million Systems, Tops iPhone and iPad
KINECT Games Only 25 KINECT software, none of similar game. Ant Buster
Value Proposition Helpful solution for parents
Prospective User For everyone, especially younger people
REQUIREMENT ANALYSIS I/O Processing | Screen Transition | Game Logic Control
Motion recognition, Getting joint coordinates Input Processing
Graphic & sound information sent to user Output Processing
User can switch between screens Screen Transition
Game ≒ Set of rules ≒ Set of game logic Game Logic Control
Motion recognition rate
Response time
GAME DESCRIPTION Background | Rule | Stages | Monsters
Background
Rule Bakery Bakery has constant HP Monster Approach to the Bakery Fixed Number of monsters Game Clear Survive! kill every enemies Game Fail Bakery is siege by enemies
Stages
Monsters Waiting few seconds At the corner Can not stomp During defense mode Summon monsters until death Divide into lot of monsters when it stomped Basic monster Pass through waypoint Moving at the back when it stomped Become slower and slower until min speed
IMPLEMENTATION Architecture | Screen Flowchart
Top-level Architecture Ant Buster Screen Managing ScreenManager Screens Game Start Screen Stage Select Screen Game Play Screen Loading Screen User detecting Screen Score board Screen Etc Screens Game Start Screen Stage Select Screen Game Play Screen Loading Screen User detecting Screen Score board Screen Etc Resources Images Monsters UI Etc Images Monsters UI Etc Scripts Stage Information Monster Move Routes Scripts Stage Information Monster Move Routes Fonts Game Font UI Font Fonts Game Font UI Font Sound Sound Effect BGM Sound Sound Effect BGM Game Objects Monsters Bakery Footprint Etc Objects Monsters Bakery Footprint Etc UI Helper Press Button Slide Button Animation Image Font UI Helper Press Button Slide Button Animation Image Font Stage Stage Data Stage Stage Data Scoring Collision Detection Calculate Score Scoring Collision Detection Calculate Score Handle Input InputManager KINECT Controller Motion Detect Hand slide Stomping Etc Motion Detect Hand slide Stomping Etc Uses Get data Manages USER VR Input IR Input Video Output Sound Output Display / Speaker KINECT
Handle Input Ant Buster Screen Managing ScreenManager Screens Game Start Screen Stage Select Screen Game Play Screen Loading Screen User detecting Screen Score board Screen Etc Screens Game Start Screen Stage Select Screen Game Play Screen Loading Screen User detecting Screen Score board Screen Etc Resources Images Monsters UI Etc Images Monsters UI Etc Scripts Stage Information Monster Move Routes Scripts Stage Information Monster Move Routes Fonts Game Font UI Font Fonts Game Font UI Font Sound Sound Effect BGM Sound Sound Effect BGM Game Objects Monsters Bakery Footprint Etc Objects Monsters Bakery Footprint Etc UI Helper Press Button Slide Button Animation Image Font UI Helper Press Button Slide Button Animation Image Font Stage Stage Data Stage Stage Data Scoring Collision Detection Calculate Score Scoring Collision Detection Calculate Score Handle Input InputManager KINECT Controller Motion Detect Hand slide Stomping Etc Motion Detect Hand slide Stomping Etc Directly linked with KINECT device Event handling of KINECT Controller Recognize and determine user motion
Screen Managing Ant Buster Screen Managing ScreenManager Screens Game Start Screen Stage Select Screen Game Play Screen Loading Screen User detecting Screen Score board Screen Etc Screens Game Start Screen Stage Select Screen Game Play Screen Loading Screen User detecting Screen Score board Screen Etc Resources Images Monsters UI Etc Images Monsters UI Etc Scripts Stage Information Monster Move Routes Scripts Stage Information Monster Move Routes Fonts Game Font UI Font Fonts Game Font UI Font Sound Sound Effect BGM Sound Sound Effect BGM Game Objects Monsters Bakery Footprint Etc Objects Monsters Bakery Footprint Etc UI Helper Press Button Slide Button Animation Image Font UI Helper Press Button Slide Button Animation Image Font Stage Stage Data Stage Stage Data Scoring Collision Detection Calculate Score Scoring Collision Detection Calculate Score Handle Input InputManager KINECT Controller Motion Detect Hand slide Stomping Etc Motion Detect Hand slide Stomping Etc Managing screens and processing screen transitions List of screens
Resources Ant Buster Screen Managing ScreenManager Screens Game Start Screen Stage Select Screen Game Play Screen Loading Screen User detecting Screen Score board Screen Etc Screens Game Start Screen Stage Select Screen Game Play Screen Loading Screen User detecting Screen Score board Screen Etc Resources Images Monsters UI Etc Images Monsters UI Etc Scripts Stage Information Monster Move Routes Scripts Stage Information Monster Move Routes Fonts Game Font UI Font Fonts Game Font UI Font Sound Sound Effect BGM Sound Sound Effect BGM Game Objects Monsters Bakery Footprint Etc Objects Monsters Bakery Footprint Etc UI Helper Press Button Slide Button Animation Image Font UI Helper Press Button Slide Button Animation Image Font Stage Stage Data Stage Stage Data Scoring Collision Detection Calculate Score Scoring Collision Detection Calculate Score Handle Input InputManager KINECT Controller Motion Detect Hand slide Stomping Etc Motion Detect Hand slide Stomping Etc Image / Font / Sound resources Scripts for stage and monster information
Game Ant Buster Screen Managing ScreenManager Screens Game Start Screen Stage Select Screen Game Play Screen Loading Screen User detecting Screen Score board Screen Etc Screens Game Start Screen Stage Select Screen Game Play Screen Loading Screen User detecting Screen Score board Screen Etc Resources Images Monsters UI Etc Images Monsters UI Etc Scripts Stage Information Monster Move Routes Scripts Stage Information Monster Move Routes Fonts Game Font UI Font Fonts Game Font UI Font Sound Sound Effect BGM Sound Sound Effect BGM Game Objects Monsters Bakery Footprint Etc Objects Monsters Bakery Footprint Etc UI Helper Press Button Slide Button Animation Image Font UI Helper Press Button Slide Button Animation Image Font Stage Stage Data Stage Stage Data Scoring Collision Detection Calculate Score Scoring Collision Detection Calculate Score Handle Input InputManager KINECT Controller Motion Detect Hand slide Stomping Etc Motion Detect Hand slide Stomping Etc Manages In-game objects such as monster, footprint, bakery, etc Parses the stage script Helps UI managing and animation processing Processes direct game logic such as collision and score calculation
Screen Flowchart Initial Screen Stage Select Screen Loading Screen Game Play Screen Score Board Screen User Detecting Screen Lost User Condition Lost User Condition If ( lost user ) -> Changing screen to UserDetectingScreen immediately. If ( detect user again ) -> Changing back to the Original Screen.
Demonstration
TECHNICAL ACHIEVEMENT Motion Recognition | KINECT development | Synchronization
Motion Recognition x y Same magnitude NO! a a a !a a z
KINECT do not use Cartesian Coordinates Motion Recognition
Finding the origin and up vector Motion Recognition Up vector Origin
Using Inner product with two vectors Motion Recognition Up vector Origin Inner product with [Vector from origin to foot] and [Up vector] Inner product with [Vector from origin to foot] and [Up vector] from origin to foot
KINECT development itself FROM SCRATCH No IDE, tools, references, etc. Synchronization With KINECT thread and game thread For solving performance problem Other Difficulties
PROJECT REVIEW Member | Lessons Learned
Do, Woojin Screen Managing Presentation Lee, Haechan KINECT input processing Hwang, Jinhwan Game Logic Sound, Graphic Resources Member
3D Image Processing Motion Recognition Hardware Dependant Programming Hot technology trends Co-development experience Learned
Thank you!