Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]

In my MSc. thesis, I have re-tackled the problem of procedurally generating content for physics-based games I have previously investigated in my BSc. graduation thesis. This time around I propose two novel methods: the first is projection based for faster generation of physics-based games content. The other, The Progressive Generation, is a generic, wide-range, across genre, customisable with playability check method all bundled in a fast progressive approach. This new method is applied on two completely different games: NEXT And Cut the Rope.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

  • Be the first to like this

Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]

  1. 1. A Progressive Approach for Content Generation of Games A Projection-Based Approach for Real-time Assessment of Physics-based Games
  2. 2. A Progressive Approach for Content Generation of Games A Projection-Based Approach for Real-time Assessment of Physics-based Games
  3. 3. A Progressive Approach for Content Generation of Games A Projection-Based Approach for Real-time Assessment of Physics-based Games Real-time
  4. 4. A Progressive Approach for Content Generation of Games A Projection-Based Approach for Real-time Assessment of Physics-based Games Real-time Generic
  5. 5. State of the Art
  6. 6. Procedural Content Generation (PCG)
  7. 7. Procedural Content Generation (PCG)
  8. 8. Mario
  9. 9. Physics-basedGames/AngryBirds
  10. 10. Physics-basedGames/CuttheRope
  11. 11. Sequels 2010, 2011, 2012 and 2013, 2014 WWDC 2011, won an Apple Design Award for the iOS platform 150 million downloads 1.6 million users/daily Physics-basedGames/CuttheRope
  12. 12. Demo of CTR
  13. 13. A Projection-Based Approach for Real-time Assessment and Playability Check for Physics-Based Games
  14. 14. Design TheProbleminPhysics-basedGames
  15. 15. Design Playable? TheProbleminPhysics-basedGames
  16. 16. Design Playable? TheProbleminPhysics-basedGames
  17. 17. Design Playable? TheProbleminPhysics-basedGames
  18. 18. Design Playable? TheProbleminPhysics-basedGames
  19. 19. Design Playable? TheProbleminPhysics-basedGames
  20. 20. A5secGame A 5*60=300timesteps 5Actions TheProbleminPhysics-basedGames S T A T E S 4.9*10 214
  21. 21. A Simulation-based Approach
  22. 22. A Simulation-based Approach
  23. 23. A Simulation-based Approach Simulate All Paths (Tree Search + AI Prolog Agent) 29sec
  24. 24. StateoftheArt Simulation-based Comparison(Check)
  25. 25. StateoftheArt Simulation-based 29sec Comparison(Check)
  26. 26. StateoftheArt Simulation-based OurApproach Projection-based 29sec Comparison(Check)
  27. 27. StateoftheArt Simulation-based OurApproach Projection-based 29sec 0.1sec Comparison(Check)
  28. 28. A Projection Approach
  29. 29. A Projection Approach ?
  30. 30. A Projection Approach
  31. 31. A Projection Approach
  32. 32. A Projection Approach
  33. 33. A Projection Approach
  34. 34. A Projection Approach
  35. 35. A Projection Approach
  36. 36. A Projection Approach
  37. 37. A Projection Approach Playable! 0.1 sec
  38. 38. A Projection Approach Using the Influence Area 0.1 sec
  39. 39. Ok, but this is over-simplified!
  40. 40. The Influence Area (IA) Simple IA
  41. 41. The Influence Area (IA) Simple IA Complex IA
  42. 42. Activation Order Non-playable
  43. 43. Activation Order Non-playable Playable
  44. 44. Context is Vital
  45. 45. Context is Vital
  46. 46. Context is Vital
  47. 47. Context is Vital
  48. 48. A Projection Approach Using the Influence Area
  49. 49. A Projection Approach Using the Influence Area
  50. 50. A Projection Approach Using the Influence Area using tree search ( ) + intelligence
  51. 51. A Projection Approach Using the Influence Area using tree search ( ) + intelligence
  52. 52. Static Demo
  53. 53. Tree Search + Intelligence Searching only 8 nodes for 7 components in 0.1sec
  54. 54. Online Demo
  55. 55. A Progressive Approach for Content Generation in Games
  56. 56. A Progressive Approach for Content Generation in Games
  57. 57. ProgressiveApproach Constructive Search-based [+] Fast [-] Playability [-] Slow [+] Playability, Balance Control PCGApproaches(inliterature)
  58. 58. ProgressiveApproach Constructive Search-based [+] Fast [-] Playability [-] Slow [+] Playability, Balance Control PCGApproaches(inliterature)
  59. 59. ProgressiveApproach [+] Fast [+] Playability, Balance Control Constructive Search-based [+] Fast [-] Playability [-] Slow [+] Playability, Balance Control PCGApproaches(inliterature)
  60. 60. ProgressiveApproach [+] Fast [+] Playability, Balance Control Constructive Search-based [+] Fast [-] Playability [-] Slow [+] Playability, Balance Control PCGApproaches(inliterature)
  61. 61. ProgressiveApproach [+] Fast [+] Playability, Balance Control Constructive Search-based [+] Fast [-] Playability [-] Slow [+] Playability, Balance Control PCGApproaches(inliterature)
  62. 62. The Generation Problem on its HEAD!
  63. 63. The Generation Problem on its HEAD! Generator (Comps Placement)
  64. 64. The Generation Problem on its HEAD! Level (Player Interactions) Generator (Comps Placement)
  65. 65. Current Evolution Approaches
  66. 66. Current Evolution Approaches Rep.
  67. 67. Current Evolution Approaches Rep. Rope(200, 10) Rope(220, 23) Bubble(170, 130) OmNom(150, 200)
  68. 68. Current Evolution Approaches Rep. Rope(200, 10) Rope(220, 23) Bubble(170, 130) OmNom(150, 200)
  69. 69. Current Evolution Approaches Rep. Rope(200, 10) Rope(220, 23) Bubble(170, 130) OmNom(150, 200)
  70. 70. The Generation Problem on its HEAD! Level (Player Interactions) Generator (Comps Placement)
  71. 71. The Generation Problem on its HEAD! Level (Player Interactions) Generator (Comps Placement) Generator (Player Interactions)
  72. 72. The Generation Problem on its HEAD! Level (Player Interactions) Generator (Comps Placement) Generator (Player Interactions) Level (Comps Placement)
  73. 73. Progressive Approach Rep. 0 600 2000 4100 5400 EndStart Time(MS)
  74. 74. Progressive Approach Rep. 0 600 2000 4100 5400 EndStart Time(MS) RopeCut RopeCut BubblePop OmnomFeed
  75. 75. Progressive Approach Rep. 0 600 2000 4100 5400 EndStart Time(MS) RopeCut RopeCut BubblePop OmnomFeed
  76. 76. Progressive Approach Rep. 0 600 2000 4100 5400 EndStart Time(MS) RopeCut RopeCut BubblePop OmnomFeed
  77. 77. Progressive Approach Rep. 0 600 2000 4100 5400 EndStart Time(MS) RopeCut RopeCut BubblePop OmnomFeed
  78. 78. Progressive Approach Rep. 0 600 2000 4100 5400 EndStart Time(MS) RopeCut RopeCut BubblePop OmnomFeed
  79. 79. Progressive Approach Rep. 0 600 2000 4100 5400 EndStart Time(MS) RopeCut RopeCut BubblePop OmnomFeed Rope(200, 10) Rope(220, 23) Bubble(170, 130) OmNom(150, 200)
  80. 80. Progressive Approach Framework • A Progressive Approach 1. Timeline Generation (Grammatical Evolution) rope_cut(200) rope_cut(500) aircuh_press(700) rocket_press(600) omNom_feed(0) 2. Timeline Simulation (Game Engine)
  81. 81. Progressive Approach Framework • A Progressive Approach 1. Timeline Generation (Grammatical Evolution) rope_cut(200) rope_cut(500) aircuh_press(700) rocket_press(600) omNom_feed(0) 2. Timeline Simulation (Game Engine) Timeline Generation Grammatical Evolution . . .
  82. 82. Progressive Approach Framework • A Progressive Approach 1. Timeline Generation (Grammatical Evolution) rope_cut(200) rope_cut(500) aircuh_press(700) rocket_press(600) omNom_feed(0) 2. Timeline Simulation (Game Engine) Timeline Generation Grammatical Evolution . . . Simulation Game level Game simulator Evaluator
  83. 83. Progressive Approach Framework • A Progressive Approach 1. Timeline Generation (Grammatical Evolution) rope_cut(200) rope_cut(500) aircuh_press(700) rocket_press(600) omNom_feed(0) 2. Timeline Simulation (Game Engine) Timeline Generation Grammatical Evolution . . . Simulation mapping Game level Game simulator Evaluator Assign score
  84. 84. • A Progressive Approach 1. Timeline Generation (Grammatical Evolution) rope_cut(200) rope_cut(500) aircuh_press(700) rocket_press(600) omNom_feed(0) 2. Timeline Simulation (Game Engine) Framework Customization in CTR
  85. 85. • A Progressive Approach 1. Timeline Generation (Grammatical Evolution) rope_cut(200) rope_cut(500) aircuh_press(700) rocket_press(600) omNom_feed(0) 2. Timeline Simulation (Game Engine) Framework Customization in CTR Timeline Generation Grammatical Evolution . . .
  86. 86. • A Progressive Approach 1. Timeline Generation (Grammatical Evolution) rope_cut(200) rope_cut(500) aircuh_press(700) rocket_press(600) omNom_feed(0) 2. Timeline Simulation (Game Engine) Framework Customization in CTR <timeline>::=<IEs><IE_terminal> <IEs>::=<IE><IEs_more> <IEs_more>::=<IE>|<IE><IEs_more> <IE>::=<rope_cut>|<aircush_press>|<bubble_pop>|<bumper_inter>|<rocket_press> <rope_cut>::=rope_cut(<default_ET>) <aircush_press>::=aircush_press(<default_ET>) <bubble_pop>::=bubble_pop(<short_ET>) <rocket_press>::=rocket_press(<short_ET>) <bumper_inter>::=bumper_inter(<long_ET>) <IE_terminal>::=OmNom_feed(0) <short_ET>::=[600,1600] <default_ET>::=[800,1800] <long_ET>::=[1200,2200]
  87. 87. • A Progressive Approach 1. Timeline Generation (Grammatical Evolution) rope_cut(200) rope_cut(500) aircuh_press(700) rocket_press(600) omNom_feed(0) 2. Timeline Simulation (Game Engine) Framework Customization in CTR Simulation Game level Game simulator Evaluator
  88. 88. • A Progressive Approach 1. Timeline Generation (Grammatical Evolution) rope_cut(200) rope_cut(500) aircuh_press(700) rocket_press(600) omNom_feed(0) 2. Timeline Simulation (CRUST 2D Engine) Framework Customization in CTR Simulation Game level Game simulator Evaluator
  89. 89. Demo
  90. 90. Results & Analysis
  91. 91. Generator Analysis – Axiality Axiality Histogram over 100 generated levels of the Projection Agent
  92. 92. Generator Analysis – Color Maps Air-cushion placement color maps for 100 generated levels of the Progressive Agent
  93. 93. Comparison(Check) 29sec Simulation-based
  94. 94. Comparison(Check) 29sec Simulation-based 0.1sec Projection
  95. 95. Comparison(Evolution) 470sec Simulation-based
  96. 96. Comparison(Evolution) 470sec Simulation-based 13sec Projection
  97. 97. Comparison(Evolution) 470sec Simulation-based 13sec Projection 7sec Progressive
  98. 98. Comparison(Quality) -Simulation-based
  99. 99. Comparison(Quality) -Simulation-based -Projection
  100. 100. Comparison(Quality) -Simulation-based -Projection Usage+ Difficulty+ Playability+ Progressive
  101. 101. Future [Research?] Directions
  102. 102. Progressive Approach in Mario?
  103. 103. Progressive Approach in Mario? 0 600 2000 4100 5400 EndStart Time(MS) KillEnemy MiniJumpx5 KillTurtle HighJump
  104. 104. Progressive Approach in Mario? 0 600 2000 4100 5400 EndStart Time(MS) KillEnemy MiniJumpx5 KillTurtle HighJump
  105. 105. NEXT www.mohammadshaker.com/next.html
  106. 106. Thesis Publications
  107. 107. A Projection-Based Approach for Real-time Assessment and Playability Check for Physics-Based Games In Proceedings of EvoGames: Applications of Evolutionary Computation, Lecture Notes on Computer Science, 2015
  108. 108. A Progressive Approach to Content Generation In Proceedings of EvoGames: Applications of Evolutionary Computation, Lecture Notes on Computer Science, 2015
  109. 109. Live Demo
  110. 110. Thx.

×