Index Project Introduction
Justification
Game Description
Requirement Analysis
Implementation
Demonstration
Technical Achievement
Project Review
Body-moving gameUsing KINECT, a motion sensor developed by Microsoft
Controller-free gaming and entertainment
Fastest selling consumer electronics de-vice
KINECT breaks Guinness recordKINECT Sells 10 Million Systems, Tops iPhone and iPad
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
Monsters
Waiting few secondsAt the corner
Can not stompDuring defense mode
Summon monstersuntil death
Divide into lot of mon-sterswhen it stomped
Basic monster
Pass through way-point
Moving at the backwhen it stomped
Become slower and slower until min speed
Top-level Architecture
Ant Buster
Screen ManagingScreen Managing
ScreenManagerScreenManager
ScreensGame Start ScreenStage Select ScreenGame Play ScreenLoading ScreenUser detecting ScreenScore board ScreenEtc
ScreensGame Start ScreenStage Select ScreenGame Play ScreenLoading ScreenUser detecting ScreenScore board ScreenEtc
ResourcesResources
ImagesMonstersUIEtc
ImagesMonstersUIEtc
ScriptsStage InformationMonster Move Routes
ScriptsStage InformationMonster Move Routes
FontsGame FontUI Font
FontsGame FontUI Font
SoundSound EffectBGM
SoundSound EffectBGM
GameGame
ObjectsMonstersBakeryFootprintEtc
ObjectsMonstersBakeryFootprintEtc
UI HelperPress ButtonSlide ButtonAnimationImage Font
UI HelperPress ButtonSlide ButtonAnimationImage Font
StageStage Data
StageStage Data
ScoringCollision DetectionCalculate Score
ScoringCollision DetectionCalculate Score
Handle InputHandle Input
InputManagerInputManager
KINECT ControllerKINECT Controller
Motion DetectHand slideStompingEtc
Motion DetectHand slideStompingEtc
Uses
Get data
Manages
USER
VR Input IR Input VideoOutput
SoundOutput
Display / SpeakerDisplay / SpeakerKINECTKINECT
Handle Input
Ant Buster
Screen ManagingScreen Managing
ScreenManagerScreenManager
ScreensGame Start ScreenStage Select ScreenGame Play ScreenLoading ScreenUser detecting ScreenScore board ScreenEtc
ScreensGame Start ScreenStage Select ScreenGame Play ScreenLoading ScreenUser detecting ScreenScore board ScreenEtc
ResourcesResources
ImagesMonstersUIEtc
ImagesMonstersUIEtc
ScriptsStage InformationMonster Move Routes
ScriptsStage InformationMonster Move Routes
FontsGame FontUI Font
FontsGame FontUI Font
SoundSound EffectBGM
SoundSound EffectBGM
GameGameObjects
MonstersBakeryFootprintEtc
ObjectsMonstersBakeryFootprintEtc
UI HelperPress ButtonSlide ButtonAnimationImage Font
UI HelperPress ButtonSlide ButtonAnimationImage Font
StageStage Data
StageStage Data
ScoringCollision DetectionCalculate Score
ScoringCollision DetectionCalculate Score
Handle InputHandle Input
InputManagerInputManager
KINECT ControllerKINECT Controller
Motion DetectHand slideStompingEtc
Motion DetectHand slideStompingEtc
Directly linked with KINECT device
Event handling of KINECT Controller
Recognize and determine user motion
Screen Managing
Ant Buster
Screen ManagingScreen Managing
ScreenManagerScreenManager
ScreensGame Start ScreenStage Select ScreenGame Play ScreenLoading ScreenUser detecting ScreenScore board ScreenEtc
ScreensGame Start ScreenStage Select ScreenGame Play ScreenLoading ScreenUser detecting ScreenScore board ScreenEtc
ResourcesResources
ImagesMonstersUIEtc
ImagesMonstersUIEtc
ScriptsStage InformationMonster Move Routes
ScriptsStage InformationMonster Move Routes
FontsGame FontUI Font
FontsGame FontUI Font
SoundSound EffectBGM
SoundSound EffectBGM
GameGameObjects
MonstersBakeryFootprintEtc
ObjectsMonstersBakeryFootprintEtc
UI HelperPress ButtonSlide ButtonAnimationImage Font
UI HelperPress ButtonSlide ButtonAnimationImage Font
StageStage Data
StageStage Data
ScoringCollision DetectionCalculate Score
ScoringCollision DetectionCalculate Score
Handle InputHandle Input
InputManagerInputManager
KINECT ControllerKINECT Controller
Motion DetectHand slideStompingEtc
Motion DetectHand slideStompingEtc
Managing screensand processing screen transitions
List of screens
Resources
Ant Buster
Screen ManagingScreen Managing
ScreenManagerScreenManager
ScreensGame Start ScreenStage Select ScreenGame Play ScreenLoading ScreenUser detecting ScreenScore board ScreenEtc
ScreensGame Start ScreenStage Select ScreenGame Play ScreenLoading ScreenUser detecting ScreenScore board ScreenEtc
ResourcesResources
ImagesMonstersUIEtc
ImagesMonstersUIEtc
ScriptsStage InformationMonster Move Routes
ScriptsStage InformationMonster Move Routes
FontsGame FontUI Font
FontsGame FontUI Font
SoundSound EffectBGM
SoundSound EffectBGM
GameGameObjects
MonstersBakeryFootprintEtc
ObjectsMonstersBakeryFootprintEtc
UI HelperPress ButtonSlide ButtonAnimationImage Font
UI HelperPress ButtonSlide ButtonAnimationImage Font
StageStage Data
StageStage Data
ScoringCollision DetectionCalculate Score
ScoringCollision DetectionCalculate Score
Handle InputHandle Input
InputManagerInputManager
KINECT ControllerKINECT Controller
Motion DetectHand slideStompingEtc
Motion DetectHand slideStompingEtc
Image / Font / Sound resources
Scripts for stage and monster information
Game
Ant Buster
Screen ManagingScreen Managing
ScreenManagerScreenManager
ScreensGame Start ScreenStage Select ScreenGame Play ScreenLoading ScreenUser detecting ScreenScore board ScreenEtc
ScreensGame Start ScreenStage Select ScreenGame Play ScreenLoading ScreenUser detecting ScreenScore board ScreenEtc
ResourcesResources
ImagesMonstersUIEtc
ImagesMonstersUIEtc
ScriptsStage InformationMonster Move Routes
ScriptsStage InformationMonster Move Routes
FontsGame FontUI Font
FontsGame FontUI Font
SoundSound EffectBGM
SoundSound EffectBGM
GameGameObjects
MonstersBakeryFootprintEtc
ObjectsMonstersBakeryFootprintEtc
UI HelperPress ButtonSlide ButtonAnimationImage Font
UI HelperPress ButtonSlide ButtonAnimationImage Font
StageStage Data
StageStage Data
ScoringCollision DetectionCalculate Score
ScoringCollision DetectionCalculate Score
Handle InputHandle Input
InputManagerInputManager
KINECT ControllerKINECT Controller
Motion DetectHand slideStompingEtc
Motion DetectHand slideStompingEtc
Manages In-game objects such as monster, footprint, bakery, etc
Parses the stage script
Helps UI managingand animation processing
Processes direct game logic suchas collision and score calculation
Screen Flowchart
Initial ScreenInitial Screen
Stage Select Screen
Stage Select Screen
Loading ScreenLoading Screen
Game Play ScreenGame Play Screen
Score Board ScreenScore Board Screen
User Detecting Screen
User Detecting Screen
Lost User
Condi-tion
Lost User
Condi-tion
If ( lost user ) -> Changing screen to UserDetectingScreen immedi-ately.
If ( detect user again ) -> Changing back to the Original Screen.
Using Inner product with two vectors
Motion Recognition
Up vectorUp vector
OriginOrigin
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 footfrom 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
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