119
In Supervision of DR.Ammar Jokhadar DR.Noor Shaker Designed and Implemented By Rawan Al-Omari Fawzia Shams Al-Deen Walaa Baghdadi Zeina Al-Helwani FITE of Damascus, Syria, Department of AI - 2013

Procedural content generation for maze game

Embed Size (px)

Citation preview

Page 1: Procedural content generation for maze  game

In Supervision of

DR.Ammar Jokhadar DR.Noor Shaker

Designed and Implemented By

Rawan Al-Omari Fawzia Shams Al-Deen

Walaa Baghdadi Zeina Al-Helwani

FITE of Damascus, Syria, Department of AI - 2013

Page 2: Procedural content generation for maze  game

Content

• Work scope • Goal • The Game • Model • Future Perspective • Tools

Page 3: Procedural content generation for maze  game
Page 4: Procedural content generation for maze  game
Page 5: Procedural content generation for maze  game
Page 6: Procedural content generation for maze  game

Sokoban

• Maze game

• Single player

• Components: • Goal areas • Walls • Passways: - warehouse keeper - Objects - Empty

Page 7: Procedural content generation for maze  game
Page 8: Procedural content generation for maze  game

The Goal

Page 9: Procedural content generation for maze  game

Levels generation, PCG

Different levels, all time

The Goal

No more designers

Page 10: Procedural content generation for maze  game
Page 11: Procedural content generation for maze  game

Adventure game Free copy(Version) for Microsoft windows Commercial game for Xbox

Page 12: Procedural content generation for maze  game

Used GameMaker platform (GML)

Page 13: Procedural content generation for maze  game
Page 14: Procedural content generation for maze  game

Spelunky Scenario

X X

Bomb X

Princess

X

X

End

Page 15: Procedural content generation for maze  game

Spelunky Scenario

X X

Bomb X

Princess

X

X

End

Page 16: Procedural content generation for maze  game

Spelunky Scenario

X X

Bomb X

Princess

X

X

End

Page 17: Procedural content generation for maze  game

Spelunky Scenario

X X

Bomb X

Princess

X

X

End

Page 18: Procedural content generation for maze  game

Spelunky Scenario

X X

Bomb X

Princess

X

X

End

Page 19: Procedural content generation for maze  game

Spelunky Scenario

X X

Bomb X

Princess

X

X

End

Page 20: Procedural content generation for maze  game

Spelunky Scenario

X X

Bomb X

Princess

X

X

End

Page 21: Procedural content generation for maze  game

Spelunky Scenario

X X

Bomb X

Princess

X

X

End

Page 22: Procedural content generation for maze  game

Spelunky Scenario

X X

Bomb X

Princess

X

X

End

Page 23: Procedural content generation for maze  game

Spelunky Scenario

X X

Bomb X

Princess

X

X

End

Page 24: Procedural content generation for maze  game

The Real Game,

Spelunky Levels

20% Randomization

80% Hand made design

Page 25: Procedural content generation for maze  game
Page 26: Procedural content generation for maze  game

The Model

Difficulty

Model

Generated Level

Page 27: Procedural content generation for maze  game

The Model

Difficulty

Model

Generated Level

Level Generation

Items distribution

Assessing Difficulty

Page 28: Procedural content generation for maze  game
Page 29: Procedural content generation for maze  game

Assessing Difficulty

Items Distribution

Level Design

Page 30: Procedural content generation for maze  game
Page 31: Procedural content generation for maze  game

Level Representation

4*4 matrix Each cell is a room

Page 32: Procedural content generation for maze  game

Level Representation

4*4 matrix Each cell is a room

Page 33: Procedural content generation for maze  game

Level Representation

Start Room

Page 34: Procedural content generation for maze  game

Level Representation

Bomb Room

Page 35: Procedural content generation for maze  game

Level Representation

Princess Room

Page 36: Procedural content generation for maze  game

Level Representation

End Room

Page 37: Procedural content generation for maze  game
Page 38: Procedural content generation for maze  game

Every room is 8 * 10

Page 39: Procedural content generation for maze  game

Cells Values

• Block • Space • Enemy • Item

Page 40: Procedural content generation for maze  game
Page 41: Procedural content generation for maze  game
Page 42: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 43: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 44: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 45: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 46: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 47: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 48: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 49: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 50: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 51: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 52: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 53: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 54: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 55: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 56: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 57: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 58: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 59: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 60: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 61: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 62: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 63: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 64: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 65: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 66: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 67: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 68: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 69: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 70: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 71: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 72: Procedural content generation for maze  game

Digger Algorithm in a Room

Page 73: Procedural content generation for maze  game
Page 74: Procedural content generation for maze  game

PhenoType Representation

Main Rooms (4)

Graph Connections

Items Path Length

Page 75: Procedural content generation for maze  game

PhenoType Representation

Graph Connections

Items Path Length

Main Rooms (4)

Page 76: Procedural content generation for maze  game

PhenoType Representation

Graph Connections

Items Path Length

Main Rooms (4)

Page 77: Procedural content generation for maze  game

PhenoType Representation

Graph Connections

Items Path Length

Start room Bomb room

Princess room Exit room

Main Rooms (4)

Page 78: Procedural content generation for maze  game

PhenoType Representation

Graph Connections

Items Path Length

Snakes number Bats number

Ladders number Coins number Spikes number

Main Rooms (4)

Page 79: Procedural content generation for maze  game

PhenoType Representation

Graph Connections

Items Path Length

Main Rooms (4)

Page 80: Procedural content generation for maze  game

PhenoType Representation

Graph Connections

Items Path Length

Main Rooms (4)

Page 81: Procedural content generation for maze  game
Page 82: Procedural content generation for maze  game

Items Path Length

Main Rooms (4)

Start Bomb Princess End

Graph Connections

Page 83: Procedural content generation for maze  game

Graph Connections

Items Path Length

Main Rooms (4)

Start Bomb Princess End

3

10

5

7

9

15

Page 84: Procedural content generation for maze  game
Page 85: Procedural content generation for maze  game

the start, end, Princess, bomb room are in the graph #1

there is connection between start and end room #2

the path is valid (start -> bomb -> Princess -> exit) #3

Start, exit, Princess and bomb rooms are unique in the phenotype #4

Start room should be in the first eight rooms #5

Exit room should be in the last eight rooms #6

15%

10

%

10%

10

%

10%

10

%

check the length of the path if according with the destination length #7

Difficulty #8

35%

10

0%

Page 86: Procedural content generation for maze  game

= 15 ∗ 𝑐𝑜𝑛𝑑1 + 10 ∗ 𝑐𝑜𝑛𝑑2 + 10 ∗cond3 + 10 ∗ 𝑐𝑜𝑛𝑑4 + 10 ∗ 𝑐𝑜𝑛𝑑5 + 10 ∗ 𝑐𝑜𝑛𝑑6 + 35 ∗ 𝑐𝑜𝑛𝑑7

Design Fitness

Fitness

Page 87: Procedural content generation for maze  game

= 𝑐𝑜𝑛𝑑8

Difficulty Fitness

= 15 ∗ 𝑐𝑜𝑛𝑑1 + 10 ∗ 𝑐𝑜𝑛𝑑2 + 10 ∗cond3 + 10 ∗ 𝑐𝑜𝑛𝑑4 + 10 ∗ 𝑐𝑜𝑛𝑑5 + 10 ∗ 𝑐𝑜𝑛𝑑6 + 35 ∗ 𝑐𝑜𝑛𝑑7

Design Fitness

Fitness

Page 88: Procedural content generation for maze  game

= 𝑐𝑜𝑛𝑑8

Difficulty Fitness

= 15 ∗ 𝑐𝑜𝑛𝑑1 + 10 ∗ 𝑐𝑜𝑛𝑑2 + 10 ∗cond3 + 10 ∗ 𝑐𝑜𝑛𝑑4 + 10 ∗ 𝑐𝑜𝑛𝑑5 + 10 ∗ 𝑐𝑜𝑛𝑑6 + 35 ∗ 𝑐𝑜𝑛𝑑7

Design Fitness

= 10% ∗ 𝐷𝑒𝑠𝑖𝑔𝑛 𝑓𝑖𝑡𝑛𝑒𝑠𝑠 + 90% 𝐷𝑖𝑓𝑓𝑖𝑐𝑢𝑙𝑡𝑦 𝑓𝑖𝑡𝑛𝑒𝑠𝑠

Overall Fitness

Fitness

Page 89: Procedural content generation for maze  game

Assessing Difficulty

Items Distribution

Level Design

Page 90: Procedural content generation for maze  game
Page 91: Procedural content generation for maze  game

Snakes, Snakes around Gaps, Bats

Page 92: Procedural content generation for maze  game

Ladders, Coins, Spike

Page 93: Procedural content generation for maze  game

Items Distribution Over Level

Page 94: Procedural content generation for maze  game

Items Distribution Over Level

Snakes, Snakes around Gaps, Bats, Spikes, Ladder, Coin

Page 95: Procedural content generation for maze  game

Items Distribution Over Level

Snakes/4 Snakes around Gaps/4

Bats/4 Spikes/4 Ladder/4 Coin/4

Snakes, Snakes around Gaps, Bats, Spikes, Ladder, Coin

Page 96: Procedural content generation for maze  game

Ladder

Page 97: Procedural content generation for maze  game

Snakes

Page 98: Procedural content generation for maze  game

Snakes around Gaps

Page 99: Procedural content generation for maze  game

Bats

Page 100: Procedural content generation for maze  game

Coins

Page 101: Procedural content generation for maze  game

Spikes

Page 102: Procedural content generation for maze  game
Page 103: Procedural content generation for maze  game
Page 104: Procedural content generation for maze  game

Assessing Difficulty

Items Distribution

Level Design

Page 105: Procedural content generation for maze  game
Page 106: Procedural content generation for maze  game

Assessing Difficulty

Page 107: Procedural content generation for maze  game

Assessing Difficulty

20%

25%

10%

45%

• Path Length • Vertical Length • Shape • Enemies

– Snakes – Snakes around Gaps – Bats – Spikes

Page 108: Procedural content generation for maze  game

• Path Length

Assessing Difficulty

20%

25%

10%

45%

Page 109: Procedural content generation for maze  game

• Vertical Length

Assessing Difficulty

20%

25%

10%

45%

Page 110: Procedural content generation for maze  game

Vertical Length

Page 111: Procedural content generation for maze  game

• Path Shape

Assessing Difficulty

20%

25%

10%

45%

Page 112: Procedural content generation for maze  game

• Enemies – Snakes 10% – Snakes around Gaps 15% – Bats 10% – Spikes 10%

Assessing Difficulty

20%

25%

10%

45%

Page 113: Procedural content generation for maze  game

Simple Level – 10% Difficulty

Page 114: Procedural content generation for maze  game

Hard Level – 70% Difficulty

Page 115: Procedural content generation for maze  game
Page 116: Procedural content generation for maze  game

Add Extra Items and Adaptive

Enemies

Shop Keeper Cave man

The implementation of an Authoring Tool that combines the gamer imagination and machine varity designs.

Designers

The difficulty of the game that is determined by a player's skills, facial

expressions, gameplay features.

Adaptive Content

Generation

Page 117: Procedural content generation for maze  game
Page 118: Procedural content generation for maze  game

Tools

• Game Maker • Ecj (Java-based Evolutionary Computation) • Java

Page 119: Procedural content generation for maze  game