2d games as cyber physical systems
play

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


  1. 2D GAMES AS CYBER-PHYSICAL SYSTEMS VIDYA NARAYANAN 1

  2. 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 VIDYA NARAYANAN 2

  3. RELATED WORK • Adelhart and Kargov : Mario game solver Adelhardt, Kim, and Nedyalko Kargov. "Mario game solver." IT University of 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). VIDYA NARAYANAN 3

  4. A (VERY) SIMPLE GAME dy dx PLAYER DYNAMICS: x’ = vdx, y’ = vdy VIDYA NARAYANAN 4

  5. A (VERY) SIMPLE GAME PLAYER DYNAMICS: PLAYER CONTROL: x’ = vdx, y’ = vdy {v:=v+1; ++ v:=v-1; ++ ?true} VIDYA NARAYANAN 5

  6. A (VERY) SIMPLE GAME Hj PLAYER CONTROL: PLAYER DYNAMICS: {v:=v+1; ++ v:=v-1; ++ ?true} x’ = vdx, y’ = j + vdy, j’=-g {{j:=J; g:=G} ++ {j:=0;g:=0} ++ ?true} EVOLUTION CONSTRAINTS y >= ground VIDYA NARAYANAN 6

  7. A (VERY) SIMPLE GAME Hj PLAYER CONTROL: PLAYER DYNAMICS: {v:=v+1; ++ v:=v-1; ++ ?true} x’ = vdx, y’ = j + vdy, j’=-g {{j:=J; g:=G} ++ {j:=0;g:=0} ++ ?true} EVOLUTION CONSTRAINTS WORLD FIX-UP CONTROL: if ( y <= ground ) { j:= 0; g:=0 } y >= ground VIDYA NARAYANAN 7

  8. A (VERY) SIMPLE GAME Hj PLAYER CONTROL: PLAYER DYNAMICS: {v:=v+1; ++ v:=v-1; ++ ?true} x’ = vdx, y’ = j + vdy, j’=-g, t’=1 {{j:=J; g:=G} ++ {j:=0;g:=0} ++ ?true} EVOLUTION CONSTRAINTS WORLD FIX-UP CONTROL: if ( y <= ground ) { j:= 0; g:=0 } y >= ground t <= T VIDYA NARAYANAN 8

  9. LEVEL DESIGN Infinitely long WORLD CONTROL: VIRTUAL PLAYER/WORLD DYNAMICS: dx:=*; dy:=* x’ = vdx, l’ = vdy ?dx^2+dy^2=1; ? dx > 0 VIDYA NARAYANAN 9

  10. LEVEL DESIGN Infinitely long WORLD CONTROL: VIRTUAL PLAYER/WORLD DYNAMICS: dx:=*; dy:=* ux’ = v udx, h’ = v udy ?dx^2+dy^2=1; ? dx > 0 VIDYA NARAYANAN 10

  11. LEVEL DESIGN PLAYER CONTROLLER if( t>=T) { t:=0, …} DYNAMICS …. WORLD CONTROLLER …. VIDYA NARAYANAN 11

  12. SAFETY AND PLAYABILITY Infinitely long Max Height H PLAYER CONTROL: if( t >= T & y = l) { j….} WORLD CONTROL: dx:=*; dy:=* ?l+dy*T + clearance < H VIDYA NARAYANAN 12

  13. LEVEL MODELING Infinitely long Max Height dy H dx VIDYA NARAYANAN 13

  14. SAFETY AND PLAYABILITY Infinitely long dy Max Height H dx OBSTACLES: hb + clearance < H VIDYA NARAYANAN 14

  15. GAME CHALLENGES ATTACK PROGRESS AVOID VIDYA NARAYANAN 15

  16. GAME CHALLENGES { IF ( T = T) T := 0 PLAYER CONTROLLER } { ODES & T < T } xb,l { WORLD CONTROLLER} PROGRESS VIDYA NARAYANAN 16

  17. GAME CHALLENGES INITIAL CONDITIONS -> <{ IF ( T = T) T := 0 PLAYER CONTROLLER } { ODES & T < T } xb,l { WORLD CONTROLLER} }* PROGRESS > PROGRESS? VIDYA NARAYANAN 17

  18. GAME CHALLENGES INITIAL CONDITIONS -> <{ IF ( T = T) T := 0 PLAYER CONTROLLER } { ODES & T < T } xb,l { WORLD CONTROLLER} > PROGRESS? PROGRESS VIDYA NARAYANAN 18

  19. GAME CHALLENGES INITIAL CONDITIONS -> <{ IF ( T = T) T := 0 PLAYER CONTROLLER } { ODES & T < T } xb,l { WORLD CONTROLLER}^@ > PROGRESS? PROGRESS VIDYA NARAYANAN 19

  20. GAME CHALLENGES INITIAL CONDITIONS -> <{ IF ( T = T) T := 0 PLAYER CONTROLLER } { ODES & T < T }^@ xb,l { WORLD CONTROLLER}^@ > PROGRESS? PROGRESS ENVIRONMENT IS AN ADVERSARY BY DESIGN VIDYA NARAYANAN 20

  21. GAME CHALLENGES INITIAL CONDITIONS -> <{ IF ( T = T) T := 0 PLAYER CONTROLLER } { ODES & T < T }^@ xb,l { WORLD CONTROLLER}^@ > PROGRESS? PROGRESS VIDYA NARAYANAN 21

  22. GAME CHALLENGES INITIAL CONDITIONS -> <{ { IF ( T = T) T := 0 PLAYER CONTROLLER } xb,l { ODES & T < T }^@ ?(T > 0)^@ { WORLD CONTROLLER}^@ ?(DX > 0)^@ PROGRESS }* > PROGRESS? ENVIRONMENT IS REASONABLE VIDYA NARAYANAN 22

  23. GAME CHALLENGES INITIAL CONDITIONS -> <{ { IF ( T = T) T := 0 PLAYER CONTROLLER } xb,l { ODES & T < T }^@ ?(T > EPS)^@ { WORLD CONTROLLER}^@ ?(DX > EPS)^@ PROGRESS }* > PROGRESS? IF V = 1, EPS^2 PROGRESS IN EACH ITERATION ENVIRONMENT IS “EPSILON” REASONABLE VIDYA NARAYANAN 23

  24. GAME CHALLENGES INITIAL CONDITIONS -> <{ { IF ( T = T) T := 0 PLAYER CONTROLLER } xb,l { ODES & T < T }^@ ?(T > EPS)^@ { WORLD CONTROLLER}^@ ?(DX > EPS)^@ AVOID }* > AVOID? VIDYA NARAYANAN 24

  25. GAME CHALLENGES INITIAL CONDITIONS -> <{ { IF ( T = T) T := 0 PLAYER CONTROLLER } xb,l { ODES & T < T }^@ ?(T > EPS)^@ { WORLD CONTROLLER}^@ ?(DX > EPS)^@ AVOID } > AVOID? SINGLE STEP VIDYA NARAYANAN 25

  26. GAME CHALLENGES INITIAL CONDITIONS: XB = X + TJ * V , T = 2*TJ, DX > 0 POST CONDITION: X = XB -> Y > L xb,l AVOID CAN MAKE “PROGRESS” ON THE LEVEL CAN AVOID OBSTACLE BY JUMPING IF TJ = (J+V)^2/2G CONDITIONS HOLD VIDYA NARAYANAN 26

  27. GAME CHALLENGES INITIAL CONDITIONS: XB = X + (TJ + TB)*V , TJ + TB < T POST CONDITION: X = XB -> Y = YB ATTACK HJ = (J+V)^2/2G TJ = (J+V)/G TB^2 = 2(HB-HJ)/G , TB > 0 VIDYA NARAYANAN 27

  28. COMPOSITION? VIDYA NARAYANAN 28

  29. INTERACTIVE DESIGN? VIDYA NARAYANAN 29

  30. THANK YOU! ICON CREDITS: THE NOUN PROJECT JOEL MCKINNEY, ICONSPHERE, CORPUS DELICTI VIDYA NARAYANAN 30

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend