SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
PROCEDURAL CONTENT

How I learned to stop saying I'm bad at art and love the code
PERLIN NOISE

Invented by Ken Perlin
1. Noise
2. Interpolation
3. Higher Dimensions!
NOISE
Is anyone familiar with a random number generator?
NOISE USED BY PERLIN
A pseudo-random number generator was used, but it was
important that each seed would always produce the same
"random" number
This was done so that wide landscapes, like in DUST, could be
moved in and out of memory depending on where you were, but
would look the same if you revisited a place you had left. The
computer would regenerate that section of the map, but it would
look how you remember it looking.
This also happens to be the reason seeds are identical on different computers in Minecraft. However,
Minecraft uses a tweaked 3D perlin noise to generate the landscape now. If there is interest and time I'll draw
how they accomplish this.
2. INTERPOLATION
We want smooth terrain, or edges, on any perlin noise use. We
do this by interpolating between the points. We don't want
jaggies, and in fact a derivative at each point is preferable.
COMMON INTERPOLATION FUNCTIONS
3x2+2x3
6x5-15x4+10x3
The second seems more complicated. Why use it? Because it also has a SECOND derivative. That can be
useful in some cases.
WHAT ABOUT LINEAR INTERPOLATION?
Linear:
Cubic:
Cosine:
Why suddenly cosine?
It is another non-polynomial interpolation method, that gives pretty good results while also being fast.
BEYOND 1D
2D
This can also be used, and is common in generating heightmaps. A
2D image is given white through black values, which can be
interpreted as higher vs lower ground.

Note: This uses blue instead of white, but the same idea still applies
EVEN HIGHER DIMENSIONS?
3D
Think of a cube with varying densities. This is often used to
generate clouds.
4D?
This is used to show moving/morphing clouds. The fourth
dimention is time. In the same way that slicing through a 3D
Perlin field will look in 2D like morphing 2D "clouds", slicing
through a 4D Perlin field will look like morphing 3D clouds.
5D?!?
Yes. It has been used. I don't have any good examples of it though.
Even 6D has applications, but I'm too scared to think about
anything above 4D.
FRACTALS!
If you add up Perlin fields of different frequencies (granularities),
you will end up with a fractal image that has both large hills of
noise, as well as small bumps.

Each level should be weighed less than previous levels so it will converge to zero. We don't want pixel sized
bumps contributing as much elevation as a mountain!
OTHER PROCEDURAL
CONTENT
L-SYSTEM
Great for plants!

This still uses fractals (they're everywhere in nature) but adding
randomness makes things look more natural.
WHICH LOOKS MORE NATURAL, THE NON-RANDOM OR THE
RANDOM?
MIDPOINT DISPLACEMENT
(DIAMOND-SQUARE)
Assign random points to 4 corners of a 2n+1 square. Find the
average of two points on a side, make the middle point that
plus/minus a small random value to give the terrain variety. Do
this for each side of the square. Then average the 4 corners, set
middle of the square to that value, plus/minus a random value
again. Then do the same procedure to each of the 4 subsquares
you just created. Keep doing this until you give every vertex a
value.
Notice the corners are low. If the water was high enough, this could be an island.
APPLICATIONS
This approach is pretty good when you are trying to make a
procedural island. Perlin noise would not allow you to ensure
that the edges are all under water, but if the 4 initial corners are
set underwater, you'll generally end up with an island. For noninfinite worlds that still want procedural terrain, this is a good
method. However, the downfall is that if you want to add more
terrain on, you have to start from scratch.
This is actually the technique Dwarf Fortress uses, before it erodes, rains on, floods, and all the other stuff it
does before it says your world is finished.
HYBRID APPROACHES
This is the eye candy section. These games have decided to use
many different procedural techniques to make worlds not
feasible for an artist to create (i.e. infinite worlds).
No Man's Sky
No Man's Sky
Voxel Farm Demo
Voxel Farm Demo

Contenu connexe

Similaire à Procedural Content Presentation

Fmp2 production reflectionss
Fmp2 production reflectionssFmp2 production reflectionss
Fmp2 production reflectionssbronparsons
 
Fmp2 production reflection
Fmp2 production reflectionFmp2 production reflection
Fmp2 production reflectionbronparsons
 
Fmp2 production reflection
Fmp2 production reflectionFmp2 production reflection
Fmp2 production reflectionbronparsons
 
Fmp2 production reflection
Fmp2 production reflectionFmp2 production reflection
Fmp2 production reflectionbronparsons
 
Double Exposure Skills Development
Double Exposure Skills DevelopmentDouble Exposure Skills Development
Double Exposure Skills DevelopmentHayleyMcCarthy
 
Art Direction for Uncharted 2: Among Thieves
Art Direction for Uncharted 2: Among ThievesArt Direction for Uncharted 2: Among Thieves
Art Direction for Uncharted 2: Among ThievesNaughty Dog
 
Development pro forma
Development pro formaDevelopment pro forma
Development pro formaJamie Mellors
 
2 maps & plane table surveying. contours
2 maps & plane table surveying. contours2 maps & plane table surveying. contours
2 maps & plane table surveying. contoursvigyanashram
 
Shooting black-and-white
Shooting black-and-whiteShooting black-and-white
Shooting black-and-whiteLewis Simon
 
Shooting black-and-white
Shooting black-and-whiteShooting black-and-white
Shooting black-and-whiteLewis Simon
 

Similaire à Procedural Content Presentation (12)

Fmp2 production reflectionss
Fmp2 production reflectionssFmp2 production reflectionss
Fmp2 production reflectionss
 
Fmp2 production reflection
Fmp2 production reflectionFmp2 production reflection
Fmp2 production reflection
 
Fmp2 production reflection
Fmp2 production reflectionFmp2 production reflection
Fmp2 production reflection
 
Goo Create: Environment
Goo Create: EnvironmentGoo Create: Environment
Goo Create: Environment
 
Fmp2 production reflection
Fmp2 production reflectionFmp2 production reflection
Fmp2 production reflection
 
Double Exposure Skills Development
Double Exposure Skills DevelopmentDouble Exposure Skills Development
Double Exposure Skills Development
 
Art Direction for Uncharted 2: Among Thieves
Art Direction for Uncharted 2: Among ThievesArt Direction for Uncharted 2: Among Thieves
Art Direction for Uncharted 2: Among Thieves
 
Environment Tutorial
Environment TutorialEnvironment Tutorial
Environment Tutorial
 
Development pro forma
Development pro formaDevelopment pro forma
Development pro forma
 
2 maps & plane table surveying. contours
2 maps & plane table surveying. contours2 maps & plane table surveying. contours
2 maps & plane table surveying. contours
 
Shooting black-and-white
Shooting black-and-whiteShooting black-and-white
Shooting black-and-white
 
Shooting black-and-white
Shooting black-and-whiteShooting black-and-white
Shooting black-and-white
 

Dernier

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
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
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 

Dernier (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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?
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Procedural Content Presentation

  • 1. PROCEDURAL CONTENT How I learned to stop saying I'm bad at art and love the code
  • 2. PERLIN NOISE Invented by Ken Perlin 1. Noise 2. Interpolation 3. Higher Dimensions!
  • 3. NOISE Is anyone familiar with a random number generator?
  • 4. NOISE USED BY PERLIN A pseudo-random number generator was used, but it was important that each seed would always produce the same "random" number
  • 5. This was done so that wide landscapes, like in DUST, could be moved in and out of memory depending on where you were, but would look the same if you revisited a place you had left. The computer would regenerate that section of the map, but it would look how you remember it looking.
  • 6. This also happens to be the reason seeds are identical on different computers in Minecraft. However, Minecraft uses a tweaked 3D perlin noise to generate the landscape now. If there is interest and time I'll draw how they accomplish this.
  • 8. We want smooth terrain, or edges, on any perlin noise use. We do this by interpolating between the points. We don't want jaggies, and in fact a derivative at each point is preferable.
  • 9. COMMON INTERPOLATION FUNCTIONS 3x2+2x3 6x5-15x4+10x3 The second seems more complicated. Why use it? Because it also has a SECOND derivative. That can be useful in some cases.
  • 10. WHAT ABOUT LINEAR INTERPOLATION? Linear: Cubic: Cosine: Why suddenly cosine? It is another non-polynomial interpolation method, that gives pretty good results while also being fast.
  • 12. 2D This can also be used, and is common in generating heightmaps. A 2D image is given white through black values, which can be interpreted as higher vs lower ground. Note: This uses blue instead of white, but the same idea still applies
  • 13. EVEN HIGHER DIMENSIONS? 3D Think of a cube with varying densities. This is often used to generate clouds. 4D? This is used to show moving/morphing clouds. The fourth dimention is time. In the same way that slicing through a 3D Perlin field will look in 2D like morphing 2D "clouds", slicing through a 4D Perlin field will look like morphing 3D clouds. 5D?!? Yes. It has been used. I don't have any good examples of it though. Even 6D has applications, but I'm too scared to think about anything above 4D.
  • 14. FRACTALS! If you add up Perlin fields of different frequencies (granularities), you will end up with a fractal image that has both large hills of noise, as well as small bumps. Each level should be weighed less than previous levels so it will converge to zero. We don't want pixel sized bumps contributing as much elevation as a mountain!
  • 16. L-SYSTEM Great for plants! This still uses fractals (they're everywhere in nature) but adding randomness makes things look more natural.
  • 17. WHICH LOOKS MORE NATURAL, THE NON-RANDOM OR THE RANDOM?
  • 19. Assign random points to 4 corners of a 2n+1 square. Find the average of two points on a side, make the middle point that plus/minus a small random value to give the terrain variety. Do this for each side of the square. Then average the 4 corners, set middle of the square to that value, plus/minus a random value again. Then do the same procedure to each of the 4 subsquares you just created. Keep doing this until you give every vertex a value.
  • 20. Notice the corners are low. If the water was high enough, this could be an island.
  • 21. APPLICATIONS This approach is pretty good when you are trying to make a procedural island. Perlin noise would not allow you to ensure that the edges are all under water, but if the 4 initial corners are set underwater, you'll generally end up with an island. For noninfinite worlds that still want procedural terrain, this is a good method. However, the downfall is that if you want to add more terrain on, you have to start from scratch. This is actually the technique Dwarf Fortress uses, before it erodes, rains on, floods, and all the other stuff it does before it says your world is finished.
  • 23. This is the eye candy section. These games have decided to use many different procedural techniques to make worlds not feasible for an artist to create (i.e. infinite worlds).