v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Editing Advanced world generation

Jump to navigation Jump to search

Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.

If you are creating a redirect to the current version's page, do not use any namespace. For example: use #REDIRECT [[Cat]], not #REDIRECT [[Main:Cat]] or #REDIRECT [[cv:Cat]]. See DF:Versions for more information.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
 
{{migrated article}}
 
{{migrated article}}
{{Quality|Superior}}
+
{{Quality|Unrated}}
 
{{av}}
 
{{av}}
:''This article contains information on advanced world generation. For information on basic world generation, see [[World generation]].'' ''See [[World token]] to more easily find information by the names used in the world_gen.txt file, [[World rejection]] for information on solving problems related to worlds always being rejected, and [[Worldgen examples]] for example worlds.''
+
:''This article contains information on advanced world generation. For information on basic world generation, see [[World generation]].''
 +
:''See [[World token]] to more easily find information by the names used in the world_gen.txt file, [[World rejection]] for information on solving problems related to worlds always being rejected, and [[Worldgen examples]] for example worlds.''
  
[[File:adv_worldgen_v50.png|thumb|400px|right|The advanced world generation screen.<br><small>''(Click to enlarge)''</small>]]'''Advanced world generation''', also labeled as '''detailed mode''', allows substantially more detail-oriented options of customization than standard, basic world generation. This gives the player much more control over how their world is generated. To better understand this article, it is advised that one should read about [[World generation|'''basic world generation''']] first.
+
[[File:adv_worldgen_v50.png|thumb|300px|right|The advanced world generation screen.]]'''Advanced world generation''', also labeled as '''Detailed mode''', allows substantially more detail-oriented options of customization than standard, basic world generation. This gives the player much more control over how their world is generated. To better understand this article, it is advised that one should read about [[World generation|'''basic world generation''']] first.
  
 
The advanced world generation screen is reached by clicking "Create new world" at the main menu, then clicking "Detailed mode". Once at that screen, clicking "Basic options" will return the user to the standard world generation screen.
 
The advanced world generation screen is reached by clicking "Create new world" at the main menu, then clicking "Detailed mode". Once at that screen, clicking "Basic options" will return the user to the standard world generation screen.
  
 
== Parameter sets ==
 
== Parameter sets ==
The list of already-defined parameter sets is in the upper-left. You can select the current set that you want to work with using the drop down menu. Any parameter set can be renamed by clicking the [[File:Quill.png]].
+
The list of already-defined parameter sets is in the upper-left. You can select the current set that you want to work with using the drop down menu. Any parameter set can be renamed by clicking the quill.
  
Parameter sets can be made by clicking "New parameter set" or by clicking "Copy" to copy the selected set. This will append the selected set to the drop down menu and automatically select that set for editing.
+
Parameter sets can by made by clicking "New parameter set" or by clicking "Copy" to copy the selected set. This will append the selected set to the drop down menu and automatically select that set for editing.
  
Parameter sets are stored in the <tt>prefs/world_gen.txt</tt> file in the main DF directory. The "Save" and "Load" buttons in the upper-right of DF will save or load '''all''' of the parameter sets in this file. The <tt>world_gen.txt</tt> file can also be edited with a text editor. This is useful for parameter sets posted on the forum or wiki in text form. (See [[Advanced_world_generation#Parameter_Set_Examples|Parameter set examples]] below.)  
+
Parameter sets are stored in the <tt>prefs/world_gen.txt</tt> file in the main DF directory. The the "Save" and "Load" buttons in the upper-right of DF will load and save '''all''' of the parameter sets to this file. The <tt>world_gen.txt</tt> file can also be edited with a text editor. This is particularly useful because people will often post their parameter sets on the forum or wiki in text form. (See below for more info.)  
  
 
The tokens used in <tt>world_gen.txt</tt> are at the bottom of each parameter description. Here's the one for the title.
 
The tokens used in <tt>world_gen.txt</tt> are at the bottom of each parameter description. Here's the one for the title.
Line 30: Line 31:
 
== World name ==
 
== World name ==
  
As previously mentioned, the title of the parameter set doesn't affect the name of the world. You can specify a particular name for your world using {{K|n}} or set it back to the default random setting using {{K|N}}.
+
As previously mentioned, the title of the parameter set doesn't affect the name of the world. You can force a particular name for your world using {{K|n}} or set it back to the default random setting using {{K|N}}.
  
 
{| {{prettytable}}
 
{| {{prettytable}}
Line 45: Line 46:
 
== World dimensions ==
 
== World dimensions ==
  
The size of the map to be generated can be changed by changing the Width and Height values. Larger maps take longer to generate and may limit [[Frames per second|FPS]] in-game.
+
The size of the map to be generated can be selected with {{K|u}} {{K|i}} {{K|o}} {{K|p}}. Larger maps take longer to generate and may limit [[Frames per second|FPS]] in-game.
  
 
Changing the dimensions of the world will reset the parameters, because many of them have different defaults depending on the surface area available. Creating larger worlds does not necessarily mean longer world generation time - the essential factor for the gen duration is the history. If you restrict the number of historical events, you can significantly speed up the process.
 
Changing the dimensions of the world will reset the parameters, because many of them have different defaults depending on the surface area available. Creating larger worlds does not necessarily mean longer world generation time - the essential factor for the gen duration is the history. If you restrict the number of historical events, you can significantly speed up the process.
Line 92: Line 93:
 
Many other world parameters, such as end year and embark points, can, however, be changed without it having any effect on the geography of the world generated from the seed values.
 
Many other world parameters, such as end year and embark points, can, however, be changed without it having any effect on the geography of the world generated from the seed values.
  
Normally, you don't enter these seed values - the world generation process comes up with seed values based on some sort of "true" random information from things like random values in uninitialized memory, the current date/time, etc.
+
Normally, you don't enter these seed values - the world generation process comes up with seed values based on some sort of "true" random information from things like random values in uninitialized memory, the current date/time, etc. If you have entered a seed value you can revert to all seeds being random using {{K|S}}.
  
 
== Generating a world ==
 
== Generating a world ==
  
Unless you're using an already-defined parameter set, you will probably want to edit the parameters. Information about each parameter is documented below. Once you are happy with the parameters you should save the values you just edited and proceed to the [[world generation]] process.
+
Unless you're using an already-defined parameter set, you will probably want to {{K|e}}dit the parameters. Select the set you want to edit using the up/down directional keys and press {{K|e}}. Information about each parameter is documented below.
 +
 
 +
Once you are happy with the parameters you have set, hit {{K|Esc}} to get back to this screen, hit {{K|F6}} to save the values you just edited, and hit {{K|Enter}} to start. The rest of the process is the same as basic [[world generation]].
  
 
The phases of the world generation process are (this order is not completely correct):
 
The phases of the world generation process are (this order is not completely correct):
Line 128: Line 131:
 
== Editing the parameters init file ==
 
== Editing the parameters init file ==
  
Parameter sets are stored in the ''prefs/[[world_gen.txt]]'' file, using [[world token]]s. You can copy and paste other players' sets of parameters into your ''world_gen.txt'' to use their parameter sets. Another place to find parameter sets is the [http://www.bay12forums.com/smf/index.php?topic=180805.0 Worldgen cookbook] thread on the official forums.
+
Parameter sets are stored in the ''data/init/[[world_gen.txt]]'' file, using [[world token]]s. You can copy and paste other players' sets of parameters into your ''world_gen.txt'' to use their parameter sets, and some are provided at [[Main:Pregenerated worlds|Pregenerated worlds]]. Another place to find parameter sets is the [http://www.bay12forums.com/smf/index.php?topic=101280.0 Worldgen cookbook] thread on the official forums.
  
 
== Advanced parameters ==
 
== Advanced parameters ==
Line 279: Line 282:
 
=== Cull Unimportant Historical Figures ===
 
=== Cull Unimportant Historical Figures ===
  
Whether or not the game will ignore unimportant figures in history generation. The culling of unimportant historical figures is a CPU-intensive step in history generation but it saves memory and will speed up loading/saving games in fortress mode. This does mean that the "unimportant" figures will not appear in Legends mode or in engravings, but unimportant figures would likely not appear in engravings anyway.
+
Whether or not the game ignores unimportant figures in history generation. The culling is many CPU-intensive steps in history generation but it saves memory and will speed up loading/saving games a bit. This does mean that the "unimportant" figures will not appear in Legends mode or in things like dwarf engravings, but they might not appear in engravings anyway.
  
Unimportant figures are creatures who suffer early deaths, never have offspring or kill a named creature during world gen. For example, a resident of a goblin tower may get murdered by demons at a young age. After culling unimportant figures, Legends mode would say "In the year 102, the demon Evil McEvilface killed an unknown creature at Eviltower."
+
Unimportant figures are creatures who suffer early deaths, never having offspring or killing anything named during history generation. For example, residents of goblin towers may get murdered by demons at a young age. After culling unimportant figures, Legends mode would say something like the demon has killed "an unknown creature at Eviltower in the year 102."
  
 
{| {{prettytable}}
 
{| {{prettytable}}
Line 316: Line 319:
  
 
These are the absolute minimum and maximum values that can ever be generated for a particular map square characteristic. Changing these can cause the occurrence of certain [[Biome|biomes]] to become impossible, so modify these with care. Because of this problem, you may want to use [[#Weighted Ranges|Weighted Ranges]] instead.  By ''subtly'' tweaking the min and max values, vastly different maps can be made.
 
These are the absolute minimum and maximum values that can ever be generated for a particular map square characteristic. Changing these can cause the occurrence of certain [[Biome|biomes]] to become impossible, so modify these with care. Because of this problem, you may want to use [[#Weighted Ranges|Weighted Ranges]] instead.  By ''subtly'' tweaking the min and max values, vastly different maps can be made.
 +
 +
==== X and Y Variance ====
 +
 +
These control how wildly things like elevation and rainfall can vary between adjacent map squares. For example, if these values are set to the maximum of 3,200 for elevation then you will end up with more very low areas right next to very high areas. The number for X determines the east-west variance and the number for Y determines the north-south variance. By setting only one of these to a high value you can, for example, create horizontal or vertical bands of areas which are more similar to each other.
 +
 +
Generally speaking, raising both of these values will create a more random "patchwork" of many small biomes while setting both x and y values to 0 will cause every square on the map to use a single random value for the given characteristic.
 +
 +
For "patchwork" worlds to avoid being rejected, [[#Maximum_Number_of_Subregions|Maximum Number of Subregions]] will probably need to be increased from the default.
  
 
==== Elevation ====
 
==== Elevation ====
Line 329: Line 340:
 
* A low maximum (below 300) means no mountains as mountains need elevations above 300.
 
* A low maximum (below 300) means no mountains as mountains need elevations above 300.
 
* Rivers will be placed when the elevation maximum is 104 or higher. Therefore, keeping both values above 100 and below 104 will prevent all water tiles from appearing.
 
* Rivers will be placed when the elevation maximum is 104 or higher. Therefore, keeping both values above 100 and below 104 will prevent all water tiles from appearing.
* Mountain peaks can only form at elevations of 400.
+
*Mountain peaks can only form in squares with an elevation of 400.
 
 
==== X and Y Variance ====
 
 
 
These control how wildly things like elevation and rainfall can vary between adjacent map squares. For example, if these values are set to the maximum of 3,200 for elevation then you will end up with more very low areas right next to very high areas. The number for X determines the east-west variance and the number for Y determines the north-south variance. By setting only one of these to a high value you can, for example, create horizontal or vertical bands of areas which are more similar to each other.
 
 
 
Generally speaking, raising both of these values will create a more random "patchwork" of many small biomes while setting both x and y values to 0 will cause every square on the map to use a single random value for the given characteristic.
 
 
 
For "patchwork" worlds to avoid being rejected, [[#Maximum_Number_of_Subregions|Maximum Number of Subregions]] will probably need to be increased from the default.
 
  
 
==== Rainfall ====
 
==== Rainfall ====
  
Controls the amount of rainfall in each map square/area. Setting the minimum or maximum too high or low can make the formation of certain biomes impossible. Rainfall causes it to [[rain]] more in a given area, which can have various effects. Also makes more rivers appear on the world map.
+
Controls the amount of rainfall in each map square/area. Setting the minimum too high or the maximum too low can make the formation of certain biomes impossible. Rainfall causes it to [[rain]] more in a given area, which can have various effects. Also makes more rivers appear on the world map.
  
 
Note that if [[#Do Orographic Precipitation and Rain Shadows|orographic precipitation and rain shadows]] is on, then mountains will cause additional variance in rainfall, so (for example) rainfall below the specified minimum can occur in the shadow of a mountain.  If you want the minimum and maximum for this parameter to be absolutely respected, you must turn off the orographic precipitation option.
 
Note that if [[#Do Orographic Precipitation and Rain Shadows|orographic precipitation and rain shadows]] is on, then mountains will cause additional variance in rainfall, so (for example) rainfall below the specified minimum can occur in the shadow of a mountain.  If you want the minimum and maximum for this parameter to be absolutely respected, you must turn off the orographic precipitation option.
  
Additionally, with 'Orthographic Precipitation' turned on, orthographic precipitation and rain shadows will only occur in regions with greater than or equal to 50 drainage. [http://www.bay12forums.com/smf/index.php?topic=139916.0 [Report, reproduced 2022]]
+
Additionally, with Orthographic Precipitation turned on, orthographic precipitation and rain shadows will only occur in regions with greater than or equal to 50 drainage. [http://www.bay12forums.com/smf/index.php?topic=139916.0 [Report, reproduced 2022]]
  
 
==== Temperature ====
 
==== Temperature ====
Line 351: Line 354:
 
These parameters control how hot or cold various areas will be. If you lower the minimum and maximum values, the world will be colder overall, for example. As with the others, changing these values too much could make it impossible for certain biomes to exist. See [[Climate]] for more info.
 
These parameters control how hot or cold various areas will be. If you lower the minimum and maximum values, the world will be colder overall, for example. As with the others, changing these values too much could make it impossible for certain biomes to exist. See [[Climate]] for more info.
  
These parameters form the "base" temperature for an area, and describe peak summer temperature in a scale that isn't used elsewhere in the game. This number also does not correspond 1:1 with the final climate. [[Temperature]] is always influenced by a number of variables, including elevation, time of year, thick forestation, and if [[Advanced_world_generation#Poles|Poles]] are enabled, latitude. These other variables are factored in after the temperature mesh is applied, and frequently bring temperatures above and below their set minimum and maximum values. ''The inclusion of Poles is particularly strong in this regard, as it allows latitude to raise and/or lower temperatures by more than 75 degrees Celsius! That said, the temperatures aren't raised or lowered by more than about 65 degrees past the set minimum and maximum. Furthermore, for typical ranges, the temperature will never be raised more than about 25 degrees past the maximum (but will still drop up to about 65 degrees Celsius below the minimum).'' (unsure about exact values, research needed)
+
These parameters form the "base" temperature for an area, and describe peak summer temperature in degrees Celsius. This does not correspond 1:1 with the final climate. [[Temperature]] is always influenced by a number of variables, including elevation, time of year, thick forestation, and if [[Advanced_world_generation#Poles|Poles]] are enabled, latitude. These other variables are factored in after the temperature mesh is applied, and frequently bring temperatures above and below their set minimum and maximum values. The inclusion of Poles is particularly strong in this regard, as it allows latitude to raise and/or lower temperatures by more than 75 degrees Celsius! That said, the temperatures aren't raised or lowered by more than about 65 degrees past the set minimum and maximum. Furthermore, for typical ranges the temperature will never be raised more than about 25 degrees past the maximum (but will still drop up to about 65 degrees Celsius below the minimum).
  
Elves can spawn where the temperature is 10 degrees or warmer. Humans can spawn where the temperature is 0 degrees or warmer.
+
With a maximum temperature of 9 degrees, elf (elven) civilizations won't spawn.
 +
Humans need at least 0 degrees.
  
 
==== Drainage ====
 
==== Drainage ====
Line 363: Line 367:
 
==== Volcanism ====
 
==== Volcanism ====
  
Volcanism controls the occurrence of igneous [[layer]]s, and the formation of volcanoes. For a volcano to form, a square must have a volcanism value of 100, so reducing the maximum from 100 will make volcanoes impossible. Raising the minimum will increase the rarity of non-igneous layers.
+
Volcanism controls the occurrence of igneous [[Layer|Layers]], and the formation of volcanoes. For a volcano to form, a square must have a volcanism value of 100 so reducing the maximum from 100 will make volcanoes impossible. Raising the minimum will increase the rarity of non-igneous layers.
  
Setting the minimum to a high value is not a good way to produce multiple volcanoes, as you are likely to get a "Volcanism not evenly distributed" rejection. Instead, use the Minimum Number of Volcanoes parameter, and possibly adjust the weighted ranges for volcanism as described below.
+
Setting the minimum to a high value is not a good way to produce multiple volcanoes, as you are likely to get a "Volcanism not evenly distributed" rejection. Instead use the Minimum Number of Volcanoes parameter and possibly adjust the weighted ranges for volcanism as described below.
  
 
==== Savagery ====
 
==== Savagery ====
  
These parameters control the level of [[Surroundings#Savage|savagery]] on the map. Raising the minimum savagery too high may make it impossible for certain races to exist, and similarly lowering the maximum too far can make it impossible for certain creatures to exist. The largest chance of having unusable maps comes from a too-high savagery value.
+
These parameters control the level of [[Surroundings#Savage|savagery]] on the map. Raising the minimum savagery too high may make it impossible for certain races to exist, and similarly lowering the maximum too far can make it impossible for certain creatures to exist. The largest chance of having unusable maps comes from too high of a savagery value.
  
 
==== Configuration Tokens ====
 
==== Configuration Tokens ====
Line 411: Line 415:
  
 
# Create a grid with 2<sup>''MeshSize'' - 1</sup> tiles in both X and Y direction.
 
# Create a grid with 2<sup>''MeshSize'' - 1</sup> tiles in both X and Y direction.
# At each grid intersection, set the value according to the weighted ranges.
+
# Set the intersection points of the grid lines to a random value according to the weighted ranges.
 
# Smooth out the area between the intersection points.
 
# Smooth out the area between the intersection points.
 
# Add noise according to the variance parameters.
 
# Add noise according to the variance parameters.
Line 643: Line 647:
 
==== Attack Population Requirement ====
 
==== Attack Population Requirement ====
  
[[Titan]]s will begin to attack your fort once at least this many dwarves inhabit it, regardless of whether any other attack criteria have been met.  
+
[[Titan]]s will begin to attack your fort once at least this many dwarves inhabit it, regardless of whether any other attack criteria have been met. This number defaults to 80, which isn't usually too difficult to deal with.
 
 
This number defaults to 80, which isn't usually too difficult to deal with.
 
  
 
==== Exported Wealth Requirement ====
 
==== Exported Wealth Requirement ====
Line 1,383: Line 1,385:
 
==== Make Caves Visible ====
 
==== Make Caves Visible ====
  
If set to no (default) then the location of caves will not be marked on the map. If set to yes, caves will appear on the map so that they may be sought out or avoided as desired.
+
If set to no (default) then the location of caves will not be marked on the map. If set to yes, caves will appear on the map as {{Raw Tile|•|#808080|#00DD00}} symbols so that they may be sought out or avoided as desired.
  
 
{| {{prettytable}}
 
{| {{prettytable}}
Line 1,398: Line 1,400:
 
=== Allow Init Options to Show Tunnels ===
 
=== Allow Init Options to Show Tunnels ===
  
If enabled, you will be able to see the underground tunnels often built by dwarves on the world map, and they will appear as black lines, similar to roads.
+
This parameter doesn't do anything.
  
 
{| {{prettytable}}
 
{| {{prettytable}}
Line 1,477: Line 1,479:
 
==World rejection==
 
==World rejection==
  
:''Main article: [[World rejection]]''
+
:''Main article [[World rejection]]''
  
If you are having the common problem of generated worlds always being rejected by the world generator, see [[v0.31:World rejection|Solving World Rejection Problems (v0.31 page)]] as it contains many detailed suggestions on how to troubleshoot and solve these issues.
+
If you are having the common problem of the generated worlds always being rejected by the world generator, see [[v0.31:World rejection|Solving World Rejection Problems (v0.31 page)]] as it contains many detailed suggestions on how to troubleshoot and solve these issues.
  
 
== Default Worldgen Parameters ==
 
== Default Worldgen Parameters ==
Line 1,495: Line 1,497:
 
* [http://www.bay12forums.com/smf/index.php?topic=168543.0 DF2014 (v0.44.02+) WorldGen "Cookbook" Thread]
 
* [http://www.bay12forums.com/smf/index.php?topic=168543.0 DF2014 (v0.44.02+) WorldGen "Cookbook" Thread]
 
* [http://www.bay12forums.com/smf/index.php?topic=175538 DF2014 (v0.47.01+) WorldGen "Cookbook" Thread]
 
* [http://www.bay12forums.com/smf/index.php?topic=175538 DF2014 (v0.47.01+) WorldGen "Cookbook" Thread]
* [http://www.bay12forums.com/smf/index.php?topic=180805.0 DF2022 (v0.50.01+) WorldGen "Cookbook" Thread]
 
 
 
{{World}}
 
{{World}}

Please note that all contributions to Dwarf Fortress Wiki are considered to be released under the GFDL & MIT (see Dwarf Fortress Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)

Templates used on this page:

This page is a member of 2 hidden categories: