CINXE.COM
Procedural generation - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Procedural generation - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"5a138641-d4c3-448d-b1a2-fd7ea308644d","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Procedural_generation","wgTitle":"Procedural generation","wgCurRevisionId":1244382520,"wgRevisionId":1244382520,"wgArticleId":2215623,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Articles with short description","Short description matches Wikidata","Articles lacking in-text citations from May 2022","All articles lacking in-text citations","All articles with unsourced statements","Articles with unsourced statements from April 2021","Procedural generation","Applications of randomness"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Procedural_generation","wgRelevantArticleId":2215623, "wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q655427","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"], "GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","mediawiki.page.media","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar", "ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.cite.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/7/74/Dragon_trees.jpg"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="861"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/7/74/Dragon_trees.jpg"> <meta property="og:image:width" content="800"> <meta property="og:image:height" content="574"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/7/74/Dragon_trees.jpg/640px-Dragon_trees.jpg"> <meta property="og:image:width" content="640"> <meta property="og:image:height" content="459"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Procedural generation - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Procedural_generation"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Procedural_generation&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Procedural_generation"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Procedural_generation rootpage-Procedural_generation skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=Procedural+generation" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=Procedural+generation" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Procedural+generation" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Procedural+generation" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-Overview" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Overview"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Overview</span> </div> </a> <ul id="toc-Overview-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Contemporary_application" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Contemporary_application"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Contemporary application</span> </div> </a> <button aria-controls="toc-Contemporary_application-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Contemporary application subsection</span> </button> <ul id="toc-Contemporary_application-sublist" class="vector-toc-list"> <li id="toc-Tabletop_role-playing_games" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Tabletop_role-playing_games"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>Tabletop role-playing games</span> </div> </a> <ul id="toc-Tabletop_role-playing_games-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Video_games" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Video_games"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2</span> <span>Video games</span> </div> </a> <ul id="toc-Video_games-sublist" class="vector-toc-list"> <li id="toc-Early_history" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Early_history"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2.1</span> <span>Early history</span> </div> </a> <ul id="toc-Early_history-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Modern_use" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Modern_use"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2.2</span> <span>Modern use</span> </div> </a> <ul id="toc-Modern_use-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Other_applications" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Other_applications"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.3</span> <span>Other applications</span> </div> </a> <ul id="toc-Other_applications-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Further_reading" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Further_reading"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Further reading</span> </div> </a> <ul id="toc-Further_reading-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Procedural generation</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 18 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-18" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">18 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%A7%D9%84%D8%AA%D9%88%D9%84%D9%8A%D8%AF_%D8%A7%D9%84%D8%A5%D8%AC%D8%B1%D8%A7%D8%A6%D9%8A" title="التوليد الإجرائي – Arabic" lang="ar" hreflang="ar" data-title="التوليد الإجرائي" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Prozedurale_Synthese" title="Prozedurale Synthese – German" lang="de" hreflang="de" data-title="Prozedurale Synthese" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Protseduuriline_genereerimine" title="Protseduuriline genereerimine – Estonian" lang="et" hreflang="et" data-title="Protseduuriline genereerimine" data-language-autonym="Eesti" data-language-local-name="Estonian" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Generaci%C3%B3n_por_procedimientos" title="Generación por procedimientos – Spanish" lang="es" hreflang="es" data-title="Generación por procedimientos" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/G%C3%A9n%C3%A9ration_proc%C3%A9durale" title="Génération procédurale – French" lang="fr" hreflang="fr" data-title="Génération procédurale" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EC%A0%88%EC%B0%A8%EC%A0%81_%EC%83%9D%EC%84%B1" title="절차적 생성 – Korean" lang="ko" hreflang="ko" data-title="절차적 생성" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Generasi_prosedural" title="Generasi prosedural – Indonesian" lang="id" hreflang="id" data-title="Generasi prosedural" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Procedurele_generatie" title="Procedurele generatie – Dutch" lang="nl" hreflang="nl" data-title="Procedurele generatie" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E6%89%8B%E7%B6%9A%E3%81%8D%E5%9E%8B%E7%94%9F%E6%88%90" title="手続き型生成 – Japanese" lang="ja" hreflang="ja" data-title="手続き型生成" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Generowanie_proceduralne" title="Generowanie proceduralne – Polish" lang="pl" hreflang="pl" data-title="Generowanie proceduralne" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D0%BD%D0%B0%D1%8F_%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F" title="Процедурная генерация – Russian" lang="ru" hreflang="ru" data-title="Процедурная генерация" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Procedural_generation" title="Procedural generation – Simple English" lang="en-simple" hreflang="en-simple" data-title="Procedural generation" data-language-autonym="Simple English" data-language-local-name="Simple English" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Proseduraalinen_generointi" title="Proseduraalinen generointi – Finnish" lang="fi" hreflang="fi" data-title="Proseduraalinen generointi" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Processuell_generering" title="Processuell generering – Swedish" lang="sv" hreflang="sv" data-title="Processuell generering" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Prosed%C3%BCrel_i%C3%A7erik_%C3%BCretimi" title="Prosedürel içerik üretimi – Turkish" lang="tr" hreflang="tr" data-title="Prosedürel içerik üretimi" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D0%BD%D0%B0_%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D1%96%D1%8F" title="Процедурна генерація – Ukrainian" lang="uk" hreflang="uk" data-title="Процедурна генерація" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/%E7%A8%8B%E5%BA%8F%E7%94%9F%E6%88%90" title="程序生成 – Cantonese" lang="yue" hreflang="yue" data-title="程序生成" data-language-autonym="粵語" data-language-local-name="Cantonese" class="interlanguage-link-target"><span>粵語</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E7%A8%8B%E5%BA%8F%E5%8C%96%E7%94%9F%E6%88%90" title="程序化生成 – Chinese" lang="zh" hreflang="zh" data-title="程序化生成" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q655427#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Procedural_generation" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Procedural_generation" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Procedural_generation"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Procedural_generation&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Procedural_generation&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Procedural_generation"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Procedural_generation&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Procedural_generation&action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Procedural_generation" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Procedural_generation" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Procedural_generation&oldid=1244382520" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Procedural_generation&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&page=Procedural_generation&id=1244382520&wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FProcedural_generation"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FProcedural_generation"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=Procedural_generation&action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Procedural_generation&printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Procedural_generation" hreflang="en"><span>Wikimedia Commons</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q655427" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Method in which data is created algorithmically as opposed to manually</div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">"Randomly generated" redirects here. For algorithms that generate random numbers, see <a href="/wiki/Random_number_generation" title="Random number generation">Random number generation</a>.</div><style data-mw-deduplicate="TemplateStyles:r1251242444">.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}</style><table class="box-No_footnotes plainlinks metadata ambox ambox-style ambox-No_footnotes" role="presentation"><tbody><tr><td class="mbox-image"><div class="mbox-image-div"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Text_document_with_red_question_mark.svg/40px-Text_document_with_red_question_mark.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Text_document_with_red_question_mark.svg/60px-Text_document_with_red_question_mark.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Text_document_with_red_question_mark.svg/80px-Text_document_with_red_question_mark.svg.png 2x" data-file-width="48" data-file-height="48" /></span></span></div></td><td class="mbox-text"><div class="mbox-text-span">This article includes a <a href="/wiki/Wikipedia:Citing_sources" title="Wikipedia:Citing sources">list of references</a>, <a href="/wiki/Wikipedia:Further_reading" title="Wikipedia:Further reading">related reading</a>, or <a href="/wiki/Wikipedia:External_links" title="Wikipedia:External links">external links</a>, <b>but its sources remain unclear because it lacks <a href="/wiki/Wikipedia:Citing_sources#Inline_citations" title="Wikipedia:Citing sources">inline citations</a></b>.<span class="hide-when-compact"> Please help <a href="/wiki/Wikipedia:WikiProject_Fact_and_Reference_Check" class="mw-redirect" title="Wikipedia:WikiProject Fact and Reference Check">improve</a> this article by <a href="/wiki/Wikipedia:When_to_cite" title="Wikipedia:When to cite">introducing</a> more precise citations.</span> <span class="date-container"><i>(<span class="date">May 2022</span>)</i></span><span class="hide-when-compact"><i> (<small><a href="/wiki/Help:Maintenance_template_removal" title="Help:Maintenance template removal">Learn how and when to remove this message</a></small>)</i></span></div></td></tr></tbody></table> <figure class="mw-default-size mw-halign-right" typeof="mw:File/Thumb"><a href="/wiki/File:Dragon_trees.jpg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/7/74/Dragon_trees.jpg/290px-Dragon_trees.jpg" decoding="async" width="290" height="208" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/7/74/Dragon_trees.jpg/435px-Dragon_trees.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/7/74/Dragon_trees.jpg/580px-Dragon_trees.jpg 2x" data-file-width="800" data-file-height="574" /></a><figcaption>One example of procedural generation, here using <a href="/wiki/L-system" title="L-system">L-systems</a> to generate realistic looking tree models. Different models can be generated by changing both deterministic parameters and a random seed.</figcaption></figure><p>In <a href="/wiki/Computing" title="Computing">computing</a>, <b>procedural generation</b> (sometimes shortened as <b>proc-gen</b>) is a method of creating data <a href="/wiki/Algorithm" title="Algorithm">algorithmically</a> as opposed to manually, typically through a combination of human-generated content and algorithms coupled with computer-generated randomness and processing power. In <a href="/wiki/Computer_graphics" title="Computer graphics">computer graphics</a>, it is commonly used to create <a href="/wiki/Procedural_texture" title="Procedural texture">textures</a> and <a href="/wiki/3D_models" class="mw-redirect" title="3D models">3D models</a>. In video games, it is used to automatically create large amounts of content in a game. Depending on the implementation, advantages of procedural generation can include smaller file sizes, larger amounts of content, and randomness for less predictable gameplay. </p><meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Overview">Overview</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Procedural_generation&action=edit&section=1" title="Edit section: Overview"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Terragen.jpg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Terragen.jpg/220px-Terragen.jpg" decoding="async" width="220" height="165" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Terragen.jpg/330px-Terragen.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Terragen.jpg/440px-Terragen.jpg 2x" data-file-width="1280" data-file-height="960" /></a><figcaption>A procedural landscape rendered in <a href="/wiki/Terragen" title="Terragen">Terragen</a></figcaption></figure> <p>The term <i>procedural</i> refers to the process that computes a particular function. <a href="/wiki/Fractal" title="Fractal">Fractals</a> are geometric patterns which can often be generated procedurally. Commonplace procedural content includes <a href="/wiki/Texture_mapping" title="Texture mapping">textures</a> and <a href="/wiki/Polygon_mesh" title="Polygon mesh">meshes</a>. <a href="/wiki/Sound" title="Sound">Sound</a> is often also procedurally generated, and has applications in both <a href="/wiki/Speech_synthesis" title="Speech synthesis">speech synthesis</a> as well as music. It has been used to create compositions in various genres of <a href="/wiki/Electronic_music" title="Electronic music">electronic music</a> by artists such as <a href="/wiki/Brian_Eno" title="Brian Eno">Brian Eno</a> who popularized the term "<a href="/wiki/Generative_music" title="Generative music">generative music</a>".<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> </p> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Tiling_procedural_textures.jpg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/3/33/Tiling_procedural_textures.jpg/220px-Tiling_procedural_textures.jpg" decoding="async" width="220" height="220" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/33/Tiling_procedural_textures.jpg/330px-Tiling_procedural_textures.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/33/Tiling_procedural_textures.jpg/440px-Tiling_procedural_textures.jpg 2x" data-file-width="1024" data-file-height="1024" /></a><figcaption>Procedurally generated <a href="/wiki/Texture_mapping" title="Texture mapping">textures</a></figcaption></figure> <p>While software developers have applied procedural generation techniques for years, few products have employed this approach extensively. Procedurally generated elements have appeared in earlier video games: <i><a href="/wiki/The_Elder_Scrolls_II:_Daggerfall" title="The Elder Scrolls II: Daggerfall">The Elder Scrolls II: Daggerfall</a></i> takes place in a mostly procedurally generated world, giving a world roughly two thirds the actual size of the <a href="/wiki/British_Isles" title="British Isles">British Isles</a>. <i><a href="/wiki/Soldier_of_Fortune_(video_game)" title="Soldier of Fortune (video game)">Soldier of Fortune</a></i> from <a href="/wiki/Raven_Software" title="Raven Software">Raven Software</a> uses simple routines to detail enemy models, while <a href="/wiki/Soldier_of_Fortune_II:_Double_Helix" title="Soldier of Fortune II: Double Helix">its sequel</a> featured a <a href="/wiki/Random_map" title="Random map">randomly generated level</a> mode. <a href="/wiki/Avalanche_Studios" class="mw-redirect" title="Avalanche Studios">Avalanche Studios</a> employed procedural generation to create a large and varied group of detailed tropical islands for <i><a href="/wiki/Just_Cause_(video_game)" title="Just Cause (video game)">Just Cause</a></i>. <i><a href="/wiki/No_Man%27s_Sky" title="No Man's Sky">No Man's Sky</a></i>, a game developed by games studio <a href="/wiki/Hello_Games" title="Hello Games">Hello Games</a>, is all based upon procedurally generated elements. </p><p>The modern <a href="/wiki/Demoscene" title="Demoscene">demoscene</a> uses procedural generation to package a great deal of audiovisual content into relatively small programs. </p><p>New methods and applications are presented annually in conferences such as the <a href="/wiki/IEEE_Conference_on_Computational_Intelligence_and_Games" class="mw-redirect" title="IEEE Conference on Computational Intelligence and Games">IEEE Conference on Computational Intelligence and Games</a> and the <a href="/wiki/AAAI" class="mw-redirect" title="AAAI">AAAI</a> Conference on Artificial Intelligence and Interactive Digital Entertainment.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> </p><p>Particularly in the application of procedural generation with video games, which are intended to be highly replayable, there are concerns that procedural systems can generate infinite numbers of worlds to explore, but without sufficient human guidance and rules to guide these. The result has been called "procedural oatmeal", a term coined by writer Kate Compton, in that while it is possible to mathematically generate thousands of bowls of oatmeal with procedural generation, they will be perceived to be the same by the user, and lack the notion of perceived uniqueness that a procedural system should aim for.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Contemporary_application">Contemporary application</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Procedural_generation&action=edit&section=2" title="Edit section: Contemporary application"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Tabletop_role-playing_games">Tabletop role-playing games</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Procedural_generation&action=edit&section=3" title="Edit section: Tabletop role-playing games"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Using procedural generation in games had origins in the tabletop role playing game (RPG) venue.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> The leading tabletop system, <i><a href="/wiki/Advanced_Dungeons_%26_Dragons" class="mw-redirect" title="Advanced Dungeons & Dragons">Advanced Dungeons & Dragons</a></i>, provided ways for the "dungeon master" to generate dungeons and terrain using random die rolls, expanded in later editions with complex branching procedural tables. <a href="/wiki/Strategic_Simulations" title="Strategic Simulations">Strategic Simulations</a> under license from <a href="/wiki/TSR_(company)" class="mw-redirect" title="TSR (company)">TSR</a> released the <i><a href="/wiki/Dungeon_Master%27s_Assistant_Volume_I" title="Dungeon Master's Assistant Volume I">Dungeon Master's Assistant</a></i>, a computer program that generated dungeons based on these published tables. <i><a href="/wiki/Tunnels_%26_Trolls" title="Tunnels & Trolls">Tunnels & Trolls</a></i>, published by <a href="/wiki/Flying_Buffalo" title="Flying Buffalo">Flying Buffalo</a>,<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> was designed primarily around solitary play and used similar procedural generation for its dungeons. Other tabletop RPGs borrowed similar concepts in procedural generation for various world elements.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> </p><p>Many online tools for Dungeon Masters now use procedural generation to varying degrees.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (April 2021)">citation needed</span></a></i>]</sup> </p> <div class="mw-heading mw-heading3"><h3 id="Video_games">Video games</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Procedural_generation&action=edit&section=4" title="Edit section: Video games"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading4"><h4 id="Early_history">Early history</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Procedural_generation&action=edit&section=5" title="Edit section: Early history"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Nethackscreen.gif" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/2/29/Nethackscreen.gif/220px-Nethackscreen.gif" decoding="async" width="220" height="127" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/29/Nethackscreen.gif/330px-Nethackscreen.gif 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/29/Nethackscreen.gif/440px-Nethackscreen.gif 2x" data-file-width="542" data-file-height="312" /></a><figcaption>A procedurally generated dungeon map in the videogame <i><a href="/wiki/NetHack" title="NetHack">NetHack</a></i></figcaption></figure> <p>Prior to graphically oriented video games, <a href="/wiki/Roguelike" title="Roguelike">roguelike</a> games, a genre directly inspired by <i>Dungeons & Dragons</i> adopted for solitary play, heavily utilized procedural generation to randomly produce dungeons, in the same manner that tabletop systems had done. Such early games include <i><a href="/wiki/Beneath_Apple_Manor" title="Beneath Apple Manor">Beneath Apple Manor</a></i> (1978) and the genre's namesake, <i><a href="/wiki/Rogue_(video_game)" title="Rogue (video game)">Rogue</a></i> (1980). The procedural generation system in roguelikes would create dungeons in <a href="/wiki/ASCII" title="ASCII">ASCII</a>- or regular tile-based systems and define rooms, hallways, monsters, and treasure to challenge the player. Roguelikes, and games based on the roguelike concepts, allow the development of complex gameplay without having to spend excessive time in creating a game's world.<sup id="cite_ref-gamespy_roguelikes_7-0" class="reference"><a href="#cite_note-gamespy_roguelikes-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> </p><p>1978's <i><a href="/wiki/Maze_Craze" title="Maze Craze">Maze Craze</a></i> for the Atari VCS used an algorithm to generate a random, top-down maze for each game.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> </p><p>Some games used <a href="/wiki/Pseudorandom_number_generator" title="Pseudorandom number generator">pseudorandom number generators</a>. These PRNGs were often used with predefined <a href="/wiki/Random_seed" title="Random seed">seed</a> values in order to generate very large game worlds that appeared to be premade. <i><a href="/wiki/The_Sentinel_(computer_game)" class="mw-redirect" title="The Sentinel (computer game)">The Sentinel</a></i> supposedly had 10,000 different levels stored in only 48 and 64 kilobytes. An extreme case was <i><a href="/wiki/Elite_(video_game)" title="Elite (video game)">Elite</a></i>, which was originally planned to contain a total of 2<sup>48</sup> (approximately 282 trillion) galaxies with 256 solar systems each. However, the publisher was afraid that such a gigantic universe would cause disbelief in players, and eight of these galaxies were chosen for the final version.<sup id="cite_ref-masters_9-0" class="reference"><a href="#cite_note-masters-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> Other notable early examples include the 1985 game <i><a href="/wiki/Rescue_on_Fractalus" class="mw-redirect" title="Rescue on Fractalus">Rescue on Fractalus</a></i> (that used fractals to procedurally create, in real time, the craggy mountains of an alien planet) and <i><a href="/wiki/River_Raid" title="River Raid">River Raid</a></i> (the 1982 <a href="/wiki/Activision" title="Activision">Activision</a> game that used a pseudorandom number sequence generated by a <a href="/wiki/Linear_feedback_shift_register" class="mw-redirect" title="Linear feedback shift register">linear feedback shift register</a> in order to generate a scrolling maze of obstacles). </p> <div class="mw-heading mw-heading4"><h4 id="Modern_use">Modern use</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Procedural_generation&action=edit&section=6" title="Edit section: Modern use"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Blender3D_VoronoiCrackle.jpg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Blender3D_VoronoiCrackle.jpg/220px-Blender3D_VoronoiCrackle.jpg" decoding="async" width="220" height="165" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Blender3D_VoronoiCrackle.jpg/330px-Blender3D_VoronoiCrackle.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Blender3D_VoronoiCrackle.jpg/440px-Blender3D_VoronoiCrackle.jpg 2x" data-file-width="640" data-file-height="480" /></a><figcaption><a href="/wiki/Procedural_texture" title="Procedural texture">Procedural texture</a> using <a href="/wiki/Voronoi_tessellation" class="mw-redirect" title="Voronoi tessellation">Voronoi tessellation</a></figcaption></figure> <p>Though modern computer games do not have the same memory and hardware restrictions that earlier games had, the use of procedural generation is frequently employed to create randomized games, maps, levels, characters, or other facets that are unique on each playthrough.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> </p><p>In 2004, a PC <a href="/wiki/First-person_shooter" title="First-person shooter">first-person shooter</a> called <i><a href="/wiki/.kkrieger" title=".kkrieger">.kkrieger</a></i> was released by a German demo group. It is entirely contained in a 96 <a href="/wiki/Kilobyte" title="Kilobyte">kilobyte</a> executable for Microsoft Windows that generates hundreds of megabytes of 3D and texture data when run. According to one of the programmers, "it was a complete failure as far as the game side was concerned (mostly because no one involved really deeply cared about that aspect)."<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> </p><p><a href="/wiki/Naked_Sky_Entertainment" title="Naked Sky Entertainment">Naked Sky's</a> <i><a href="/wiki/RoboBlitz" title="RoboBlitz">RoboBlitz</a></i> used procedural generation to maximize content in a less than 50 MB downloadable file for <a href="/wiki/Xbox_Live_Arcade" title="Xbox Live Arcade">Xbox Live Arcade</a>. <a href="/wiki/Will_Wright_(game_designer)" title="Will Wright (game designer)">Will Wright</a>'s <i><a href="/wiki/Spore_(2008_video_game)" title="Spore (2008 video game)">Spore</a></i> also makes use of procedural synthesis. </p><p>Procedural generation is often used in <a href="/wiki/Loot_system" class="mw-redirect" title="Loot system">loot systems</a> of quest-driven games, such as <a href="/wiki/Action_role-playing_game" title="Action role-playing game">action role-playing games</a> and <a href="/wiki/Massive_multiplayer_online_role_playing_game" class="mw-redirect" title="Massive multiplayer online role playing game">massive multiplayer online role playing games</a>. Though quests may feature fixed rewards, other loot, such as weapons and armor, may be generated for the player based on the player-character's level, the quest's level, their performance in the quest, and other random factors. This often leads to loot having a rarity quality applied to reflect when the procedural generation system has produced an item with better-than-average attributes. For example, the <i><a href="/wiki/Borderlands_(series)" title="Borderlands (series)">Borderlands</a></i> series is based on its procedural generation system which can create over a million unique guns and other equipment.<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> </p> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Vintage_Story_Terrian_Generation.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/7/76/Vintage_Story_Terrian_Generation.png/220px-Vintage_Story_Terrian_Generation.png" decoding="async" width="220" height="127" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/7/76/Vintage_Story_Terrian_Generation.png/330px-Vintage_Story_Terrian_Generation.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/7/76/Vintage_Story_Terrian_Generation.png/440px-Vintage_Story_Terrian_Generation.png 2x" data-file-width="3840" data-file-height="2222" /></a><figcaption>A <a href="/wiki/Mesa" title="Mesa">mesa</a> procedurally generated in the video game <a href="/wiki/Vintage_Story" title="Vintage Story">Vintage Story</a></figcaption></figure> <p>Many <a href="/wiki/Open_world" title="Open world">open world</a> or <a href="/wiki/Survival_game" title="Survival game">survival games</a> procedurally create a game world from a random seed or one provided by the player, so that each playthrough is different. These generation systems create numerous <a href="/wiki/Pixel" title="Pixel">pixel</a>- or <a href="/wiki/Voxel" title="Voxel">voxel</a>-based <a href="/wiki/Biome" title="Biome">biomes</a> with distribution of resources, objects, and creatures. The player frequently has the ability to adjust some of the generation parameters, such as specifying the amount of water coverage in a world. Examples of such games include <a href="/wiki/Dwarf_Fortress" title="Dwarf Fortress">Dwarf Fortress</a>, <i><a href="/wiki/Minecraft" title="Minecraft">Minecraft</a>, and <a href="/wiki/Vintage_Story" title="Vintage Story">Vintage Story</a>.</i> </p><p>Procedural generation is also used in space exploration and trading games. <i><a href="/wiki/Elite:_Dangerous" class="mw-redirect" title="Elite: Dangerous">Elite: Dangerous</a></i>, through using the 400 billion known stars of the <a href="/wiki/Milky_Way" title="Milky Way">Milky Way</a> Galaxy as its world basis, uses procedural generation to simulate the planets in these solar systems. Similarly, <i><a href="/wiki/Star_Citizen" title="Star Citizen">Star Citizen</a></i> uses the technology to create seamlessly loaded planets among its hand-crafted universe. <i><a href="/w/index.php?title=Infinity_(MMOG)&action=edit&redlink=1" class="new" title="Infinity (MMOG) (page does not exist)">I-Novae Infinity</a></i> features a plethora of planets which are procedurally generated between which the player can travel via space ships. <i><a href="/wiki/Outerra_Anteworld" class="mw-redirect" title="Outerra Anteworld">Outerra Anteworld</a></i> is a video game in development that uses procedural generation and real world data to create a virtual replica of planet Earth in true scale. </p><p><i><a href="/wiki/No_Man%27s_Sky" title="No Man's Sky">No Man's Sky</a></i>, by using procedural generation, is the largest video game in history, featuring a universe of 18 <a href="/wiki/Quintillion" class="mw-redirect" title="Quintillion">quintillion</a> planets across entire galaxies, which can be explored in flight or on foot. The planets all have their own uniquely diverse terrain, weather, flora, and fauna, as well as a number of space-faring alien species. The same content exists at the same places for all players (thanks to a single <a href="/wiki/Random_seed" title="Random seed">random seed</a> number to their deterministic engine), which enables players to meet and share discoveries.<sup id="cite_ref-new_yorker_14-0" class="reference"><a href="#cite_note-new_yorker-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Other_applications">Other applications</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Procedural_generation&action=edit&section=7" title="Edit section: Other applications"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>As in video games, procedural generation is often used in film to create visually interesting and accurate spaces rapidly. This comes in a wide variety of applications. </p><p>One application is known as an <i>imperfect factory</i>, where artists can rapidly generate many similar objects. This accounts for the fact that, in real life, no two objects are ever exactly alike. For instance, an artist could model a product for a grocery store shelf, and then create an imperfect factory to generate many similar objects to populate the shelf. </p><p><a href="/wiki/MASSIVE_(software)" title="MASSIVE (software)">MASSIVE</a> is a high-end computer animation and <a href="/wiki/Artificial_intelligence" title="Artificial intelligence">artificial intelligence</a> software package used for generating crowd-related visual effects for film and television. It was developed to create fighting armies of hundreds of thousands of soldiers for <a href="/wiki/Peter_Jackson" title="Peter Jackson">Peter Jackson</a>'s <i><a href="/wiki/The_Lord_of_the_Rings_(film_series)" title="The Lord of the Rings (film series)">The Lord of the Rings</a></i> films automatically.<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> </p><p>Coherent noise can be extremely important to procedural workflow in film. <a href="/wiki/Simplex_noise" title="Simplex noise">Simplex noise</a> is often faster with fewer artifacts, though an older function called <a href="/wiki/Perlin_noise" title="Perlin noise">Perlin noise</a> may be used as well. Coherent noise, in this case, refers to a function that generates smooth pseudo-randomness in <var style="padding-right: 1px;">n</var> dimensions. </p> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Procedural_generation&action=edit&section=8" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Cellular_automaton" title="Cellular automaton">Cellular automata</a></li> <li><a href="/wiki/Computational_creativity" title="Computational creativity">Computational creativity</a></li> <li><a href="/wiki/Fractal_landscape" title="Fractal landscape">Fractal landscape</a></li> <li><a href="/wiki/Fractional_Brownian_motion" title="Fractional Brownian motion">Fractional Brownian motion</a></li> <li><a href="/wiki/Generative_art" title="Generative art">Generative art</a></li> <li><a href="/wiki/Generative_artificial_intelligence" title="Generative artificial intelligence">Generative artificial intelligence</a></li> <li><a href="/wiki/L-system" title="L-system">L-systems</a></li> <li><a href="/wiki/Linear_congruential_generator" title="Linear congruential generator">Linear congruential generator</a></li> <li><a href="/wiki/List_of_games_using_procedural_generation" title="List of games using procedural generation">List of games using procedural generation</a></li> <li><a href="/wiki/Media_synthesis_(AI)" class="mw-redirect" title="Media synthesis (AI)">Media synthesis (AI)</a></li> <li><a href="/wiki/Noise_(spectral_phenomenon)" title="Noise (spectral phenomenon)">Noise</a>, <a href="/wiki/Perlin_noise" title="Perlin noise">Perlin noise</a>, <a href="/wiki/Simplex_noise" title="Simplex noise">Simplex noise</a></li> <li><a href="/wiki/Procedural_animation" title="Procedural animation">Procedural animation</a></li> <li><a href="/wiki/Procedural_modeling" title="Procedural modeling">Procedural modeling</a></li> <li><a href="/wiki/Procedural_texture" title="Procedural texture">Procedural texture</a></li> <li><a href="/wiki/Random_map" title="Random map">Random map</a></li> <li><a href="/wiki/Roguelike" title="Roguelike">Roguelike</a></li> <li><a href="/wiki/Scenery_generator" title="Scenery generator">Scenery generator</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Procedural_generation&action=edit&section=9" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist"> <div class="mw-references-wrap mw-references-columns"><ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite id="CITEREFBrian_Eno1996" class="citation web cs1">Brian Eno (June 8, 1996). <a rel="nofollow" class="external text" href="http://www.inmotionmagazine.com/eno1.html">"A talk delivered in San Francisco, June 8, 1996"</a>. <i>inmotion magazine</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2008-11-07</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=inmotion+magazine&rft.atitle=A+talk+delivered+in+San+Francisco%2C+June+8%2C+1996&rft.date=1996-06-08&rft.au=Brian+Eno&rft_id=http%3A%2F%2Fwww.inmotionmagazine.com%2Feno1.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AProcedural+generation" class="Z3988"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.aiide.org/">"Artificial Intelligence and Interactive Digital Entertainment"</a>. AIIDE.org<span class="reference-accessdate">. Retrieved <span class="nowrap">12 June</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Artificial+Intelligence+and+Interactive+Digital+Entertainment&rft.pub=AIIDE.org&rft_id=http%3A%2F%2Fwww.aiide.org%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AProcedural+generation" class="Z3988"></span></span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCook2016" class="citation web cs1">Cook, Michael (August 10, 2016). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240509013708/https://www.gamedeveloper.com/design/alien-languages-how-we-talk-about-procedural-generation">"Alien Languages: How We Talk About Procedural Generation"</a>. <i><a href="/wiki/Game_Developer_(website)" title="Game Developer (website)">Game Developer</a></i>. Archived from <a rel="nofollow" class="external text" href="https://www.gamedeveloper.com/design/alien-languages-how-we-talk-about-procedural-generation">the original</a> on May 9, 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">May 9,</span> 2024</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Game+Developer&rft.atitle=Alien+Languages%3A+How+We+Talk+About+Procedural+Generation&rft.date=2016-08-10&rft.aulast=Cook&rft.aufirst=Michael&rft_id=https%3A%2F%2Fwww.gamedeveloper.com%2Fdesign%2Falien-languages-how-we-talk-about-procedural-generation&rfr_id=info%3Asid%2Fen.wikipedia.org%3AProcedural+generation" class="Z3988"></span></span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBrownScirea2018" class="citation conference cs1">Brown, Joseph Alexander; Scirea, Marco (2018). "Procedural Generation for Tabletop Games: User Driven Approaches with Restrictions on Computational Resources". <i>SEDA 2018: Proceedings of 6th International Conference in Software Engineering for Defence Applications</i>. International Conference in Software Engineering for Defence Applications. Rome, Italy. pp. 44–54.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=conference&rft.atitle=Procedural+Generation+for+Tabletop+Games%3A+User+Driven+Approaches+with+Restrictions+on+Computational+Resources&rft.btitle=SEDA+2018%3A+Proceedings+of+6th+International+Conference+in+Software+Engineering+for+Defence+Applications&rft.place=Rome%2C+Italy&rft.pages=44-54&rft.date=2018&rft.aulast=Brown&rft.aufirst=Joseph+Alexander&rft.au=Scirea%2C+Marco&rfr_id=info%3Asid%2Fen.wikipedia.org%3AProcedural+generation" class="Z3988"></span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=NZExaEP-g_A">"<span class="cs1-kern-left"></span>"A Chat with Ken St Andre Part 1"<span class="cs1-kern-right"></span>"</a>. YouTube.com<span class="reference-accessdate">. Retrieved <span class="nowrap">6 November</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=%22A+Chat+with+Ken+St+Andre+Part+1%22&rft.pub=YouTube.com&rft_id=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DNZExaEP-g_A&rfr_id=info%3Asid%2Fen.wikipedia.org%3AProcedural+generation" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSmith2015" class="citation conference cs1">Smith, Gillian (2015). <a rel="nofollow" class="external text" href="http://www.fdg2015.org/papers/fdg2015_paper_19.pdf"><i>An Analog History of Procedural Content Generation</i></a> <span class="cs1-format">(PDF)</span>. Foundations of Digital Games 2015. Pacific Grove, California<span class="reference-accessdate">. Retrieved <span class="nowrap">October 7,</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=conference&rft.btitle=An+Analog+History+of+Procedural+Content+Generation&rft.place=Pacific+Grove%2C+California&rft.date=2015&rft.aulast=Smith&rft.aufirst=Gillian&rft_id=http%3A%2F%2Fwww.fdg2015.org%2Fpapers%2Ffdg2015_paper_19.pdf&rfr_id=info%3Asid%2Fen.wikipedia.org%3AProcedural+generation" class="Z3988"></span></span> </li> <li id="cite_note-gamespy_roguelikes-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-gamespy_roguelikes_7-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHatfield2013" class="citation web cs1">Hatfield, Tom (2013-01-29). <a rel="nofollow" class="external text" href="http://pc.gamespy.com/pc/ftl-faster-than-light/1227287p1.html">"Rise Of The Roguelikes: A Genre Evolves"</a>. <a href="/wiki/GameSpy" title="GameSpy">GameSpy</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2013-04-24</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Rise+Of+The+Roguelikes%3A+A+Genre+Evolves&rft.pub=GameSpy&rft.date=2013-01-29&rft.aulast=Hatfield&rft.aufirst=Tom&rft_id=http%3A%2F%2Fpc.gamespy.com%2Fpc%2Fftl-faster-than-light%2F1227287p1.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AProcedural+generation" class="Z3988"></span></span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.atarimania.com/game-atari-2600-vcs-maze-craze-a-game-of-cops--n-robbers_18243.html">"Maze Craze"</a>. <i>Atari Mania</i>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Atari+Mania&rft.atitle=Maze+Craze&rft_id=http%3A%2F%2Fwww.atarimania.com%2Fgame-atari-2600-vcs-maze-craze-a-game-of-cops--n-robbers_18243.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AProcedural+generation" class="Z3988"></span></span> </li> <li id="cite_note-masters-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-masters_9-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFFrancis_Spufford2003" class="citation news cs1"><a href="/wiki/Francis_Spufford" title="Francis Spufford">Francis Spufford</a> (October 18, 2003). <a rel="nofollow" class="external text" href="https://www.theguardian.com/weekend/story/0,3605,1064107,00.html">"Masters of their universe"</a>. Guardian.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Masters+of+their+universe&rft.date=2003-10-18&rft.au=Francis+Spufford&rft_id=https%3A%2F%2Fwww.theguardian.com%2Fweekend%2Fstory%2F0%2C3605%2C1064107%2C00.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AProcedural+generation" class="Z3988"></span></span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMoss2016" class="citation web cs1">Moss, Richard (January 1, 2016). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240509014556/https://www.gamedeveloper.com/design/7-uses-of-procedural-generation-that-all-developers-should-study">"7 uses of procedural generation that all developers should study"</a>. <i><a href="/wiki/Game_Developer_(website)" title="Game Developer (website)">Game Developer</a></i>. Archived from <a rel="nofollow" class="external text" href="https://www.gamedeveloper.com/design/7-uses-of-procedural-generation-that-all-developers-should-study">the original</a> on May 9, 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">January 1,</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Game+Developer&rft.atitle=7+uses+of+procedural+generation+that+all+developers+should+study&rft.date=2016-01-01&rft.aulast=Moss&rft.aufirst=Richard&rft_id=https%3A%2F%2Fwww.gamedeveloper.com%2Fdesign%2F7-uses-of-procedural-generation-that-all-developers-should-study&rfr_id=info%3Asid%2Fen.wikipedia.org%3AProcedural+generation" class="Z3988"></span></span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBaker2016" class="citation magazine cs1">Baker, Chris (9 August 2016). <a rel="nofollow" class="external text" href="https://www.rollingstone.com/culture/news/no-mans-sky-how-games-are-building-themselves-w433492">"<span class="cs1-kern-left"></span>'No Man's Sky': How Games Are Building Themselves"</a>. <i><a href="/wiki/Rolling_Stone" title="Rolling Stone">Rolling Stone</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">9 August</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Rolling+Stone&rft.atitle=%27No+Man%27s+Sky%27%3A+How+Games+Are+Building+Themselves&rft.date=2016-08-09&rft.aulast=Baker&rft.aufirst=Chris&rft_id=https%3A%2F%2Fwww.rollingstone.com%2Fculture%2Fnews%2Fno-mans-sky-how-games-are-building-themselves-w433492&rfr_id=info%3Asid%2Fen.wikipedia.org%3AProcedural+generation" class="Z3988"></span></span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFGiesen2012" class="citation web cs1">Giesen, Fabian (April 8, 2012). <a rel="nofollow" class="external text" href="https://fgiesen.wordpress.com/2012/04/08/metaprogramming-for-madmen/">"Metaprogramming for madmen"</a>. <i>The ryg blog</i>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=The+ryg+blog&rft.atitle=Metaprogramming+for+madmen&rft.date=2012-04-08&rft.aulast=Giesen&rft.aufirst=Fabian&rft_id=https%3A%2F%2Ffgiesen.wordpress.com%2F2012%2F04%2F08%2Fmetaprogramming-for-madmen%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AProcedural+generation" class="Z3988"></span></span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKuo2012" class="citation web cs1">Kuo, Ryan (April 19, 2012). <a rel="nofollow" class="external text" href="https://blogs.wsj.com/speakeasy/2012/04/19/why-borderlands-2-has-the-most-stylish-guns-in-gaming/">"Why Borderlands 2 Has the Most Stylish Guns in Gaming"</a>. <i><a href="/wiki/Wall_Street_Journal" class="mw-redirect" title="Wall Street Journal">Wall Street Journal</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">April 21,</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Wall+Street+Journal&rft.atitle=Why+Borderlands+2+Has+the+Most+Stylish+Guns+in+Gaming&rft.date=2012-04-19&rft.aulast=Kuo&rft.aufirst=Ryan&rft_id=https%3A%2F%2Fblogs.wsj.com%2Fspeakeasy%2F2012%2F04%2F19%2Fwhy-borderlands-2-has-the-most-stylish-guns-in-gaming%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AProcedural+generation" class="Z3988"></span></span> </li> <li id="cite_note-new_yorker-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-new_yorker_14-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKhatchadourian2015" class="citation magazine cs1">Khatchadourian, Raffi (18 May 2015). <a rel="nofollow" class="external text" href="http://www.newyorker.com/magazine/2015/05/18/world-without-end-raffi-khatchadourian">"World without end : creating a full-scale digital cosmos"</a>. Annals of Games. <i><a href="/wiki/The_New_Yorker" title="The New Yorker">The New Yorker</a></i>. Vol. 91, no. 13. pp. 48–57<span class="reference-accessdate">. Retrieved <span class="nowrap">5 August</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=The+New+Yorker&rft.atitle=World+without+end+%3A+creating+a+full-scale+digital+cosmos&rft.volume=91&rft.issue=13&rft.pages=48-57&rft.date=2015-05-18&rft.aulast=Khatchadourian&rft.aufirst=Raffi&rft_id=http%3A%2F%2Fwww.newyorker.com%2Fmagazine%2F2015%2F05%2F18%2Fworld-without-end-raffi-khatchadourian&rfr_id=info%3Asid%2Fen.wikipedia.org%3AProcedural+generation" class="Z3988"></span></span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFWilson2015" class="citation web cs1">Wilson (16 July 2015). <a rel="nofollow" class="external text" href="https://www.fastcodesign.com/3048667/how-4-designers-built-a-game-with-184-quintillion-unique-planets">"How 4 Designers Built A Game With 18.4 Quintillion Unique Planets"</a>. <a href="/wiki/Fast_Company_(magazine)" class="mw-redirect" title="Fast Company (magazine)">Fast Company</a><span class="reference-accessdate">. Retrieved <span class="nowrap">9 August</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=How+4+Designers+Built+A+Game+With+18.4+Quintillion+Unique+Planets&rft.pub=Fast+Company&rft.date=2015-07-16&rft.au=Wilson&rft_id=https%3A%2F%2Fwww.fastcodesign.com%2F3048667%2Fhow-4-designers-built-a-game-with-184-quintillion-unique-planets&rfr_id=info%3Asid%2Fen.wikipedia.org%3AProcedural+generation" class="Z3988"></span></span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSam_White2016" class="citation web cs1">Sam White (2016-08-10). <a rel="nofollow" class="external text" href="https://www.gamesradar.com/no-mans-sky-how-the-biggest-game-ever-made-almost-never-happened/">"No Man's Sky: How the biggest game ever made almost never happened"</a>. <i>gamesradar</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2022-05-07</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=gamesradar&rft.atitle=No+Man%27s+Sky%3A+How+the+biggest+game+ever+made+almost+never+happened&rft.date=2016-08-10&rft.au=Sam+White&rft_id=https%3A%2F%2Fwww.gamesradar.com%2Fno-mans-sky-how-the-biggest-game-ever-made-almost-never-happened%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AProcedural+generation" class="Z3988"></span></span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.massivesoftware.com/about.html">"About Massive"</a>. Massive Software<span class="reference-accessdate">. Retrieved <span class="nowrap">12 June</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=About+Massive&rft.pub=Massive+Software&rft_id=http%3A%2F%2Fwww.massivesoftware.com%2Fabout.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AProcedural+generation" class="Z3988"></span></span> </li> </ol></div></div> <div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Procedural_generation&action=edit&section=10" title="Edit section: Further reading"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFEbertMusgravePeacheyPerlin2002" class="citation book cs1">Ebert, David S.; Musgrave, F. Kenton; Peachey, Darwyn; Perlin, Ken; Worley, Steve (2002). <i>Texturing and Modeling: A Procedural Approach</i> (3rd ed.). Morgan Kaufmann. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-1-558-60848-1" title="Special:BookSources/978-1-558-60848-1"><bdi>978-1-558-60848-1</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Texturing+and+Modeling%3A+A+Procedural+Approach&rft.edition=3rd&rft.pub=Morgan+Kaufmann&rft.date=2002&rft.isbn=978-1-558-60848-1&rft.aulast=Ebert&rft.aufirst=David+S.&rft.au=Musgrave%2C+F.+Kenton&rft.au=Peachey%2C+Darwyn&rft.au=Perlin%2C+Ken&rft.au=Worley%2C+Steve&rfr_id=info%3Asid%2Fen.wikipedia.org%3AProcedural+generation" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFShakerTogeliusNelson2016" class="citation book cs1">Shaker, Noor; Togelius, Julian; Nelson, Mark J. (2016). <a rel="nofollow" class="external text" href="http://pcgbook.com/"><i>Procedural Content Generation in Games: A Textbook and an Overview of Current Research</i></a>. Springer. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-3-319-42714-0" title="Special:BookSources/978-3-319-42714-0"><bdi>978-3-319-42714-0</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Procedural+Content+Generation+in+Games%3A+A+Textbook+and+an+Overview+of+Current+Research&rft.pub=Springer&rft.date=2016&rft.isbn=978-3-319-42714-0&rft.aulast=Shaker&rft.aufirst=Noor&rft.au=Togelius%2C+Julian&rft.au=Nelson%2C+Mark+J.&rft_id=http%3A%2F%2Fpcgbook.com%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AProcedural+generation" class="Z3988"></span></li> <li><a rel="nofollow" class="external text" href="http://www.gdcvault.com/play/1019981/The-Future-of-Content">The Future Of Content</a> – <a href="/wiki/Will_Wright_(game_designer)" title="Will Wright (game designer)">Will Wright</a> keynote on Spore & procedural generation at the <a href="/wiki/Game_Developers_Conference" title="Game Developers Conference">Game Developers Conference</a> 2005</li></ul> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="Procedural_coherent_noise" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Coherent_noise" title="Template:Coherent noise"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Coherent_noise" title="Template talk:Coherent noise"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Coherent_noise" title="Special:EditPage/Template:Coherent noise"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Procedural_coherent_noise" style="font-size:114%;margin:0 4em">Procedural coherent noise</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Approach</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:11.9em">Lattice based</th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:11.9em"><a href="/wiki/Gradient_noise" title="Gradient noise">Gradient noise</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/OpenSimplex_noise" title="OpenSimplex noise">OpenSimplex noise</a></li> <li><a href="/wiki/Perlin_noise" title="Perlin noise">Perlin noise</a></li> <li><a href="/wiki/Simplex_noise" title="Simplex noise">Simplex noise</a></li> <li><a href="/wiki/Simulation_noise" title="Simulation noise">Simulation noise</a></li> <li><a href="/wiki/Wavelet_noise" title="Wavelet noise">Wavelet noise</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:11.9em"><a href="/wiki/Value_noise" title="Value noise">Value noise</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Value_noise" title="Value noise">Value noise</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:11.9em">Point based</th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Worley_noise" title="Worley noise">Worley noise</a> (Voronoi/Cellular noise)</li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Applications</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a class="mw-selflink selflink">Procedural generation</a></li> <li><a href="/wiki/Computer_graphics" title="Computer graphics">Computer graphics</a></li> <li><a href="/wiki/Video_game" title="Video game">Video games</a></li> <li><a href="/wiki/Fractal_landscape" title="Fractal landscape">Fractal landscapes</a></li></ul> </div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐f69cdc8f6‐7jdc6 Cached time: 20241122143427 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.370 seconds Real time usage: 0.529 seconds Preprocessor visited node count: 1558/1000000 Post‐expand include size: 51353/2097152 bytes Template argument size: 1472/2097152 bytes Highest expansion depth: 13/100 Expensive parser function count: 5/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 73141/5000000 bytes Lua time usage: 0.241/10.000 seconds Lua memory usage: 6311686/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 399.942 1 -total 38.41% 153.618 1 Template:Reflist 27.37% 109.483 12 Template:Cite_web 18.35% 73.378 3 Template:Navbox 18.25% 72.990 1 Template:Short_description 17.97% 71.851 1 Template:Coherent_noise 11.10% 44.405 1 Template:No_footnotes 9.78% 39.120 1 Template:Ambox 9.20% 36.780 2 Template:Pagetype 6.50% 26.010 5 Template:Main_other --> <!-- Saved in parser cache with key enwiki:pcache:idhash:2215623-0!canonical and timestamp 20241122143427 and revision id 1244382520. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Procedural_generation&oldid=1244382520">https://en.wikipedia.org/w/index.php?title=Procedural_generation&oldid=1244382520</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Procedural_generation" title="Category:Procedural generation">Procedural generation</a></li><li><a href="/wiki/Category:Applications_of_randomness" title="Category:Applications of randomness">Applications of randomness</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_matches_Wikidata" title="Category:Short description matches Wikidata">Short description matches Wikidata</a></li><li><a href="/wiki/Category:Articles_lacking_in-text_citations_from_May_2022" title="Category:Articles lacking in-text citations from May 2022">Articles lacking in-text citations from May 2022</a></li><li><a href="/wiki/Category:All_articles_lacking_in-text_citations" title="Category:All articles lacking in-text citations">All articles lacking in-text citations</a></li><li><a href="/wiki/Category:All_articles_with_unsourced_statements" title="Category:All articles with unsourced statements">All articles with unsourced statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_April_2021" title="Category:Articles with unsourced statements from April 2021">Articles with unsourced statements from April 2021</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 6 September 2024, at 19:13<span class="anonymous-show"> (UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Procedural_generation&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-pvdvh","wgBackendResponseTime":151,"wgPageParseReport":{"limitreport":{"cputime":"0.370","walltime":"0.529","ppvisitednodes":{"value":1558,"limit":1000000},"postexpandincludesize":{"value":51353,"limit":2097152},"templateargumentsize":{"value":1472,"limit":2097152},"expansiondepth":{"value":13,"limit":100},"expensivefunctioncount":{"value":5,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":73141,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 399.942 1 -total"," 38.41% 153.618 1 Template:Reflist"," 27.37% 109.483 12 Template:Cite_web"," 18.35% 73.378 3 Template:Navbox"," 18.25% 72.990 1 Template:Short_description"," 17.97% 71.851 1 Template:Coherent_noise"," 11.10% 44.405 1 Template:No_footnotes"," 9.78% 39.120 1 Template:Ambox"," 9.20% 36.780 2 Template:Pagetype"," 6.50% 26.010 5 Template:Main_other"]},"scribunto":{"limitreport-timeusage":{"value":"0.241","limit":"10.000"},"limitreport-memusage":{"value":6311686,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-f69cdc8f6-7jdc6","timestamp":"20241122143427","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Procedural generation","url":"https:\/\/en.wikipedia.org\/wiki\/Procedural_generation","sameAs":"http:\/\/www.wikidata.org\/entity\/Q655427","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q655427","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2005-07-11T23:21:12Z","dateModified":"2024-09-06T19:13:16Z","image":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/7\/74\/Dragon_trees.jpg","headline":"method in which data is created algorithmically as opposed to manually"}</script> </body> </html>