SlideShare uma empresa Scribd logo
1 de 119
Baixar para ler offline
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
Content
• Work scope
• Goal
• The Game
• Model
• Future Perspective
• Tools
Sokoban
• Maze game
• Single player
• Components:
• Goal areas
• Walls
• Passways:
- warehouse
keeper
- Objects
- Empty
Levels generation, PCG
Different levels, all time
The Goal
No more designers
Adventure game
Free copy(Version) for Microsoft windows
Commercial game for Xbox
Used GameMaker platform (GML)
Spelunky Scenario
X X
Bomb X
Princess
X X End
Spelunky Scenario
X X
Bomb X
Princess
X X End
Spelunky Scenario
X X
Bomb X
Princess
X X End
Spelunky Scenario
X X
Bomb X
Princess
X X End
Spelunky Scenario
X X
Bomb X
Princess
X X End
Spelunky Scenario
X X
Bomb X
Princess
X X End
Spelunky Scenario
X X
Bomb X
Princess
X X End
Spelunky Scenario
X X
Bomb X
Princess
X X End
Spelunky Scenario
X X
Bomb X
Princess
X X End
Spelunky Scenario
X X
Bomb X
Princess
X X End
The Real Game,
Spelunky Levels
20%Randomization
80%Hand made design
The Model
Difficulty
Model
Generated
Level
The Model
Difficulty
Model
Generated
Level
Level
Generation
Items
distribution
Assessing
Difficulty
Assessing
Difficulty
Items
Distribution
Level
Design
Level Representation
4*4 matrix
Each cell is a room
Level Representation
4*4 matrix
Each cell is a room
Level Representation
Start Room
Level Representation
Bomb Room
Level Representation
Princess Room
Level Representation
End Room
Every room is 8 * 10
Cells Values
• Block
• Space
• Enemy
• Item
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
Digger Algorithm in a Room
PhenoType Representation
Main Rooms
(4)
Graph
Connections
Items Path
Length
PhenoType Representation
Graph
Connections
Items Path
Length
Main Rooms
(4)
PhenoType Representation
Graph
Connections
Items Path
Length
Main Rooms
(4)
PhenoType Representation
Graph
Connections
Items Path
Length
Start room
Bomb room
Princess room
Exit room
Main Rooms
(4)
PhenoType Representation
Graph
Connections
Items Path
Length
Snakes number
Bats number
Ladders number
Coins number
Spikes number
Main Rooms
(4)
PhenoType Representation
Graph
Connections
Items Path
Length
Main Rooms
(4)
PhenoType Representation
Graph
Connections
Items Path
Length
Main Rooms
(4)
Items Path
Length
Main Rooms
(4)
Start Bomb Princess End
Graph
Connections
Graph
Connections
Items Path
Length
Main Rooms
(4)
Start Bomb Princess End
3
10
5
7
9
15
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%100%
= 15 ∗ 𝑐𝑜𝑛𝑑1 + 10 ∗ 𝑐𝑜𝑛𝑑2 + 10 ∗cond3
+ 10 ∗ 𝑐𝑜𝑛𝑑4 + 10 ∗ 𝑐𝑜𝑛𝑑5 + 10 ∗ 𝑐𝑜𝑛𝑑6 + 35 ∗ 𝑐𝑜𝑛𝑑7
Design Fitness
Fitness
= 𝑐𝑜𝑛𝑑8
Difficulty Fitness
= 15 ∗ 𝑐𝑜𝑛𝑑1 + 10 ∗ 𝑐𝑜𝑛𝑑2 + 10 ∗cond3
+ 10 ∗ 𝑐𝑜𝑛𝑑4 + 10 ∗ 𝑐𝑜𝑛𝑑5 + 10 ∗ 𝑐𝑜𝑛𝑑6 + 35 ∗ 𝑐𝑜𝑛𝑑7
Design Fitness
Fitness
= 𝑐𝑜𝑛𝑑8
Difficulty Fitness
= 15 ∗ 𝑐𝑜𝑛𝑑1 + 10 ∗ 𝑐𝑜𝑛𝑑2 + 10 ∗cond3
+ 10 ∗ 𝑐𝑜𝑛𝑑4 + 10 ∗ 𝑐𝑜𝑛𝑑5 + 10 ∗ 𝑐𝑜𝑛𝑑6 + 35 ∗ 𝑐𝑜𝑛𝑑7
Design Fitness
= 10% ∗ 𝐷𝑒𝑠𝑖𝑔𝑛 𝑓𝑖𝑡𝑛𝑒𝑠𝑠 + 90% 𝐷𝑖𝑓𝑓𝑖𝑐𝑢𝑙𝑡𝑦 𝑓𝑖𝑡𝑛𝑒𝑠𝑠
Overall Fitness
Fitness
Assessing
Difficulty
Items
Distribution
Level
Design
Snakes, Snakes around Gaps, Bats
Ladders, Coins, Spike
Items Distribution Over Level
Items Distribution Over Level
Snakes, Snakes around Gaps, Bats, Spikes, Ladder, Coin
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
Ladder
Snakes
Snakes around Gaps
Bats
Coins
Spikes
Assessing
Difficulty
Items
Distribution
Level
Design
Assessing Difficulty
Assessing Difficulty
20% 25% 10% 45%
• Path Length
• Vertical Length
• Shape
• Enemies
– Snakes
– Snakes around Gaps
– Bats
– Spikes
• Path Length
Assessing Difficulty
20% 25% 10% 45%
• Vertical Length
Assessing Difficulty
20% 25% 10% 45%
Vertical Length
• Path Shape
Assessing Difficulty
20% 25% 10% 45%
• Enemies
– Snakes 10%
– Snakes around Gaps 15%
– Bats 10%
– Spikes 10%
Assessing Difficulty
20% 25% 10% 45%
Simple Level – 10% Difficulty
Hard Level – 70% Difficulty
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
Tools
• Game Maker
• Ecj (Java-based Evolutionary Computation)
• Java
Pcg for maze games spelunky

Mais conteúdo relacionado

Semelhante a Pcg for maze games spelunky

Game Design is Business Design
Game Design is Business DesignGame Design is Business Design
Game Design is Business DesignEthan Levy
 
Erlang Concurrency
Erlang ConcurrencyErlang Concurrency
Erlang ConcurrencyBarry Ezell
 
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree SearchAlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree SearchKarel Ha
 
Showcase of My Research on Games & AI "till the end of Oct. 2014"
Showcase of My Research on Games & AI "till the end of Oct. 2014"Showcase of My Research on Games & AI "till the end of Oct. 2014"
Showcase of My Research on Games & AI "till the end of Oct. 2014"Mohammad Shaker
 
ScotRuby - Dark side of ruby
ScotRuby - Dark side of rubyScotRuby - Dark side of ruby
ScotRuby - Dark side of rubyGautam Rege
 
Claudia Doppioslash - Time Travel for game development with Elm
Claudia Doppioslash - Time Travel for game development with ElmClaudia Doppioslash - Time Travel for game development with Elm
Claudia Doppioslash - Time Travel for game development with ElmCodemotion
 
Arduino creative coding class part iii
Arduino creative coding class part iiiArduino creative coding class part iii
Arduino creative coding class part iiiJonah Marrs
 
Pacman Kata - Progressive F# Tutorials NYC 2013
Pacman Kata - Progressive F# Tutorials NYC 2013Pacman Kata - Progressive F# Tutorials NYC 2013
Pacman Kata - Progressive F# Tutorials NYC 2013Phillip Trelford
 
A Plan towards Ruby 3 Types
A Plan towards Ruby 3 TypesA Plan towards Ruby 3 Types
A Plan towards Ruby 3 Typesmametter
 
Discovering functional treasure in idiomatic Groovy
Discovering functional treasure in idiomatic GroovyDiscovering functional treasure in idiomatic Groovy
Discovering functional treasure in idiomatic GroovyNaresha K
 
Mastering the game of Go with deep neural networks and tree search: Presentation
Mastering the game of Go with deep neural networks and tree search: PresentationMastering the game of Go with deep neural networks and tree search: Presentation
Mastering the game of Go with deep neural networks and tree search: PresentationKarel Ha
 
How to avoid Go gotchas - Ivan Daniluk - Codemotion Milan 2016
How to avoid Go gotchas - Ivan Daniluk - Codemotion Milan 2016How to avoid Go gotchas - Ivan Daniluk - Codemotion Milan 2016
How to avoid Go gotchas - Ivan Daniluk - Codemotion Milan 2016Codemotion
 
Machine learning on Go Code
Machine learning on Go CodeMachine learning on Go Code
Machine learning on Go Codesource{d}
 

Semelhante a Pcg for maze games spelunky (15)

Game Design is Business Design
Game Design is Business DesignGame Design is Business Design
Game Design is Business Design
 
Erlang Concurrency
Erlang ConcurrencyErlang Concurrency
Erlang Concurrency
 
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree SearchAlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
 
Showcase of My Research on Games & AI "till the end of Oct. 2014"
Showcase of My Research on Games & AI "till the end of Oct. 2014"Showcase of My Research on Games & AI "till the end of Oct. 2014"
Showcase of My Research on Games & AI "till the end of Oct. 2014"
 
ScotRuby - Dark side of ruby
ScotRuby - Dark side of rubyScotRuby - Dark side of ruby
ScotRuby - Dark side of ruby
 
Claudia Doppioslash - Time Travel for game development with Elm
Claudia Doppioslash - Time Travel for game development with ElmClaudia Doppioslash - Time Travel for game development with Elm
Claudia Doppioslash - Time Travel for game development with Elm
 
Arduino creative coding class part iii
Arduino creative coding class part iiiArduino creative coding class part iii
Arduino creative coding class part iii
 
Bulletproofing your foot for Kotlin
Bulletproofing your foot for KotlinBulletproofing your foot for Kotlin
Bulletproofing your foot for Kotlin
 
Pacman Kata - Progressive F# Tutorials NYC 2013
Pacman Kata - Progressive F# Tutorials NYC 2013Pacman Kata - Progressive F# Tutorials NYC 2013
Pacman Kata - Progressive F# Tutorials NYC 2013
 
A Plan towards Ruby 3 Types
A Plan towards Ruby 3 TypesA Plan towards Ruby 3 Types
A Plan towards Ruby 3 Types
 
Discovering functional treasure in idiomatic Groovy
Discovering functional treasure in idiomatic GroovyDiscovering functional treasure in idiomatic Groovy
Discovering functional treasure in idiomatic Groovy
 
Mastering the game of Go with deep neural networks and tree search: Presentation
Mastering the game of Go with deep neural networks and tree search: PresentationMastering the game of Go with deep neural networks and tree search: Presentation
Mastering the game of Go with deep neural networks and tree search: Presentation
 
How to avoid Go gotchas - Ivan Daniluk - Codemotion Milan 2016
How to avoid Go gotchas - Ivan Daniluk - Codemotion Milan 2016How to avoid Go gotchas - Ivan Daniluk - Codemotion Milan 2016
How to avoid Go gotchas - Ivan Daniluk - Codemotion Milan 2016
 
Machine learning on Go Code
Machine learning on Go CodeMachine learning on Go Code
Machine learning on Go Code
 
TypeScript Go(es) Embedded
TypeScript Go(es) EmbeddedTypeScript Go(es) Embedded
TypeScript Go(es) Embedded
 

Último

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Pcg for maze games spelunky