index project introduction justification game description requirement analysis implementation...

46
G10K Do, Woojin Lee, Haechan Hwang, Jinhwan

Post on 21-Dec-2015

225 views

Category:

Documents


3 download

TRANSCRIPT

G10K

Do, WoojinLee, Haechan

Hwang, Jinhwan

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

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 de-vice

KINECT breaks Guinness recordKINECT Sells 10 Million Systems, Tops iPhone and iPad

KINECT GamesOnly 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 Con-trol

Motion recognition, Getting joint coordi-nates

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 DESCRIPTIONBackground | Rule | Stages | Monsters

Background

Background

Background

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 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

IMPLEMENTATIONArchitecture | Screen Flowchart

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.

Demonstration

TECHNICAL ACHIEVEMENT

Motion Recognition | KINECT development | Syn-chronization

Motion Recognition

x

y Same magni-tude

Same magni-tudeNO!NO!

a

a

a

!a

a

!a

z

KINECT do not use Cartesian Coordinates

Motion Recognition

Finding the origin and up vector

Motion Recognition

Up vectorUp vector

OriginOrigin

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

PROJECT REVIEWMember | 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!