2D GAMES AS CYBER-PHYSICAL SYSTEMS VIDYA NARAYANAN 1 MOTIVATION - - PowerPoint PPT Presentation

2d games as cyber physical systems
SMART_READER_LITE
LIVE PREVIEW

2D GAMES AS CYBER-PHYSICAL SYSTEMS VIDYA NARAYANAN 1 MOTIVATION - - PowerPoint PPT Presentation

2D GAMES AS CYBER-PHYSICAL SYSTEMS VIDYA NARAYANAN 1 MOTIVATION Physics based games with discrete game controllers are hybrid systems Impossible games are no fun Game designs need correctness or playability guarantees


slide-1
SLIDE 1

2D GAMES AS CYBER-PHYSICAL SYSTEMS

VIDYA NARAYANAN

1

slide-2
SLIDE 2

VIDYA NARAYANAN

MOTIVATION

  • Physics based games with discrete game controllers are hybrid

systems

  • Impossible games are no fun
  • Game designs need “correctness” or playability guarantees
  • Trivial games are no fun
  • Games must allow “winning strategies” and be non-trivial
  • Inherently adversarial — hybrid games
  • Opportunity to study various elements of CPSs and dL

2

slide-3
SLIDE 3

VIDYA NARAYANAN

RELATED WORK

  • Adelhart and Kargov : Mario game solver

Adelhardt, Kim, and Nedyalko Kargov. "Mario game solver." IT University

  • f Copenhagen (2012).
  • Graph analysis over axioms
  • Aloupis et. al 2015 : Mario is hard

Aloupis, Greg, et al. "Classic Nintendo games are (computationally) hard." Theoretical Computer Science 586 (2015): 135-160.

  • Demaine et.al 2016: Mario is easy

Demaine, Erik D., Giovanni Viglietta, and Aaron Williams. "Super Mario

  • Bros. is harder/easier than we thought." (2016).

3

slide-4
SLIDE 4

VIDYA NARAYANAN

A (VERY) SIMPLE GAME

4

dx dy

PLAYER DYNAMICS:

x’ = vdx, y’ = vdy

slide-5
SLIDE 5

VIDYA NARAYANAN

A (VERY) SIMPLE GAME

5

PLAYER CONTROL:

{v:=v+1; ++ v:=v-1; ++ ?true}

PLAYER DYNAMICS:

x’ = vdx, y’ = vdy

slide-6
SLIDE 6

VIDYA NARAYANAN

A (VERY) SIMPLE GAME

6

Hj

PLAYER CONTROL:

{v:=v+1; ++ v:=v-1; ++ ?true} {{j:=J; g:=G} ++ {j:=0;g:=0} ++ ?true}

PLAYER DYNAMICS:

x’ = vdx, y’ = j + vdy, j’=-g

EVOLUTION CONSTRAINTS

y >= ground

slide-7
SLIDE 7

VIDYA NARAYANAN

A (VERY) SIMPLE GAME

7

Hj

PLAYER CONTROL:

{v:=v+1; ++ v:=v-1; ++ ?true} {{j:=J; g:=G} ++ {j:=0;g:=0} ++ ?true}

PLAYER DYNAMICS:

x’ = vdx, y’ = j + vdy, j’=-g

EVOLUTION CONSTRAINTS

y >= ground

WORLD FIX-UP CONTROL:

if ( y <= ground ) { j:= 0; g:=0 }

slide-8
SLIDE 8

VIDYA NARAYANAN

A (VERY) SIMPLE GAME

8

Hj

PLAYER CONTROL:

{v:=v+1; ++ v:=v-1; ++ ?true} {{j:=J; g:=G} ++ {j:=0;g:=0} ++ ?true}

PLAYER DYNAMICS:

x’ = vdx, y’ = j + vdy, j’=-g, t’=1

EVOLUTION CONSTRAINTS

y >= ground t <= T

WORLD FIX-UP CONTROL:

if ( y <= ground ) { j:= 0; g:=0 }

slide-9
SLIDE 9

VIDYA NARAYANAN

LEVEL DESIGN

9

Infinitely long

VIRTUAL PLAYER/WORLD DYNAMICS:

x’ = vdx, l’ = vdy

WORLD CONTROL:

dx:=*; dy:=* ?dx^2+dy^2=1; ? dx > 0

slide-10
SLIDE 10

VIDYA NARAYANAN

LEVEL DESIGN

10

Infinitely long

VIRTUAL PLAYER/WORLD DYNAMICS:

ux’ = v udx, h’ = v udy

WORLD CONTROL:

dx:=*; dy:=* ?dx^2+dy^2=1; ? dx > 0

slide-11
SLIDE 11

VIDYA NARAYANAN

LEVEL DESIGN

11

PLAYER CONTROLLER

if( t>=T) { t:=0, …}

DYNAMICS

….

WORLD CONTROLLER

….

slide-12
SLIDE 12

VIDYA NARAYANAN

SAFETY AND PLAYABILITY

12

Max Height H Infinitely long

PLAYER CONTROL:

if( t >= T & y = l) { j….}

WORLD CONTROL:

dx:=*; dy:=* ?l+dy*T + clearance < H

slide-13
SLIDE 13

VIDYA NARAYANAN

Max Height H Infinitely long dx dy

LEVEL MODELING

13

slide-14
SLIDE 14

VIDYA NARAYANAN

Max Height H Infinitely long dx dy

SAFETY AND PLAYABILITY

14

OBSTACLES:

hb + clearance < H

slide-15
SLIDE 15

VIDYA NARAYANAN

GAME CHALLENGES

15

PROGRESS AVOID ATTACK

slide-16
SLIDE 16

VIDYA NARAYANAN

GAME CHALLENGES

16

PROGRESS

{ IF ( T = T) T := 0 PLAYER CONTROLLER } { ODES & T < T } { WORLD CONTROLLER}

xb,l

slide-17
SLIDE 17

VIDYA NARAYANAN

GAME CHALLENGES

17

PROGRESS

INITIAL CONDITIONS -> <{ IF ( T = T) T := 0 PLAYER CONTROLLER } { ODES & T < T } { WORLD CONTROLLER} }* > PROGRESS?

xb,l

slide-18
SLIDE 18

VIDYA NARAYANAN

GAME CHALLENGES

18

PROGRESS

INITIAL CONDITIONS -> <{ IF ( T = T) T := 0 PLAYER CONTROLLER } { ODES & T < T } { WORLD CONTROLLER} > PROGRESS?

xb,l

slide-19
SLIDE 19

VIDYA NARAYANAN

GAME CHALLENGES

19

PROGRESS

INITIAL CONDITIONS -> <{ IF ( T = T) T := 0 PLAYER CONTROLLER } { ODES & T < T } { WORLD CONTROLLER}^@ > PROGRESS?

xb,l

slide-20
SLIDE 20

VIDYA NARAYANAN

GAME CHALLENGES

20

PROGRESS

INITIAL CONDITIONS -> <{ IF ( T = T) T := 0 PLAYER CONTROLLER } { ODES & T < T }^@ { WORLD CONTROLLER}^@ > PROGRESS?

ENVIRONMENT IS AN ADVERSARY BY DESIGN

xb,l

slide-21
SLIDE 21

VIDYA NARAYANAN

GAME CHALLENGES

21

PROGRESS

INITIAL CONDITIONS -> <{ IF ( T = T) T := 0 PLAYER CONTROLLER } { ODES & T < T }^@ { WORLD CONTROLLER}^@ > PROGRESS?

xb,l

slide-22
SLIDE 22

VIDYA NARAYANAN

GAME CHALLENGES

22

PROGRESS

INITIAL CONDITIONS -> <{ { IF ( T = T) T := 0 PLAYER CONTROLLER } { ODES & T < T }^@ ?(T > 0)^@ { WORLD CONTROLLER}^@ ?(DX > 0)^@ }* > PROGRESS?

ENVIRONMENT IS REASONABLE

xb,l

slide-23
SLIDE 23

VIDYA NARAYANAN

GAME CHALLENGES

23

PROGRESS

INITIAL CONDITIONS -> <{ { IF ( T = T) T := 0 PLAYER CONTROLLER } { ODES & T < T }^@ ?(T > EPS)^@ { WORLD CONTROLLER}^@ ?(DX > EPS)^@ }* > PROGRESS? IF V = 1, EPS^2 PROGRESS IN EACH ITERATION

ENVIRONMENT IS “EPSILON” REASONABLE

xb,l

slide-24
SLIDE 24

VIDYA NARAYANAN

GAME CHALLENGES

24

AVOID

INITIAL CONDITIONS -> <{ { IF ( T = T) T := 0 PLAYER CONTROLLER } { ODES & T < T }^@ ?(T > EPS)^@ { WORLD CONTROLLER}^@ ?(DX > EPS)^@ }* > AVOID?

xb,l

slide-25
SLIDE 25

VIDYA NARAYANAN

GAME CHALLENGES

25

AVOID

INITIAL CONDITIONS -> <{ { IF ( T = T) T := 0 PLAYER CONTROLLER } { ODES & T < T }^@ ?(T > EPS)^@ { WORLD CONTROLLER}^@ ?(DX > EPS)^@ } > AVOID?

SINGLE STEP xb,l

slide-26
SLIDE 26

VIDYA NARAYANAN

GAME CHALLENGES

26

AVOID

INITIAL CONDITIONS: XB = X + TJ * V , T = 2*TJ, DX > 0 POST CONDITION: X = XB -> Y > L

CAN MAKE “PROGRESS” ON THE LEVEL CAN AVOID OBSTACLE BY JUMPING IF CONDITIONS HOLD TJ = (J+V)^2/2G

xb,l

slide-27
SLIDE 27

VIDYA NARAYANAN

GAME CHALLENGES

27

ATTACK

INITIAL CONDITIONS: XB = X + (TJ + TB)*V , TJ + TB < T POST CONDITION: X = XB -> Y = YB

TJ = (J+V)/G TB^2 = 2(HB-HJ)/G , TB > 0 HJ = (J+V)^2/2G

slide-28
SLIDE 28

VIDYA NARAYANAN

COMPOSITION?

28

slide-29
SLIDE 29

VIDYA NARAYANAN

INTERACTIVE DESIGN?

29

slide-30
SLIDE 30

VIDYA NARAYANAN

THANK YOU!

30

ICON CREDITS: THE NOUN PROJECT JOEL MCKINNEY, ICONSPHERE, CORPUS DELICTI