Presentation Timeline 
•The problem, the solution and what others are doing 
•The game and the research 
•Ropossum: the fr...
Presentation Timeline 
•The problem, the solution and what others are doing 
•The game and the research 
•Ropossum: the fr...
$93 Billion in 2013 
Gaming Industry
Battlefield 4
What is wrong with games now? 
Designer 
Level design 
Players
What is wrong with games now? 
Designer 
Level design 
Gender?
What is wrong with games now? 
Designer 
Level design 
Personalities?
What is wrong with games now? 
Designer 
Level design 
NEEDS
What is wrong with games now? 
Designer 
Level design 
What if I want 
to play More?
What is wrong with games now? 
Designer 
Level design 
What if I want 
to play More?
What is wrong with games now? 
Generator 
Level design 
What if I want 
to play More?
Procedural 
Content 
Generation 
(PCG)
241,920,000 logins per month 
4000 logins per second after 1.0 launch 
2,000,000,000 files download by the launcher 
11,00...
No Man's Sky
Presentation Timeline 
•The problem, the solution and what others are doing 
•The game and the research 
•Ropossum: the fr...
-Popular physics based game 
-Can generate endless levels 
-All levels should be playable 
-Opens the imagination of all p...
Cut the Rope 
Sequels 2010, 2011, 2012 and 2013 
WWDC 2011,won anApple Design Awardfor the iOSplatform 
100 million times ...
The Game, Demo
This Work Publications, So Far..
“Automatic Generation and Analysis of Physics-Based Puzzle Games” 
IEEE Conference on Computational Intelligence and Games...
Presentation Timeline 
•The problem, the solution and what others are doing 
•The game and the research 
•Ropossum: the fr...
www.mohammadshaker.com/crust.html
Game Components
GE Context Free Grammars 
<level>::=<candy><Om_Nom><components> <candy>::=candy(<x>,<y>) <Om_Nom>::=Om_Nom(<x>,<y>) <compo...
GE Context Free Grammars 
<level>::=<candy><Om_Nom><components> <candy>::=candy(<x>,<y>) <Om_Nom>::=Om_Nom(<x>,<y>) <compo...
should be placed higher than Om Nom when the level contains no component to elevate the candy, such as bubbles or water. 
...
=25∗푃푐푎푛푑푦+10∗푃푂푚푁표푚+10∗푁푏푙표푤푒푟∗푃푏푙표푤푒푟 
+20∗푁푟표푐푘푒푡∗푂푟표푐푘푒푡+10∗푁푏푢푏푏푙푒∗푃푏푢푏푏푙푒+25∗퐶_표푣푒푟푙푎푝 
Fitness
candy(481, 143) OmNom(287, 384) rope(445, 69, 90) rope(596, 100, 150) bubble(294, 76) rocket(471, 342, 5)
PCGEngine 
Generate Level (Grammatical Evolution) 
PCG with CRUST Generator Model
PCGEngine 
Generate Level (Grammatical Evolution) 
Fitness Evaluators 
PCG with CRUST Generator Model
PCGEngine 
CRUSTEngine 
Generate Level (Grammatical Evolution) 
Fitness Evaluators 
Level Generator 
Resting Phase 
Visual...
Generated Samples
“Automatic Generation and Analysis of Physics-Based Puzzle Games” 
IEEE Conference on Computational Intelligence and Games...
Presentation Timeline 
•The problem, the solution and what others are doing 
•The game and the research 
•Ropossum: the fr...
Playability
Player 
Actions 
CRUSTworks on fixed time step 60 times per second 
Rope cut 
Blower press 
Bubble burst 
Rocket press 
Vo...
If the game is 5 sec long, then we have 5*60 = 300 time step 
Given we have 5 actions, then we need to evaluate
Shrink the SEARCH space with constrained Search with A Rule-based Agent
candy(497, 153). 
velocity(0, 0). 
OmNom(317, 414). 
rope(0, 445, 69, 105). 
rope(1, 596, 100, 165). 
bubble_void(319, 101...
Constraint search rule sets 
[1] rope_cut :-rope(_,_), Om_Nom(Xo,Yo), 
((candy(Xc,Yc), distance(Xo,Yo,Xc,Yc,50))| (active_...
[1] rope_cut :-rope(_,_), reachable(_) 
[2] air-cush_press:-air-cush(X,Y,Dir), candy_in_direction_of_air-cush(X,Y), distan...
Explore each action sub tree 
CRUST Engine 2.0 
Prolog Engine 
Engine State 
as Facts 
Set of ordered potential actions 
A...
Demo
rope_cut(0) 
rope_cut(1) 
void_action 
void_action 
void_action 
void_action 
void_action 
void_action 
void_action 
void_...
rope_cut(0) 
rope_cut(1) 
void_action 
void_action 
void_action 
void_action 
void_action 
void_action 
void_action 
void_...
Presentation Timeline 
•The problem, the solution and what others are doing 
•The game and the research 
•Ropossum: the fr...
Performance Enhancement Techniques 
•Adaptive Time Step: 
–blower_Press15 
–rope_cut10 
–void_action12 
–bubble_burst15 
–...
rope_cut(0) 
rope_cut(1) 
void_action 
void_action 
void_action 
void_action 
void_action 
void_action 
void_action 
void_...
Performance Enhancement Techniques 
•Adaptive Time Step: 
–blower_Press15 
–rope_cut10 
–void_action12 
–bubble_burst15 
–...
rope_cut(0) 
rope_cut(1) 
void_action 
void_action 
void_action 
void_action 
void_action 
void_action 
void_action 
void_...
Demo. Only 215 explored nodes
Solution Tree 
Only 205 nodes
Presentation Timeline 
•The problem, the solution and what others are doing 
•Ropossum; the game and the research 
•Roposs...
PCGEngine 
CRUSTEngine 
Generate Level (Grammatical Evolution) 
fitness = 0.25 ∗design + 0.75 ∗playability_agent 
Level Ge...
“Evolving Playable Content for Cut the Rope through a Simulation-Based Approach” 
AAAI Conference on Artificial Intelligen...
Presentation Timeline 
•The problem, the solution and what others are doing 
•The game and the research 
•Ropossum: the fr...
Output 
Input 
Previous State 
StateHidden 
Weights V 
Weights U 
Weights W 
SRN 
Output 
Input 
Previous State 
State/ Hi...
Output 
Input 
Previous State 
Hidden 
Weights V 
Weights U 
State 
Weights W 
Standard Recurrent Network (SRN)
Output 
Input 
Previous State 
State/ Hidden 
Weights V 
Weights U 
Weights W 
Elman RNN
Output 
Input 
Previous State 
State/ Hidden 
Weights V 
Weights U 
Copy 
(Delayed) 
Weights W 
Elman RNN
Output 
Input 
Previous State 
State/ Hidden 
Weights V 
Weights U 
Copy 
(Delayed) 
Weights W 
Jordan RNN
Output 
Input 
Previous State 
State/ Hidden 
Weights V 
Weights U 
Copy 
(Delayed) 
Weights W 
Jordan RNN
Experimental setup 
<rope> <rope> <air_cushion> <bumper> <bubble> <rocket> <candy> <Om_Nom> 
Grid 
XY 
Candy distance 
Om ...
0 
400 
200 
300 
100 
Rope 
Cuts(1) 
Rope 
Cuts(2) 
Rocket 
Presses 
Air- Cushion 
Presses 
Bubble 
Bursts 
Void 
Actions...
Balancing 
COI 
Data Representation 
Training 
levels # 
Network 
Type 
Setup 
Hidden 
Neurons # 
TestId 
Balanced 
N 
All...
Presentation Timeline 
•The problem, the solution and what others are doing 
•The game and the research 
•Ropossum: the fr...
Ropossum: RealtimeAuthoring Tool
Ropossum: RealtimeAuthoring Tool
Ropossum: RealtimeAuthoring Tool
GE Context Free Grammars 
<level>::=<candy><Om_Nom><components> <candy>::=candy(<x>,<y>) <Om_Nom>::=Om_Nom(<x>,<y>) <compo...
Ropossum Demo
“Ropossum: An Authoring Tool for Designing, optimizing and Solving Cut the Rope Levels” 
AAAI Conference on Artificial Int...
Presentation Timeline 
•The problem, the solution and what others are doing 
•The game and the research 
•Ropossum: the fr...
Selected InterestingResults 
•35% of the playable levels haven’t been branch cut [direct solution] 
•72.3% is the percenta...
Average and standard deviation values of the four components 
extracted from 500 generated levels 
Frequency Analysis
Axialityof 0.1X, 0.9Y 
Axialityof 1X, 0.4Y 
AxialityMeasure
Axialityhistogram over 500 generated levels 
AxialityMeasure
Density of 0.036 
Density of 1 
Density Measure 휎= 푖=1 푛(푥푖− 푥) 푛
The histogram of the density measure for the 500 generated levels 
Density 
Number of levels 
Density Measure
Density-Axialityhistogram over 500 generated levels 
Axiality-Density Histogram
Usedvs. Presentedcomponents by the playability agent over 100 generated playable levels 
0 
2 
1 
1.5 
0.5 
Ropes 
Rockets...
Presentation Timeline 
•The problem, the solution and what others are doing 
•Ropossum; the game and the research 
•Roposs...
Marry someoneand break your addiction 
Employedor NOT 
Employed people are 2Xmore likely to feel 
anxiety and 2.25Xlikely ...
6% 
Very 
anxious 
17% 
Somewhat anxious 
22% 
Neither 
32% 
Somewhat relaxed 
23% 
Very 
relaxed 
Player Emotion
Simple 
Easy 
Just right 
Tough 
3% 
6% 
60% 
31% 
Difficulty
Live Demowww.mohammadshaker.com/ropossum.html
Fasten your seatbeltA new GAME era is emerging...
Thank you
Ropossum: A Game That Generates Itself
Ropossum: A Game That Generates Itself
Ropossum: A Game That Generates Itself
Ropossum: A Game That Generates Itself
Ropossum: A Game That Generates Itself
Ropossum: A Game That Generates Itself
Upcoming SlideShare
Loading in …5
×

Ropossum: A Game That Generates Itself

2,583 views

Published on

Ropossum is a framework that lets you play the beloved Cut The Rope game as much as you want and the levels will keep coming. You can design your own levels, check your designed levels for playability at real time, ask it to complete your unfinished designs according to your own preferences, or even suggest endless playable design variations according to your initial level design.

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,583
On SlideShare
0
From Embeds
0
Number of Embeds
741
Actions
Shares
0
Downloads
14
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Ropossum: A Game That Generates Itself

  1. 1. Presentation Timeline •The problem, the solution and what others are doing •The game and the research •Ropossum: the framework –Content generation –Playability –Authoring tool •Results and analysis •Future Perspectives
  2. 2. Presentation Timeline •The problem, the solution and what others are doing •The game and the research •Ropossum: the framework –Content generation –Playability –Authoring tool •Results and analysis •Future Perspectives
  3. 3. $93 Billion in 2013 Gaming Industry
  4. 4. Battlefield 4
  5. 5. What is wrong with games now? Designer Level design Players
  6. 6. What is wrong with games now? Designer Level design Gender?
  7. 7. What is wrong with games now? Designer Level design Personalities?
  8. 8. What is wrong with games now? Designer Level design NEEDS
  9. 9. What is wrong with games now? Designer Level design What if I want to play More?
  10. 10. What is wrong with games now? Designer Level design What if I want to play More?
  11. 11. What is wrong with games now? Generator Level design What if I want to play More?
  12. 12. Procedural Content Generation (PCG)
  13. 13. 241,920,000 logins per month 4000 logins per second after 1.0 launch 2,000,000,000 files download by the launcher 11,000 skin downloads (in game) per second
  14. 14. No Man's Sky
  15. 15. Presentation Timeline •The problem, the solution and what others are doing •The game and the research •Ropossum: the framework –Content generation –Playability –Authoring tool •Results and analysis •Future Perspectives
  16. 16. -Popular physics based game -Can generate endless levels -All levels should be playable -Opens the imagination of all players to design, test, modifytheir own levels and helpthem achieve that. ?
  17. 17. Cut the Rope Sequels 2010, 2011, 2012 and 2013 WWDC 2011,won anApple Design Awardfor the iOSplatform 100 million times 1.6 million users/daily
  18. 18. The Game, Demo
  19. 19. This Work Publications, So Far..
  20. 20. “Automatic Generation and Analysis of Physics-Based Puzzle Games” IEEE Conference on Computational Intelligence and Games, CIG 2013. Nominated for best paper award. CIG 13 “Evolving Playable Content for Cut the Rope through a Simulation-Based Approach” AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment, AIIDE 2013 AIIDE 13 “Ropossum: An Authoring Tool for Designing, optimizing and Solving Cut the Rope Levels” AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment, AIIDE 2013 AIIDE 13
  21. 21. Presentation Timeline •The problem, the solution and what others are doing •The game and the research •Ropossum: the framework –Content generation –Playability –Authoring tool •Results and analysis •Future Perspectives
  22. 22. www.mohammadshaker.com/crust.html
  23. 23. Game Components
  24. 24. GE Context Free Grammars <level>::=<candy><Om_Nom><components> <candy>::=candy(<x>,<y>) <Om_Nom>::=Om_Nom(<x>,<y>) <components>::=<rope><air_cush><bumper><rocket><bubble><more_components> <more_components>::=<component>|<component><more_components> <component>::=<rope>|<air_cush>|<rocket>|<bumper>|<bubble> <rope>::=rope(<x>,<y>,<rope_length>) <rocket>::=rocket(<x>,<y>,<rocket_dir>) <air_cush>::=air_cush(<x>,<y>,<air_cush_dir>) <bumper>::=bumper(<x>,<y>,<bumper_dir>) <bubble>::=bubble(<x>,<y>) <x>::=[0, 260] <y>::=[0, 420] <rope_length>::=[0, 170] <air_cush_dir>::= 0 | 1<bumper_dir>::=[0, 7] <rocket_dir>::=[0, 7]
  25. 25. GE Context Free Grammars <level>::=<candy><Om_Nom><components> <candy>::=candy(<x>,<y>) <Om_Nom>::=Om_Nom(<x>,<y>) <components>::=<rope><air_cush><bumper><rocket><bubble><more_components> <more_components>::=<component>|<component><more_components> <component>::=<rope>|<air_cush>|<rocket>|<bumper>|<bubble> <rope>::=rope(<x>,<y>,<rope_length>) <rocket>::=rocket(<x>,<y>,<rocket_dir>) <air_cush>::=air_cush(<x>,<y>,<air_cush_dir>) <bumper>::=bumper(<x>,<y>,<bumper_dir>) <bubble>::=bubble(<x>,<y>) <x>::=[0, 260] <y>::=[0, 420] <rope_length>::=[0, 170] <air_cush_dir>::= 0 | 1<bumper_dir>::=[0, 7] <rocket_dir>::=[0, 7]
  26. 26. should be placed higher than Om Nom when the level contains no component to elevate the candy, such as bubbles or water. Candy should be placed under the closest rope when there is no water, bubbles or rockets. Om Nom should be placed close to the end of a rope, inside a predefined circle surrounding the end of it. Blower Should be placed in a position where it does intersect with at least one of the ropes. Bubble rockets should aim at Om Nom Rocket Components shouldn’t intersect, 3 block size apart Comps 25% 10% 10% 10% 20% 25%
  27. 27. =25∗푃푐푎푛푑푦+10∗푃푂푚푁표푚+10∗푁푏푙표푤푒푟∗푃푏푙표푤푒푟 +20∗푁푟표푐푘푒푡∗푂푟표푐푘푒푡+10∗푁푏푢푏푏푙푒∗푃푏푢푏푏푙푒+25∗퐶_표푣푒푟푙푎푝 Fitness
  28. 28. candy(481, 143) OmNom(287, 384) rope(445, 69, 90) rope(596, 100, 150) bubble(294, 76) rocket(471, 342, 5)
  29. 29. PCGEngine Generate Level (Grammatical Evolution) PCG with CRUST Generator Model
  30. 30. PCGEngine Generate Level (Grammatical Evolution) Fitness Evaluators PCG with CRUST Generator Model
  31. 31. PCGEngine CRUSTEngine Generate Level (Grammatical Evolution) Fitness Evaluators Level Generator Resting Phase Visualize Level and Update PCG with CRUST Generator Model
  32. 32. Generated Samples
  33. 33. “Automatic Generation and Analysis of Physics-Based Puzzle Games” IEEE Conference on Computational Intelligence and Games, CIG 2013
  34. 34. Presentation Timeline •The problem, the solution and what others are doing •The game and the research •Ropossum: the framework –Content generation –Playability: The Model –Authoring tool •Results and analysis •Future Perspectives
  35. 35. Playability
  36. 36. Player Actions CRUSTworks on fixed time step 60 times per second Rope cut Blower press Bubble burst Rocket press Void
  37. 37. If the game is 5 sec long, then we have 5*60 = 300 time step Given we have 5 actions, then we need to evaluate
  38. 38. Shrink the SEARCH space with constrained Search with A Rule-based Agent
  39. 39. candy(497, 153). velocity(0, 0). OmNom(317, 414). rope(0, 445, 69, 105). rope(1, 596, 100, 165). bubble_void(319, 101). rocket_void(501, 357, 5).
  40. 40. Constraint search rule sets [1] rope_cut :-rope(_,_), Om_Nom(Xo,Yo), ((candy(Xc,Yc), distance(Xo,Yo,Xc,Yc,50))| (active_bubble(_,Yb),(Yf<Yb))) [2] air-cush_press:-air_cush(X,Y,Dir), candy(Xc, Yc), distance(X, Y, Xc, Yc, 80), candy_in_direction_of_air_cush(X,Y) [3] bubble_burst:-active_bubble(X,Y), OmNom(Xo, Yo), (Yo> Y), distance(X, Y, 50), ((velocity_to_right, OmNom_to_right(X, Y)) |(velocity_to_left, OmNom_to_left(X, Y))) [4] rocket_press:-active_rocket(X,Y,_), Yo< Y, OmNom(Xo, Yo), distance(Xo,Yo,X,Y,100) [6] candy_in_direction_of_air_cush(X,Y) :-candy(Xc,Yc), air_cushion(X,Y,Dir), ((Xc< X , dir_to_left(Dir)) [5] void_action
  41. 41. [1] rope_cut :-rope(_,_), reachable(_) [2] air-cush_press:-air-cush(X,Y,Dir), candy_in_direction_of_air-cush(X,Y), distance(X, Y, 80) [3] bubble_pinch:-active_bubble(_,_), reachable(_) [4] rocket_press:-active_rocket(X,Y,Dir), reachable(_) [5] void_action :-rope_cut| bubble_pinch| air-cush_press| rocket_press| reachable(_) Constraint search rule sets [1] rope_cut :-rope(_,_), Om_Nom(Xo,Yo), ((candy(Xc,Yc), distance(Xo,Yo,Xc,Yc,50))| (active_bubble(_,Yb),(Yf<Yb))) [2] air-cush_press:-air_cush(X,Y,Dir), candy(Xc, Yc), distance(X, Y, Xc, Yc, 80), candy_in_direction_of_air_cush(X,Y) [3] bubble_burst:-active_bubble(X,Y), OmNom(Xo, Yo), (Yo> Y), distance(X, Y, 50), ((velocity_to_right, OmNom_to_right(X, Y)) |(velocity_to_left, OmNom_to_left(X, Y))) [4] rocket_press:-active_rocket(X,Y,_), Yo< Y, OmNom(Xo, Yo), distance(Xo,Yo,X,Y,100) [6] candy_in_direction_of_air_cush(X,Y) :-candy(Xc,Yc), air_cushion(X,Y,Dir), ((Xc< X , dir_to_left(Dir)) [5] void_action
  42. 42. Explore each action sub tree CRUST Engine 2.0 Prolog Engine Engine State as Facts Set of ordered potential actions Actions tree branch New Engine State Inference Engine Playability Model Closed Loop
  43. 43. Demo
  44. 44. rope_cut(0) rope_cut(1) void_action void_action void_action void_action void_action void_action void_action void_action void_action void_action void_action rocket_press void_action
  45. 45. rope_cut(0) rope_cut(1) void_action void_action void_action void_action void_action void_action void_action void_action void_action void_action void_action rocket_press void_action
  46. 46. Presentation Timeline •The problem, the solution and what others are doing •The game and the research •Ropossum: the framework –Content generation –Playability: The Performance –Authoring tool •Results and analysis •Future Perspectives
  47. 47. Performance Enhancement Techniques •Adaptive Time Step: –blower_Press15 –rope_cut10 –void_action12 –bubble_burst15 –rocket_press17
  48. 48. rope_cut(0) rope_cut(1) void_action void_action void_action void_action void_action void_action void_action void_action void_action void_action void_action rocket_press void_action 9 10 11 12 13 14 15 16 17 18 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  49. 49. Performance Enhancement Techniques •Adaptive Time Step: –blower_Press15 –rope_cut10 –void_action12 –bubble_burst15 –rocket_press17 •Branch Cut: –Tree branch cut when trajectory doesn’t make sense
  50. 50. rope_cut(0) rope_cut(1) void_action void_action void_action void_action void_action void_action void_action void_action void_action void_action void_action rocket_press void_action
  51. 51. Demo. Only 215 explored nodes
  52. 52. Solution Tree Only 205 nodes
  53. 53. Presentation Timeline •The problem, the solution and what others are doing •Ropossum; the game and the research •Ropossum; the framework –Content Generation –Playability •The playability model •Performance enhancement •Content generation with playability check •Other playability models –Authoring tool •Results and analysis •Future Perspectives
  54. 54. PCGEngine CRUSTEngine Generate Level (Grammatical Evolution) fitness = 0.25 ∗design + 0.75 ∗playability_agent Level Generator Resting Phase Visualize Level and Update Content generation with playability check
  55. 55. “Evolving Playable Content for Cut the Rope through a Simulation-Based Approach” AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment, AIIDE 2013
  56. 56. Presentation Timeline •The problem, the solution and what others are doing •The game and the research •Ropossum: the framework –Content generation –Playability: Other Models? –Authoring tool •Results and analysis •Future Perspectives
  57. 57. Output Input Previous State StateHidden Weights V Weights U Weights W SRN Output Input Previous State State/ Hidden Weights V Weights U Copy (Delayed) Weights W Elman Output Input Previous State State/ Hidden Weights V Weights U Weights W Copy (Delayed) Jordan Recurrent Neural Networks
  58. 58. Output Input Previous State Hidden Weights V Weights U State Weights W Standard Recurrent Network (SRN)
  59. 59. Output Input Previous State State/ Hidden Weights V Weights U Weights W Elman RNN
  60. 60. Output Input Previous State State/ Hidden Weights V Weights U Copy (Delayed) Weights W Elman RNN
  61. 61. Output Input Previous State State/ Hidden Weights V Weights U Copy (Delayed) Weights W Jordan RNN
  62. 62. Output Input Previous State State/ Hidden Weights V Weights U Copy (Delayed) Weights W Jordan RNN
  63. 63. Experimental setup <rope> <rope> <air_cushion> <bumper> <bubble> <rocket> <candy> <Om_Nom> Grid XY Candy distance Om Nom distance Input Representation
  64. 64. 0 400 200 300 100 Rope Cuts(1) Rope Cuts(2) Rocket Presses Air- Cushion Presses Bubble Bursts Void Actions Presented actions in the 100 playable levels test set altogether Problem, Un-balanced Data
  65. 65. Balancing COI Data Representation Training levels # Network Type Setup Hidden Neurons # TestId Balanced N All 100 Elman 10 networks 50traininglevels 0.0001 error 10 runs 37 Test 1 Balanced Y All 100 Elman N Y XY 10, 50, 100 Elman 6 networks 50traininglevels 0.0001 error 6 runs 37 Test 2 4 Y XY 10, 50, 100 Elman N Y XY 150 Jordan 8 networks 50traininglevels 0.01 error 8 runs 5, 10, 15, 20,25, 30, 35, 40 Test 3 4 Y XY 50 Jordan 4 Y XY 50 Elman N Y XY 10, 50, 100 Jordan 8 networks 50traininglevels 0.02 error 8 runs 5, 10, 15, 20,25, 30, 35, 40 Test 4 2 Y XY 10, 50, 100 Jordan N N Cookie distance 10, 50, 100 Elman 8 networks 50traininglevels 0.02 error 5 runs 5 Test 5 N N XY 10, 50, 100 Elman
  66. 66. Presentation Timeline •The problem, the solution and what others are doing •The game and the research •Ropossum: the framework –Content generation –Playability: Other Models? –Authoring tool •Results and analysis •Future Perspectives
  67. 67. Ropossum: RealtimeAuthoring Tool
  68. 68. Ropossum: RealtimeAuthoring Tool
  69. 69. Ropossum: RealtimeAuthoring Tool
  70. 70. GE Context Free Grammars <level>::=<candy><Om_Nom><components> <candy>::=candy(<x>,<y>) <Om_Nom>::=Om_Nom(<x>,<y>) <components>::=<rope><air_cush><bumper><rocket><bubble><more_components> <more_components>::=<component>|<component><more_components> <component>::=<rope>|<air_cush>|<rocket>|<bumper>|<bubble> <rope>::=rope(<x>,<y>,<rope_length>) <rocket>::=rocket(<x>,<y>,<rocket_dir>) <air_cush>::=air_cush(<x>,<y>,<air_cush_dir>) <bumper>::=bumper(<x>,<y>,<bumper_dir>) <bubble>::=bubble(<x>,<y>) <x>::=[0, 260] <y>::=[0, 420] <rope_length>::=[0, 170] <air_cush_dir>::= 0 | 1<bumper_dir>::=[0, 7] <rocket_dir>::=[0, 7]
  71. 71. Ropossum Demo
  72. 72. “Ropossum: An Authoring Tool for Designing, optimizing and Solving Cut the Rope Levels” AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment, AIIDE 2013
  73. 73. Presentation Timeline •The problem, the solution and what others are doing •The game and the research •Ropossum: the framework –Content generation –Playability: Other Models? –Authoring tool •Results and analysis •Future Perspectives
  74. 74. Selected InterestingResults •35% of the playable levels haven’t been branch cut [direct solution] •72.3% is the percentage of void action in the generated levels [relatively short levels?] •29.8 ∓58.3 sec for checking a playable level. •210% ∓167.6 for checking a non-playable level –115 and 638 nodes is the average number of explored nodes for generated playable and non-playable levels [more explored nodes] •10 min is the average time for generating a playable level
  75. 75. Average and standard deviation values of the four components extracted from 500 generated levels Frequency Analysis
  76. 76. Axialityof 0.1X, 0.9Y Axialityof 1X, 0.4Y AxialityMeasure
  77. 77. Axialityhistogram over 500 generated levels AxialityMeasure
  78. 78. Density of 0.036 Density of 1 Density Measure 휎= 푖=1 푛(푥푖− 푥) 푛
  79. 79. The histogram of the density measure for the 500 generated levels Density Number of levels Density Measure
  80. 80. Density-Axialityhistogram over 500 generated levels Axiality-Density Histogram
  81. 81. Usedvs. Presentedcomponents by the playability agent over 100 generated playable levels 0 2 1 1.5 0.5 Ropes Rockets Air- Cushions Bubbles Bumpers # activatedcomponents
  82. 82. Presentation Timeline •The problem, the solution and what others are doing •Ropossum; the game and the research •Ropossum; the framework –Content generation –Playability –Authoring tool •Results and analysis •Future Perspectives
  83. 83. Marry someoneand break your addiction Employedor NOT Employed people are 2Xmore likely to feel anxiety and 2.25Xlikely to experience anger Singlevs. Married You are X2likely to be addicted on angry birds if you are single than if you are married
  84. 84. 6% Very anxious 17% Somewhat anxious 22% Neither 32% Somewhat relaxed 23% Very relaxed Player Emotion
  85. 85. Simple Easy Just right Tough 3% 6% 60% 31% Difficulty
  86. 86. Live Demowww.mohammadshaker.com/ropossum.html
  87. 87. Fasten your seatbeltA new GAME era is emerging...
  88. 88. Thank you

×