- 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.
Advanced world generation
This article was migrated from DF2014:Advanced world generation and may be inaccurate for the current version of DF (v51.11). See this page for more information. |
v51.11 · v0.47.05 This article is about the current version of DF.Note that some content may still need to be updated. |
- 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.
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 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.
Parameter sets
There are multiple default sets of all the advanced world generation parameters hard coded in Dwarf Fortress. These will be overridden by the prefs/world_gen.txt file in the main Dwarf Fortress directory, if it exists. It does not exist by default, you must create it, either by saving the default sets, or saving a copy from the world_gen.txt wiki page or else where. This file can then be edited with a text editor, and you can copy and paste other players' sets of parameters into it. For sources of such parameter sets see Parameter set examples below.
To get back the default sets, move the existing prefs/world_gen.txt to somewhere else (like Documents), or delete it if you do not want to keep the changes, then load the sets in the game, it will then use the hard coded defaults.
User interface
First, there is a line of text inputs and buttons along the top of the screen, from left to right:
- The drop down menu of currently defined parameter sets, click the down arrow to select a set that you want to work with. The currently selected set can be renamed by clicking the current name or the
button. The first set in the file is selected by default, usually "LARGE ISLAND". See Parameter set title.
- The dimensions of the world for the selected set, see World dimensions.
- A text entry box to set all of the seed options to the same seed, will show "Random seed", "Various seeds", or, if all four seeds are set to use the same value, that value. See Seed values and Seed notes.
- The Copy Button to make a copy of the currently selected set and appends it to the bottom of the list.
- The red Delete button to delete the currently selected set, you will be prompted to confirm the deletion.
- The New parameter set to create a new parameter set and appends it to the bottom of the list. This seems to just copy the default "LARGE REGION" set.
- The Save button to save all of the current sets to the prefs/world_gen.txt file.
- The Load button to load from the same file, there is no confirmation, any unsaved changes will be lost. If that file does not exist, this resets all of the sets to the defaults.
Most of the middle is the parameters themselves, with a scroll bar to the right. Each row of the list can include:
- The name of the option
- The range of accepted values; not every option has this, and does not always match the displayed value, for example "0 to 1" might show as "No" and "Yes".
- A plus button to increase the value or cycle through options, when applicable (this button will be missing if the range is missing.)
- The current value; can be clicked to edit, to actually set a value you must press enter, without doing that, clicking another entry box or right clicking will instead reset to the currently set value.
- An edit button to show that the previous box is editable, same as clicking on the text box.
- A minus button to decrease the value or cycle through options, when applicable (this button will be missing if the range is missing).
- A red button to disable this parameter, when applicable, usually setting the value to 0, or -1.
At the bottom right are 3 or 4 more buttons:
- The Create world button to do just that using the currently selected set, unsaved changes are lost.
- The Basic options button to go back to the normal world generation screen, unsaved changes are not lost if you come directly back to Detailed mode.
- The Mods button to go to the mod selection screen, unsaved changes are not lost if you come directly back to Detailed mode. Only shown if mods are available.
- Back to main menu button to do just that, unsaved changes are lost.
World painter
- Main article: World painter
The world painter tool is not in the current version of Dwarf Fortress; it allowed you to paint features onto a map. However, those maps can still be used when generating a world by pasting world painter parameter set maps created in old versions into the prefs/world_gen.txt file. Perfect World DF is a utility that uses the same parameter functionality as the world painter to paint a map, and it also can work with the current version of Dwarf Fortress.
Generating a world
You can either use an already-defined parameter set, or you can edit them, though it is highly suggested to edit a copy of one of the defaults. Once you are happy with the parameters you should save the values you just edited before you click the Create world button. Information about each parameter is documented below.
The phases of the world generation process are (this order is not completely correct):
- Preparing elevation...
- Setting temperature...
- Running rivers...
- Forming lakes and minerals...
- Growing vegetation...
- Verifying terrain...
- Importing wildlife...
- Recounting legends...
- Placing civilizations...
- Making cave civilizations...
- Making cave pops...
- Placing other beasts...
- Placing megabeasts...
- Placing good/evil...
- Placing caves...
- Prehistory generation
- Finalizing civ mats...
- Finalizing art...
- Finalizing uniforms...
- Finalizing sites...
Seed notes
The world generation process uses a PRNG (Pseudo Random Number Generator) algorithm. A PRNG will produce a sequence of numbers that "looks" random, even though the actual sequence of numbers will always be the same if the PRNG is started with the same seed value. Basically this means that if you run world generation with a certain seed value on your computer, and someone else runs world generation with the same seed value on their computer, the same sequence of random numbers will be generated on both computers. The practical impact of this is that someone else can generate exactly the same world that you generated by entering the same seed value that you used.
In the current version, the seed values for the world itself and the names seem to produce the same result, but you will get changes in events which will result in a very different world history.Bug:12683 Keep this in mind if you want to regenerate a particular world.
The way that a world is generated can also be affected by certain world tokens. Changing them causes that code to use more or fewer PRNG values, causing later uses to get different parts of the sequence. So, you cannot for example, change the minimum and maximum rainfall and get 'the same world but drier or wetter', instead, a different world is generated. That said, it would also seem that certain small changes to these world tokens can occasionally generate a very similar world, however, other tokens are more sensitive. For more information see the forum thread here.
The following are tokens which use the PRNG values in ways that changing them will likely cause broader changes:
- [DIM:X:X]
- [ELEVATION:X:X:X:X]
- [RAINFALL:X:X:X:X]
- [TEMPERATURE:X:X:X:X]
- [DRAINAGE:X:X:X:X]
- [VOLCANISM:X:X:X:X]
- [SAVAGERY:X:X:X:X]
- [ELEVATION_FREQUENCY:X:X:X:X:X:X]
- [RAIN_FREQUENCY:X:X:X:X:X:X]
- [DRAINAGE_FREQUENCY:X:X:X:X:X:X]
- [TEMPERATURE_FREQUENCY:X:X:X:X:X:X]
- [SAVAGERY_FREQUENCY:X:X:X:X:X:X]
- [VOLCANISM_FREQUENCY:X:X:X:X:X:X]
- [PARTIAL_OCEAN_EDGE_MIN:X]
- [COMPLETE_OCEAN_EDGE_MIN:X]
- [HAVE_BOTTOM_LAYER_1:X]
- [MINERAL_SCARCITY:X] [1]
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 game comes up with values based on some other sort of pseudo-random information from things like the current date and time.
When generating a world, Dwarf Fortress records the seeds it used in gamelog.txt.
Advanced parameters
There are essentially 4 types of controls for the generation of the surface map;
Terrain parameters: as described below, these 5 variables define the basic background world, how hot or cold it is, how much rainfall, how high the mountains are. The world automatically goes through the temperature range along the Y axis, although sometimes it will be hotter in the north, other times in the south, or cold at both. Minimum, maximum and X,Y variance can drastically alter the world.
Weighted meshes: these are a way to fine-tune the amount of the 5 basic variables on the map. They can be used to set the specific distribution of different elevations or rainfall areas for example.
Feature parameters: such as rivers, mountain peaks, volcanoes, and oceans, which can cause rejections if the terrain parameters don't allow enough suitable locations for the features to be placed.
Rejection parameters: Dwarf Fortress uses a 'belt-and-braces' approach to world generation. The above controls allow you to shape the world, then the rejection parameters throw it out if it does not meet certain criteria. There are a number of rejection parameters for the number and degree of the 5 basic variables, for biome types, etc. If the world does not meet the requirements of any one rejection parameter the world is rejected and re-randomised. Also see World rejection.
Leaving tokens out of a set in world_gen.txt will cause the game to use default values which are not adjusted for smaller world sizes, this may cause smaller worlds to always be rejected.
If you are experimenting with world design, there is also a game setting that will log the rejection reasons. With that information you can then either adjust the rejection parameters to allow those worlds, or the other parameters to prevent them from trying to generate.
The parameters are described below in the order that they appear in the list in the game, which is not necessarily the order they appear in world_gen.txt. See world token for an index that will help you look things up by token name. The tokens used in world_gen.txt are at the bottom of each of the following parameter descriptions.
Parameter set title
This sets the name of the parameter set itself, as used in the list of sets (this has nothing to do with the name of the generated world).
Token | Example | Notes |
---|---|---|
[TITLE:<name>] | [TITLE:MEDIUM ISLAND] | Required |
World dimensions
The size of the map for the current set can be changed by changing the Width and Height values at the top next to the set title. You will need to confirm this, since changing the dimensions of the world will change other parameters, because many of them have different defaults depending on the surface area available.
Larger maps usually take longer to generate and may reduce FPS in-game, though this is really a matter of larger worlds usually having more civilizations, sites, historical figures, and events; restricting the number of those can speed up the process. Non-square maps may result in crashesBug:2928.
Token | Example | Notes |
---|---|---|
[DIM:<width>:<height>] | [DIM:257:257] | Valid values are 17, 33, 65, 129, and 257, other values will use one of those. Changing the size in the file without adjusting other parameters can cause many rejections. |
Seed values
Enables the use of, and specifies seed values for, different parts of the world generation process. Just entering a specific seed does not enable it, that must be done separately, although using the box at the top to set all the seeds to the same value does enable them all. Enabling a seed puts the token in using what ever is in the text box below. If you enable a seed, but do not enter a seed, the string "Seed text" will be used ([SEED:Seed text]). Trying to use a ] in the string in the file will end the seed there, since it closes the token, any text after that will be ignored. Normally, just leave these set to Random, unless trying to reproduce the results of a previous world generation. See also the seed notes section above.
Token | Example | Notes |
---|---|---|
[SEED:<text>] | [SEED:31337] |
For each of these not in the config file, a random seed will be used, and the first seed is not used to generate the others. The seeds used are output to gamelog.txt when world generation starts. |
[HISTORY_SEED:<text>] | [HISTORY_SEED:31337] | |
[NAME_SEED:<text>] | [NAME_SEED:31337] | |
[CREATURE_SEED:<text>] | [CREATURE_SEED:31337] |
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, or leave the value blank for a random one. (The DFHack utility adds an option to rename the world using the in-game languages.)
Token | Example | Notes |
---|---|---|
[CUSTOM_NAME:<name>] | [CUSTOM_NAME:Realm of Cheese Engravings] | For a random name, simply don't use this token. |
Embark Points
The number of points for equipment and animals when embarking in fortress mode (there is no equivalent setting for adventure mode). Normally, the default of 1504 is fine, but can be increased for various purposes like experimentation or to help dwarves survive in a particularly evil world, or reduced for certain challenges.
Token | Example | Notes |
---|---|---|
[EMBARK_POINTS:<number>] | [EMBARK_POINTS:1504] | 0 to 10,000 |
End year
The maximum number of years generated for the world, although generation can be paused and the world used as is any time after the second year; the same as the History parameter in basic world gen, except that you can enter an exact value. A too-short history can limit the materials available to civilizations, and certain adventure mode features are only available after certain site events, while too long a history often leads to civilizations dying.
For more information on the history aspect of the game, see Legends and Ages.
Token | Example | Notes |
---|---|---|
[END_YEAR:<number>] | [END_YEAR:250] | 2 to 10,000 |
Population cap after civ creation
A soft limit to the total number of historical figures alive at the same time during generation across all civilizations, only preventing the birth of new historical figures.[2] Each civilization is allotted a percentage of the total by the percentage of sites they control.[3] Civilizations also have non-historical populations, and there is no setting to limit those (in early versions all civilization members were historical figures, this is also why the name of this setting is misleading). Each entity also has limits from their raws, see the population entity tokens, and setting this to unlimited will not remove those.
Huge historical figure populations can slow generation and the game in general.
Token | Example | Notes |
---|---|---|
[TOTAL_CIV_POPULATION:<number>] | [TOTAL_CIV_POPULATION:15000] | -1 to 100,000, -1 is no limit |
Site cap after civ creation
Total number of sites that can be directly created by all civilizations combined like hillocks, hamlets, dark pits, forest retreats, etc. Does not prevent the placement of initial civilization sites, though they will then be counted for the limit. Does not affect creature sites like caves or lairs, group sites like castles, monasteries, towers, forts, or camps, or unpopulated sites like tombs. After this limit is reached, no civilization will be able to place new sites. See the placement entity tokens for other ways that civilization site placement can be limited.
Increasing this will slow generation down and reduce the available places for player sites. Since the [MAX_SITE_POP_NUMBER]
entity token limits the historical figure population per site, this site cap can also limit the total historical figure population of all civilizations combined, and some expand faster than others getting more sites before the limit is reached.
Token | Example | Notes |
---|---|---|
[SITE_CAP:<number>] | [SITE_CAP:1500] | -1 to 100,000, -1 is no limit |
Beast control
These parameters don't usually matter too much, but may matter for small numbers of beasts.
Percentage of Megabeasts and Titans Dead for Stoppage
The world starts out with a certain number of powerful megabeast and titan entities in existence. If a percentage of the megabeast and titan population dies out during history generation, then history generation will stop early. For example, if the elimination value is 80%, and the generated history starts with 200 entities and 160 of those 200 entities are eliminated by historical events before the End Year is reached, history generation will stop immediately.
If you want to end the creation of your world at the beginning of a certain age, choose the following values:
- Age of Legends: ~34%
- Age of Heroes: ~67%
If there are three or fewer titans or megabeasts in your world, the age will be given a special name reflecting the remaining megabeasts/titans, instead.
Year to Begin Checking Megabeast Percentage
The percentage of dead megabeasts and titans for stoppage will not be checked until this year is reached in history generation. This can be used to ensure that a world reaches a certain year even if all of the megabeasts in the world are slain earlier.
If the number of living megabeasts and titans starts at or drops to less than four, then world generation will always stop if the current year is equal to or greater than the Year to Begin Checking Megabeast Percentage regardless of how many megabeasts and titans are dead — Percentage of Megabeasts and Titans Dead for Stoppage is ignored. The number of megabeasts and titans at the start of the world is set by the sum of the Max Megabeasts Caves and Titan Number parameters.
Token | Example | Notes |
---|---|---|
[BEAST_END_YEAR:<year>:<percentage or -1>] | [BEAST_END_YEAR:200:80] | Use -1 as percentage to disable. Year must still be at least 2. |
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.
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."
Token | Example | Notes |
---|---|---|
[CULL_HISTORICAL_FIGURES:<0 or 1>] | [CULL_HISTORICAL_FIGURES:0] | 0 = No, 1 = Yes |
Reveal All Historical Events
Setting this to Yes will allow access to most information about the history of the world in Legends mode. All events will be revealed, but some historical figures, sites, regions, and civilizations and other entities may not be, possibly because they are not known to any civilization. If set to No, then you will have to discover historical information in adventure mode or by instructing dwarves to make engravings.[Verify]
Token | Example | Notes |
---|---|---|
[REVEAL_ALL_HISTORY:<0 or 1>] | [REVEAL_ALL_HISTORY::1] | 0 = No, 1 = Yes |
Terrain Parameters
These set limits and variance for terrain elevation, rainfall, temperature, drainage, volcanism, and savagery which determines how those values are generated. What biomes exist are then determined by how these factors overlap with each other.
Minima and Maxima
These are the absolute minimum and maximum values that can ever be generated for a particular map square characteristic. By subtly tweaking the min and max values, vastly different maps can be made. Changing these can cause the occurrence of certain biomes to become impossible, so you may want to use Weighted Ranges instead.
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 will probably need to be increased from the default.
Elevation
This controls the range of terrain elevations that can occur in the world.
Usually you just want to leave the min/max values alone. Raising the minimum elevation can, for example, make it impossible for oceans to exist. This does not directly control the number of available Z-levels at a particular site, though high maximum values may contribute to peaks which can raise the number of above ground Z-levels. In other words, a maximum elevation of 400 and minimum of 1 does not mean you get 400 Z-levels but it might increase the number of Z-levels somewhat in some regions compared to others.
Raising the variance will result in a more bumpy, uneven landscape.
Some biomes/features that are impacted by elevation:
- A high minimum (above 99) means no oceans as they need elevations below 100.
- 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.
- Mountain peaks can only form at elevations of 400.
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.
Note that if 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. [Report, reproduced 2022]
Temperature
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 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)
Elves can spawn where the temperature is 10 degrees or warmer. Humans can spawn where the temperature is 0 degrees or warmer.
Drainage
Changing drainage parameters will change the way water-affected biomes are formed. Low drainage will contribute to the formation of lakes, rivers, and swamps. High drainage will cause water to sink into the ground rather than sit on the surface, which is important for forming hills.
Lower drainage values have been reported to contribute to the formation of thicker soil layers, though it is currently unknown exactly how other factors (such as elevation or perhaps rain) impact soil formation.
Volcanism
Volcanism controls the occurrence of igneous 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.
Savagery
These parameters control the level of 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.
Configuration Tokens
Token | Example | Notes |
---|---|---|
[ELEVATION:<min>:<max>:<x variance>:<y variance>] | [ELEVATION:1:400:401:401] | Range: 0 to 400 Maximum of 400 required for mountain peaks. Variance range: 0-3200 |
[RAINFALL:<min>:<max>:<x variance>:<y variance>] | [RAINFALL:0:100:200:200] | Range: 0 to 100 Variance range: 0-3200 |
[TEMPERATURE:<min>:<max>:<x variance>:<y variance>] | [TEMPERATURE:25:75:200:200] | Range: -1000 to 1000 Variance range: 0-3200 |
[DRAINAGE:<min>:<max>:<x variance>:<y variance>] | [DRAINAGE:0:100:200:200] | Range: 0 to 100 Variance range: 0-3200 |
[VOLCANISM:<min>:<max>:<x variance>:<y variance>] | [VOLCANISM:1:100:200:200] | Range: 0 to 100 Maximum of 100 required for volcanoes. Variance range: 0-3200 |
[SAVAGERY:<min>:<max>:<x variance>:<y variance>] | [SAVAGERY:1:100:200:200] | Range: 0 to 100 Variance range: 0-3200 |
Terrain Mesh Sizes and Weights
These parameters make it possible to influence the number of squares in a particular range, without making conditions outside of that range impossible. For example, you can make it possible for many more low-elevation squares to exist without making it impossible for high elevations to form. Changing these parameters is often preferable to simply changing the min/max values.
The basic steps of applying weighted ranges are as follows:
- Create a grid with 2MeshSize - 1 tiles in both X and Y direction.
- At each grid intersection, set the value according to the weighted ranges.
- Smooth out the area between the intersection points.
- Add noise according to the variance parameters.
where MeshSize is the raw parameter value found in the world_gen.txt. See the image on the right for an example.
Mesh Size/Weighted Ranges
Mesh size determines how many grid tiles there will be. Setting this to Ignore will cause the weighted range settings to be ignored for that terrain characteristic. As an example, setting it to 2×2 means the grid will be 2 times 2 tiles large and there will be 3×3 for a total of 9 intersection points. On a pocket world, this means one grid tile will be 8×8 world tiles large, whereas on a large world, one grid tile will be 128×128 world tiles. Note that the highest possible value for a given world size will always make the grid tiles 8×8 world tiles large.
If mesh size is set to something other than Ignore, these weights will be applied at the granularity of the selected mesh size for purposes of generating random values in each range. This allows random number generation to be non-linear for the given terrain characteristic.
For example, if the Elevation Weighted Range parameters were set to (starting with the 0-20 range) 60:10:10:10:10 (these values do not have to add up to any particular number) and elevation min and max are set to 1 and 400 respectively then about 60% of the grid line intersection points (on average) will be set to an elevation in the range of 1-80 (0% to 20%), and the other ranges will be represented by around 10% of the intersection points each. The exact distribution is still left up to chance though on average it will be close to this specification.
Weighted ranges do not make rejection checks, although they can be responsible for many rejections if you neglect to adjust or disable some of the Minimum Number of Mid/Low/High Characteristic Squares for example.
Interaction between Mesh Size and Variance
The end result can vary greatly depending on how the corresponding X and Y Variance parameters are set. First of all, if the variance is too large the noise it adds can completely negate the effect of the weighted ranges. For instance, with a 2×2 mesh, the default variance parameters are high enough that usually the mesh grid can hardly be recognized. How strong the variance's effect is, is also dependent on the mesh size. Having a larger mesh size (i.e. smaller grid tiles) means the variance also has to be higher for a visible effect. For instance, with a variance of 400, the effects are clearly visible with a 2×2 mesh and barely visible at all with a 8×8 mesh. Note that this effect is directly dependent on the mesh size and not, as one might expect, on the actual size of the grid tiles. This means, that a large world with a 2×2 mesh will look essentially the same as a pocket world with a 2×2 mesh, only stretched to 256 times the size.
Also see this forum post for more details.
Configuration Tokens
Token | Example | Notes |
---|---|---|
[ELEVATION_FREQUENCY:<mesh>:<0-20 weight>:<20-40 weight>:<40-60 weight>:<60-80 weight>:<80-100 weight>] | [ELEVATION_FREQUENCY:2:1:2:3:4:5] | Valid mesh values:
1 = Ignore 2 = 2x2 3 = 4x4 4 = 8x8 5 = 16x16 6 = 32x32 (limited by world size) |
[RAIN_FREQUENCY:<mesh>:<0-20 weight>:<20-40 weight>:<40-60 weight>:<60-80 weight>:<80-100 weight>] | [RAIN_FREQUENCY:3:1:2:3:4:5] | |
[DRAINAGE_FREQUENCY:<mesh>:<0-20 weight>:<20-40 weight>:<40-60 weight>:<60-80 weight>:<80-100 weight>] | [DRAINAGE_FREQUENCY:4:1:2:3:4:5] | |
[TEMPERATURE_FREQUENCY:<mesh>:<0-20 weight>:<20-40 weight>:<40-60 weight>:<60-80 weight>:<80-100 weight>] | [TEMPERATURE_FREQUENCY:1:1:1:1:1:1] | |
[SAVAGERY_FREQUENCY:<mesh>:<0-20 weight>:<20-40 weight>:<40-60 weight>:<60-80 weight>:<80-100 weight>] | [SAVAGERY_FREQUENCY:5:1:2:3:4:5] | |
[VOLCANISM_FREQUENCY:<mesh>:<0-20 weight>:<20-40 weight>:<40-60 weight>:<60-80 weight>:<80-100 weight>] | [VOLCANISM_FREQUENCY:1:1:1:1:1:1] |
Poles
With this, you can influence how polar regions are added. The poles can be on the north or south edge, and the equator will be on the opposite edge, or in the middle if there are two poles. If poles are set to NONE, then there will be no seasonal changes in the weather (e.g. no winter snow in temperate biomes).
Token | Example | Notes |
---|---|---|
[POLE:<placement>] | [POLE:NORTH] | Viable options: NONE, NORTH_OR_SOUTH, NORTH_AND_OR_SOUTH, NORTH, SOUTH, NORTH_AND_SOUTH |
Minimum Mountain Peak Number
This will cause the world to be rejected if fewer than this many peaks (based on elevation) are present on the map. EG: elevations of 400 must be possible for mountain peaks to occur. If set to zero, then worlds will not be rejected based on number of peaks.
You may need to adjust elevation parameters, such as the highest weighted range, in order to get the desired number of elevation-400 squares needed for larger numbers of peaks. Like volcanoes, mountain peaks can make embark zones more interesting, but other than that, they don't appear to "do" anything special. Reportedly, they do increase the highest Z-level above ground in all embark zones in the same region, even if the selected embark zone does not include the peak.
Token | Example | Notes |
---|---|---|
[PEAK_NUMBER_MIN:<number>] | [PEAK_NUMBER_MIN:20] | Elevations of 400 must occur for peaks to form. |
Minimum Partial Edge Oceans
This will cause a world to be rejected unless there are at least this many oceans touching an edge of the map. If set to zero then worlds will not be rejected based on this criterion. Setting both this parameter and Minimum Complete Edge Oceans to values that total more than 4 when added together may cause all worlds to be rejected as you can't have both a partial and complete edge ocean on a given edge.
Token | Example | Notes |
---|---|---|
[PARTIAL_OCEAN_EDGE_MIN:<number>] | [PARTIAL_OCEAN_EDGE_MIN:2] | Maximum of 4 |
Minimum Complete Edge Oceans
This will cause a world to be rejected unless there are at least this many oceans which completely cover an edge of the map. Since a square map only has 4 edges, the maximum value possible is 4. If set to zero then worlds will not be rejected based on this criterion but still might end up with complete edge oceans by chance.
Note that the ability for this many edge oceans to exist will be limited by elevation. Therefore, to actually create large oceans you will probably need to change things like the Elevation Mesh Size and Weighted Ranges to increase the number and distribution of very low elevation squares on the map. In addition, if Complete Edge Oceans is set to any value other than 0 or 4, you may need to lower elevation variance for at least one of the axes: if set too high, such as a variation of 1600 for both X and Y axes (the default for Large Island and Medium Island parameter sets), the game may generate worlds very slowly or even hang.Bug:565
Given appropriate weight, range, and variance values for things like elevation, a setting of: 1 results in a world that seems like a chunk of coastline. One edge of the map will be completely underwater and there will be ocean taking up much of the map on that side (think the east or west coast of the United States, the north coast of Canada, or southern Europe). If your edge ocean happens to pick your world's frozen side, most of it will be glacier.
- 2 results in another coastline along with the first one -- the map could end up looking something like Panama if the oceans pick opposite sides of the map.
- 3 results in a peninsula, like Florida in the US. There will be oceans surrounding 3 sides of the map, and land touching only one side of the map.
- 4 results in one or more island(s) depending on things like elevation variance and weights. Regardless of whether you get one island or multiple islands, the entire map will be surrounded by water.
Unfortunately, there's no easy way to control which oceans end up on which edges, except perhaps setting X and Y variance to different values.
Edge oceans will take up part of the other edges too. For example, a full edge ocean on the east side will have part of the north and south sides underwater, but that does not add to the partial edge oceans count.
Token | Example | Notes |
---|---|---|
[COMPLETE_OCEAN_EDGE_MIN:<number>] | [COMPLETE_OCEAN_EDGE_MIN:0] | Maximum of 4 |
Minimum Volcano Number
Worlds with less than this number of volcanoes will be rejected. Note that this will not just create this many volcanoes at random; there must be at least this many squares with a Volcanism of 100. Therefore, adjusting Weighted Range for 80-100 to some higher value is recommended if you want to facilitate a large number of volcanoes. In addition, Maximum Volcanism must be set to 100 or squares with volcanism of 100 will be impossible, making volcanoes impossible.
Token | Example | Notes |
---|---|---|
[VOLCANO_MIN:<number>] | [VOLCANO_MIN:15] | Volcanoes require a volcanism of 100 to occur. |
Mineral Scarcity
Controls the frequency at which minerals occur; setting this value higher will decrease both the number of different types and amounts of ore and gems present on a map. The default value will result in many metal ores, while the old default of sparse would be only a few ores, which may be limiting until other metals can be requested and traded for.
The options "Very Rare", "Rare", "Sparse", "Frequent", and "Everywhere" in the basic world generation menu use the values 50000, 10000, 2500, 500 and 100 respectively.
According to research by Shandra in v0.31.25, this is the relationship between the value of this setting and the approximate number of gems and ore:
This is for the same 8x8 embark region in a world which is otherwise the same, except for the mineral scarcity parameter (although most of the detailed information comes from experiments with previous versions). (The chart legend has an error, the first "Pot.(Types)" should read "Pot.(Amount)".)
Token | Example | Notes |
---|---|---|
[MINERAL_SCARCITY:<number>] | [MINERAL_SCARCITY:100] | Range: 100 to 100,000 |
Max Megabeast Caves
This is the number of megabeasts placed at the beginning of history. Megabeasts are hydras, bronze colossuses, rocs, and dragons, which are all placed in equal proportions data.
Increasing this value can lead to early extinction of civilizations.
Token | Example | Notes |
---|---|---|
[MEGABEAST_CAP:<number>] | [MEGABEAST_CAP:75] | Megabeasts count towards BEAST_END_YEAR calculation. |
Max Semi-Megabeast Caves
This is the number of semi-megabeasts placed at the beginning of history. Semimegabeasts are giants, ettins, minotaurs, and cyclops, which are placed in equal proportions data.
Token | Example | Notes |
---|---|---|
[SEMIMEGABEAST_CAP:<number>] | [SEMIMEGABEAST_CAP:150] | Semimegabeasts do not count towards the BEAST_END_YEAR calculation. |
Titan Parameters
Number
This controls the number of titans that exist at the beginning of historydata. The number of forgotten beasts is unaffected by this parameter data.
Token | Example | Notes |
---|---|---|
[TITAN_NUMBER:<number>] | [TITAN_NUMBER:33] | Titans count towards BEAST_END_YEAR calculation. |
Attack Population Requirement
Titans 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.
Exported Wealth Requirement
Titans will begin to attack your fort once you have exported at least this many dwarfbucks-worth of goods, regardless of whether or not any other criteria have been met. This parameter defaults to None (disabled).
Created Wealth Requirement
Titans will begin to attack your fort once the fort's total wealth has reached this many dwarfbucks in value. This happens regardless of whether any of the other criteria, such as population, have been met; therefore, even with 1 dwarf, a fort could be attacked if the fort were worth at least this value.
Token | Example | Notes |
---|---|---|
[TITAN_ATTACK_TRIGGER:<population>:<exp wealth>:<created wealth>] | [TITAN_ATTACK_TRIGGER:80:0:100000] | 0 = None (disabled). Only one requirement must be met for an attack. |
Number of Demon Types
Demons are similar to titans and forgotten beasts, in that they are procedurally generated, but most are not unique. Thus, many different types of demons can exist in the world, but there will also be many individuals of most types. Thanks to certain fun things, fewer demon types also means fewer goblin civilizations[1]. You need at least 2 demon types, or else goblin civilizations won't exist initially, though if dwarves breach the underworld during world generation, at least one will be generated then.
Token | Example | Notes |
---|---|---|
[DEMON_NUMBER:<number>] | [DEMON_NUMBER:52] | 0 to 1000 |
Number of Night Troll Types
The number of different night trolls, also procedurally generated, that will exist in the world. Setting this to zero means that the world will have no night trolls, custom or otherwise.
Token | Example | Notes |
---|---|---|
[NIGHT_TROLL_NUMBER:<number>] | [NIGHT_TROLL_NUMBER:77] | 0 to 1000 |
Number of Bogeyman Types
The number of different bogeyman forms that will exist in the world. Bogeymen are procedurally generated, though their forms do not vary by much. Setting this to zero means that the world will have no bogeymen, custom or otherwise.
Token | Example | Notes |
---|---|---|
[BOGEYMAN_NUMBER:<number>] | [BOGEYMAN_NUMBER:27] | 0 to 1000 |
Number of Nightmare Types
The number of different nightmare forms that will exist in the world. Nightmares are procedurally generated. Setting this to zero means that the world will have no nightmares, custom or otherwise.
Token | Example | Notes |
---|---|---|
[NIGHTMARE_NUMBER:<number>] | [NIGHTMARE_NUMBER:27] | 0 to 1000 |
Number of Vampire Curse Types
The number of different types of vampires that will exist in the world. Although they are generated at the start of a new world, they aren't different from each other. Setting this to zero means no vampires will exist.
Token | Example | Notes |
---|---|---|
[VAMPIRE_NUMBER:<number>] | [VAMPIRE_NUMBER:72] | 0 to 1000 |
Werebeast Parameters
Number of Werebeast Curse Types
The number of different types of werebeasts that can exist in the world. It is common for werebeasts, unlike vampires, to assume many different forms and variations, the most well-known of these amount to different species of animals, from lizards, to wolves, to even bears. Setting this to zero means no werebeasts will exist, and will also remove a large amount of fun from the game.
Token | Example | Notes |
---|---|---|
[WEREBEAST_NUMBER:<number>] | [WEREBEAST_NUMBER:58] | 0 to 1000 |
Attack Population Requirement
Werebeasts 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 50 which will often be reached in the second year of the fort.
Exported Wealth Requirement
Werebeasts will begin to attack your fort once you have exported at least this many dwarfbucks-worth of goods, regardless of whether or not any other criteria have been met. This parameter defaults to 5000.
Created Wealth Requirement
Werebeasts will begin to attack your fort once the fort's total wealth has reached this many dwarfbucks in value. This happens regardless of whether any of the other criteria, such as population, have been met; therefore, even with 1 dwarf, a fort could be attacked if the fort were worth at least this value.
Token | Example | Notes |
---|---|---|
[WEREBEAST_ATTACK_TRIGGER:<population>:<exp wealth>:<created wealth>] | [WEREBEAST_ATTACK_TRIGGER:50:5000:50000] | 0 = None (disabled). Only one requirement must be met for an attack. |
Number of Secret Types
The number of secrets that exist in the world. Currently, all secrets are secrets of life and death, and the ones holding these secrets are necromancers, thus, setting this to zero means that no necromancers will appear. Non-necromancer towers can still appear (extremely rarely) with zero secrets, constructed by independent undead groups. The primary difference between having 1 or 1000 secrets is the chance of your world having any necromancer towers at all. With 1, this chance is low. With the default number, it's seemingly guaranteed. Even with 1 secret, if you have any necromancer towers at all, it is likely a great number will quickly appear in world generation (though this isn't guaranteed).
Token | Example | Notes |
---|---|---|
[SECRET_NUMBER:<number>] | [SECRET_NUMBER:52] | 0 to 1000 |
Number of Regional Interaction Types
The number of interactions that can be caused in regions, which may incorporate evil rain and cloud types. Currently, only evil region interactions are generated this way.
Token | Example | Notes |
---|---|---|
[REGIONAL_INTERACTION_NUMBER:<number>] | [REGIONAL_INTERACTION_NUMBER:20] | 0 to 1000 |
Number of Disturbance Interaction Types
The number of different disturbed dead that can exist in the world. Setting this to zero should prevent any mummy from appearing[Verify], but it will not prevent the creation of tombs.
Token | Example | Notes |
---|---|---|
[DISTURBANCE_INTERACTION_NUMBER:<number>] | [DISTURBANCE_INTERACTION_NUMBER:10] | 0 to 1000 |
Number of Evil Cloud / Evil Rain Types
This number specifies the total amount of various face-melting, eye-boiling, and zombifyingly-fun clouds of pure evil may appear in your world. Setting this to zero means you no longer will ever have to deal with encroaching dust walls of doom in that world.It is generally advised to keep this value low...
Token | Example | Notes |
---|---|---|
[EVIL_CLOUD_NUMBER:<number>] | [EVIL_CLOUD_NUMBER:45] | 0 to 1000 |
The latter number states how many different types of green-ooze drenchers, disconcerting blood-showers, and sickly yellow slime-baths can occur in your world. Compared to evil clouds though, this one hardly is worth stressing out about, usually.... Setting this to zero means the only semi-solid to fully-liquid fluids to fall from the sky will be pure H2O.
Token | Example | Notes |
---|---|---|
[EVIL_RAIN_NUMBER:<number>] | [EVIL_RAIN_NUMBER:352] | 0 to 1000 |
Generate Divine Materials
This turns the generation of divine metals on or off. It does not influence the creation of vaults. Probably determines whenever or not using divination dice spawns weapons.
Token | Example | Notes |
---|---|---|
[GENERATE_DIVINE_MATERIALS:<1 or 0>] | [GENERATE_DIVINE_MATERIALS:1] | 1/0 = Yes/No |
Allow Divination, Experiments, and Necromancy types
These allow or disallow divination, demon or necromancer experiments, and the more advanced necromancer abilities.
Token | Example | Notes |
---|---|---|
[ALLOW_DIVINATION:<1 or 0>] | [ALLOW_DIVINATION:1] | 1/0 = Yes/No |
[ALLOW_DEMONIC_EXPERIMENTS:<1 or 0>] | [ALLOW_DEMONIC_EXPERIMENTS:1] | 1/0 = Yes/No |
[ALLOW_NECROMANCER_EXPERIMENTS:<1 or 0>] | [ALLOW_NECROMANCER_EXPERIMENTS:1] | 1/0 = Yes/No |
[ALLOW_NECROMANCER_LIEUTENANTS:<1 or 0>] | [ALLOW_NECROMANCER_LIEUTENANTS:1] | 1/0 = Yes/No |
[ALLOW_NECROMANCER_GHOULS:<1 or 0>] | [ALLOW_NECROMANCER_GHOULS:1] | 1/0 = Yes/No |
[ALLOW_NECROMANCER_SUMMONS:<1 or 0>] | [ALLOW_NECROMANCER_SUMMONS:1] | 1/0 = Yes/No |
Desired Good/Evil Square Counts
These values change the amount of good or evil tiles on the map, depending on the size of the region they are being considered for. The counts are for all tiles in all subregions of a given size considered together, not counts for each subregion considered separately (all tiles in the same subregion share the same surroundings values).
As used here, a "subregion" is a named world area. Subregion names and locations for a generated world are viewable in legends mode under "Regions". Subregions are classified by size the same way for all map sizes: 1-24 tiles is Small, 25-99 tiles is Medium, and 100+ tiles is Large.
The counts used here will always be restricted to regions of the given size, no matter how large the count. Also, the count is more of a goal than a minimum or maximum. As a result, you can end up with many more or many fewer than the requested number of squares in some situations. In particular, if you have something like a case where only 3 large regions exist in a world, and you request "1 evil square" in large regions, you will end up with one of the large regions being entirely evil. So any non-zero value in one of these settings essentially means "force at least one region of this size to be all good/evil."
Note that the "evilness" of evil biomes is also impacted by savagery. Certain civilizations cannot exist in good and/or evil squares, so too many of one or the other may limit the size of certain types of civilizations - dwarves, for example, need non-aligned biomes. Creating too many evil biomes seems to lead to the danger of many civilizations' early extinction.
Token | Example | Notes |
---|---|---|
[GOOD_SQ_COUNTS:<small region>:<med region>:<lg region>] | [GOOD_SQ_COUNTS:100:1000:2000] | Set count to zero to disable for that region size. |
[EVIL_SQ_COUNTS:<small region>:<med region>:<lg region>] | [EVIL_SQ_COUNTS:100:1000:2000] |
Minimum Biome Square Counts
These numbers control whether or not a world will be rejected based on a lack of different biomes. Raising these numbers will not automatically generate the given number of squares of the given biome! For a biome to exist, certain conditions like elevation and rainfall must exist.
These parameters simply filter out worlds that (for example) randomly fail to have enough high elevation squares to support a given number of mountains, etc. Some settings may cause worlds to always be rejected. For example, if for some reason the maximum elevation parameter is set to a value below what will support mountain biomes, it will be impossible to satisfy a non-zero requirement for mountain squares. The same principle goes for other conditions and biomes such as low elevations and oceans, etc.
Certain civilizations require different biomes to exist (such as dwarves and mountains), so eliminating certain biomes will make it impossible for certain civilizations to form.
These parameters often result in infinite world rejection problems. See World rejection for information on solving problems related to worlds always being rejected due to one or more of these parameters.
0 means no minimum for rejection - setting it to 0 does not guarantee 0 squares of that biome.
Biome Type Requirement Table
Terrain requirements for various biomes are described below.[Verify] Note that some of the exact ranges are unknown.
Biome | Terrain Requirement | |||
---|---|---|---|---|
Elevation | Rainfall | Temperature | Drainage | |
Swamp/Marsh | 100-299 | 33-100 | Non-Freezing | 0-32 |
Desert/Badland | 100-299 | 0-9 | non-freezing | note1 |
Forest | 100-299 | 66-100 | non-freezing | 66-100 |
Mountains | 300-400 | N/A | N/A | N/A |
Ocean | 0-99 | N/A | N/A | N/A |
Glacier | 100-299 | N/A | Freezing | 80(?)-100 |
Tundra | 100-299 | N/A | Freezing | 0-66 |
Grassland | 100-299 | 0-66 | Non-Freezing | 0-66 |
Hills | 100-299 | 0-66 | Non-Freezing | 66-100 |
note1 drainage: 00-32 sand desert, 33-49 rocky wasteland, 50-65 rocky wasteland but different characters/appearance, 66-100 badlands
Minimum Initial Square Count
Note: The exclusive purpose of these parameters is to cause world rejection.
This is the minimum number of squares of the given biome that must exist before things like erosion take place. One thing to keep in mind is the maximum number of squares on a map of a given size - if the total number of squares on a map is lower than the sum of all square count parameters, then you will get infinite world rejection.
To determine the number of squares on a map, just multiply the dimensions. In practice these parameters will need to sum to lower than the maximum because some space is needed for "slack".
Map Size | Number of Squares |
---|---|
17×17 | 289 |
33×33 | 1089 |
65×65 | 4225 |
129×129 | 16614 |
257×257 | 66049 |
Minimum Initial Region Count
This is the minimum number of regions of contiguous biome squares that must exist before other processes such as erosion take place.
Minimum Final Region Count
This many regions of the given biome must exist after erosion and similar phases of generation have been completed.
Token | Example |
---|---|
[REGION_COUNTS:SWAMP:<init sq>:<init rg>:<final rg>] | [REGION_COUNTS:SWAMP:1032:7:6] |
[REGION_COUNTS:DESERT:<init sq>:<init rg>:<final rg>] | [REGION_COUNTS:DESERT:1032:7:6] |
[REGION_COUNTS:FOREST:<init sq>:<init rg>:<final rg>] | [REGION_COUNTS:FOREST:4128:13:12] |
[REGION_COUNTS:MOUNTAINS:<init sq>:<init rg>:<final rg>] | [REGION_COUNTS:MOUNTAINS:8256:9:9] |
[REGION_COUNTS:OCEAN:<init sq>:<init rg>:<final rg>] | [REGION_COUNTS:OCEAN:8256:7:6] |
[REGION_COUNTS:GLACIER:<init sq>:<init rg>:<final rg>] | [REGION_COUNTS:GLACIER:0:0:0] |
[REGION_COUNTS:TUNDRA:<init sq>:<init rg>:<final rg>] | [REGION_COUNTS:TUNDRA:0:0:0] |
[REGION_COUNTS:GRASSLAND:<init sq>:<init rg>:<final rg>] | [REGION_COUNTS:GRASSLAND:8256:13:12] |
[REGION_COUNTS:HILLS:<init sq>:<init rg>:<final rg>] | [REGION_COUNTS:HILLS:8256:13:12] |
Erosion Cycle Count
Tells the world generator how long the world has to erode its tall peaks down to mountainsides during the 'running rivers...' stage of world creation. The higher this number, the less jagged the world will be, and the more wide the major rivers will be. If you use the maximum number, your mountains will dissolve before your eyes into plains which can lead to rejections if there aren't enough mountains to use for river start points and dwarven civilization origin points.
Token | Example | Notes |
---|---|---|
[EROSION_CYCLE_COUNT:<number>] | [EROSION_CYCLE_COUNT:250] | Range: 0 to 1000 |
Minimum/Desired River Start Locations
This is the minimum number of riverheads that must exist before and after erosion takes place. Worlds will be rejected if they fail to meet these numbers. As with minimum biome counts, raising this number doesn't automatically create this many riverheads. Other conditions like terrain and rainfall must exist for rivers to form.
Extremely high pre-erosion values speed erosion greatly, while low post erosion values are useful for limiting rejects due to lack of river origin points. One can try the 800 value to get more lakes.
Token | Example | Notes |
---|---|---|
[RIVER_MINS:<min pre-erosion>:<des post-erosion>] | [RIVER_MINS:200:400] | Range: 0 to 800 |
Periodically Erode Extreme Cliffs
If enabled, makes every impassable rock wall into a series of ramps. Some prefer to pump up erosion to about 250, and turn the "Desired pre-erosion river count" to 0 for good erosion and no extra canyons.
Normally this is set to Yes (1).
Token | Example | Notes |
---|---|---|
[PERIODICALLY_ERODE_EXTREMES:<1 or 0>] | [PERIODICALLY_ERODE_EXTREMES:1] | 1/0 = Yes/No |
Do Orographic Precipitation and Rain Shadows
Toggle that allows terrain height to affect rainfall. For example, moist air coming from the ocean blows over the land. As the terrain gets higher, it forces the moist air up, causing it to rain on the seaward side of a mountain. Eventually, all the rain has fallen if the mountain is tall enough. So, when the breeze goes over the top, there's no moisture left to fall on the other side, creating a rain-shadow. In the current version, regions where drainage is above 50 will also create rain shadows, regardless of the underlying biome and elevation.[4]
Turning this on should create a tendency for more extreme rainfall in regions, creating more forests, deserts, marshlands, and grasslands. Also note that it can create rainfall outside of min-max rainfall settings, so even in a world with a 0 max rainfall you may get rainfall biomes. Turning it off should result in more controllable, less complex rainfall conditions based on rainfall parameters as it adds a random element which can distort or otherwise mess up the climates on a pregenerated map.
This should be disabled if you're importing a map or using a preset map file that has weather.
Token | Example | Notes |
---|---|---|
[OROGRAPHIC_PRECIPITATION:<1 or 0>] | [OROGRAPHIC_PRECIPITATION:1] | 1/0 = Yes/No |
Maximum Number of Subregions
This is the number of separate biomes (the flashing regions you see on embark when you hit F1, F2, etc. when there's more than one biome on the embark location) that are allowed to exist on the entire map.
Setting this to very low values will result in numerous rejections depending on variance parameters. If variance values are set to high numbers, many small biomes will be created causing rejection if this parameter value is not increased beyond the default.
Increasing the value of this tag is often a must when generating "patchwork" worlds with lots of biome variance, but simply increasing it without increasing variance parameters will not guarantee more biomes.
It is also interesting to note that the maximum subregions is 5000 which is more than the total number of squares for a pocket or small map. However, for a medium or large map (16641 or 66049 squares) it quickly becomes a mere fraction of the total number of possible subregions. In fact it would be quite easy on a large map to end up with far too many subregions and get endless rejections of this type.
Token | Example | Notes |
---|---|---|
[SUBREGION_MAX:<number>] | [SUBREGION_MAX:2750] | Range: 1 to 5000 |
Cavern Parameters
Caverns are the hollow areas underground, which dwarves tend to encounter when they're digging around. The Cavern Layer Number parameter determines how many cavern systems will be generated, not including the magma layer or the Bottom layer. Defaults to three. Setting it to lower values could help FPS.
Setting it to 2 will merge cavern 3 species into the 2nd cavern, and setting it to 1 will merge all into one cavern. However, disabling them entirely by setting it to 0 will make it impossible to grow any underground plants, as none will exist for your civilization to cultivate, nor will they be available on embark.
- Setting caverns to a sub-3 number (Spoiler, highlight to view) erases about one-third of HFS spiresBug:10267 and prevents dig deep disasters. Additionally, random plant or animal species can be more frequently absent.
Token | Example | Notes |
---|---|---|
[CAVERN_LAYER_COUNT:<number>] | [CAVERN_LAYER_COUNT:3] | Range: 0 to 3 |
Cavern Layout Parameters
Open caverns and dense passageways are not mutually exclusive. When both are raised, bizarre results can occur, such as layers showing a combination of open caverns, a cluster of network passages, and natural walls sprinkling the inside of an otherwise open cavern. Reference
If you want the largest open spaces possible, then decrease the density and increase the openness. If you want a labyrinth of passageways, lower the openness and raise the passage density.
Another interesting note about the cavern layers is that the seed and number of demon types affect the layout of the caverns.
Layer Openness Min/Max
Dictates the size of cavern passages. When Passage Density (see below) is set to minimum (0), caverns will be open expanses. Raising the maximum will increase the size of the caverns.
Token | Example | Notes |
---|---|---|
[CAVERN_LAYER_OPENNESS_MIN:<number>] | [CAVERN_LAYER_OPENNESS_MIN:0] | Range: 0 to 100 |
[CAVERN_LAYER_OPENNESS_MAX:<number>] | [CAVERN_LAYER_OPENNESS_MAX:100] |
Layer Passage Density Min/Max
This determines how many passages form the cavern. If openness (see above) is set to minimum and density increased, then you will get a maze-like network of small criss-crossing passages. Raising the values further increases the number of the maze-like passages.
Caverns will be large, open spaces at 0, and comprised of many small vertical shafts of rock at 100. Setting both values to be the same results in a uniform look for the caverns.[Verify]
Token | Example | Notes |
---|---|---|
[CAVERN_LAYER_PASSAGE_DENSITY_MIN:<number>] | [CAVERN_LAYER_PASSAGE_DENSITY_MIN:0] | Range: 0 to 100 |
[CAVERN_LAYER_PASSAGE_DENSITY_MAX:<number>] | [CAVERN_LAYER_PASSAGE_DENSITY_MAX:100] |
Layer Water min\max
Determines how many caverns (out of a max. 3) will have water at the bottom. Note that, even at 100, there will be some amount of ground in caverns, but each cavern 'bubble' will contain some amount of water.
At 0, there will be no water in your caverns. This may impact future underground plant growth, although maps will still start with underground flora.[Verify]
Token | Example | Notes |
---|---|---|
[CAVERN_LAYER_WATER_MIN:<number>] | [CAVERN_LAYER_WATER_MIN:0] | Range: 0 to 100 |
[CAVERN_LAYER_WATER_MAX:<number>] | [CAVERN_LAYER_WATER_MAX:100] |
Magma Layer
This parameter controls whether the magma sea exists.
Setting 1/Yes causes the magma layer to exist, value 0/No prevents it. Appears not to have any impact on volcanoes nor volcanism, so even if 0/No, there will still be embark locations with magma. If a volcano exists, it appears to always tap the magma sea, but the magma sea will not be revealed by revealing the volcano.
Token | Example |
---|---|
[HAVE_BOTTOM_LAYER_1:<1 or 0>] | [HAVE_BOTTOM_LAYER_1:1] |
Bottom Layer
Determines if the space below the magma sea exists. If Yes the "HFS" layer is always present. Normally you want to leave this set to Yes for maximum fun.
If enabled, this will force the magma layer above it.
Token | Example |
---|---|
[HAVE_BOTTOM_LAYER_2:<1 or 0>] | [HAVE_BOTTOM_LAYER_2:1] |
Z Levels (Depth) Settings
These parameters control the "thickness" of various "layers" on the map. Note that a "layer" in this case does not refer to one Z-level, but refers to a number of related Z-levels such as "levels above ground".
The following table assumes that you have 3 cavern layers. (out of a minimum of 0-3) The Levels Above Layer settings control how many Z-Levels are above each layer. A layer may itself consist of multiple Z-Levels (and almost always does).
Setting Name | Token | Description |
---|---|---|
Above Ground | [LEVELS_ABOVE_GROUND:<number>] | The number of Z-levels of air above the highest surface level. Has no impact on how many Z-levels deep the surface layer is. |
Above layer 1 | [LEVELS_ABOVE_LAYER_1:<number>] | Z-levels of stone above the first cavern layer. Making this higher will guarantee at least this many levels to build your fortress, but will have no impact on how many z-levels thick the surface layer is. Also, the top of a cavern may be higher than the rest of a cavern, so in practice there will be more "solid" levels than this above the cavern.
As of version 0.31.25 this setting is inaccurate. The actual number of z-levels may vary in a range of approx. ±5, which may result in non-existence of any solid z-levels between a surface layer and first cavern layer. |
Above Layer 2 | [LEVELS_ABOVE_LAYER_2:<number>] | Z-levels of earth between the very top of the second cavern and the very bottom of the first cavern. |
Above Layer 3 | [LEVELS_ABOVE_LAYER_3:<number>] | Z-levels of earth between the very top of the third cavern and the very bottom of the second cavern. |
Above Layer 4 | [LEVELS_ABOVE_LAYER_4:<number>] | Z-levels of earth between the very highest magma and the very bottom of the third cavern. Spoiler Hidden (select invisible text to read): Making this high will give a large area for HFS veins, so that it never touches caverns, giving more to mine if it was impacting the cavern previously. |
Above Layer 5 | [LEVELS_ABOVE_LAYER_5:<number>] | Uncertain. May control the number of levels of "Semi Molten Rock" between HFS and Magma, may control number of levels of magma, may impact both. In experimentation, the overall depth of all magma sea and semi-molten rock levels appears to increase, but not consistent enough to say for certain. Only valid if Magma Layer present. Spoiler Hidden:Often the HFS vein will only extend as high as the highest magma, making this the only guaranteed way to increase amount of HFS to mine, but unfortunately also creating enormous useless semi-molten z-levels |
At Bottom | [LEVELS_AT_BOTTOM:<number>] | Appears to be number of levels of HFS chamber. Only valid if Bottom Layer present, often having no impact. Values larger than default result in strange things. |
Some implications:
- The number of surface layers (e.g. soil), at this time, cannot be controlled. For example, on a map with 1 layer of peat, then a layer of silt, then a layer of obsidian, there is no control to let you increase either one to be, say, 20 z-levels. (though you may get lucky with the obsidian).
- There can be multiple stone layers between the cavern and the surface, so, increasing Levels Above Layer 1 may give you more conglomerate or more granite, and you have no control over which stone layer spans those Z-levels.
- The layers shown on embark span across the cavern layers in an unknown and inconsistent way. Sometimes those 10 different layers of stone are evenly distributed over your 400 z-level deep map, sometimes the first 9 get 1 z-level each and the last gets the other 391 levels. No way to control found yet.
- The HFS chamber, if present, will always extend into the rock layers, and appears to always make contact with the bottom cave. Large values for levels above layer 5 and layer 4 can result in enormous chambers, but the number of levels at the top (the part with undead) appears to be unaffected.
- Unconfirmed whether number of levels between caverns has any impact on cavern height. There will be connecting ramps and/or shafts between cavern layers no matter how many levels are between them.
- Very Important: These values appear to apply across a whole 16x16 region, not just embark areas. That means that if a 16x16 region is completely flat, but has one tall mountain in one far corner, even if you set Levels Above Ground low (e.g. 2 z-levels) you still have all the empty air of the highest mountain in every embark tile (e.g. 200 z-levels). Also can happen to the semi-molten layer, and can lead to unexpected behavior.
- Very large or small values can cause strange things to happen.
Cave Parameters
Caves are somewhat like caverns, except that they have a passage to the surface, and are generally much smaller – caves can connect to caverns if they are sufficiently deep.
Minimum/Maximum Natural Cave Size
These parameters appear to control the length and depth of caves.
Token | Example | Notes |
---|---|---|
[CAVE_MIN_SIZE:<number>] | [CAVE_MIN_SIZE:5] | Range: 1 to 500 |
[CAVE_MAX_SIZE:<number>] | [CAVE_MAX_SIZE:25] |
Number of Non-Mountain Caves
The number of non-mountainous caves that will be generated. Lurking kobolds set up shop in caves, and store their stolen items there - a setting of 0 in both will stop kobold civilizations from appearing. Special note: a cave is not a lair.
Token | Example | Notes |
---|---|---|
[MOUNTAIN_CAVE_MIN:<number>] | [MOUNTAIN_CAVE_MIN:100] | Range: 0 to 800 |
[NON_MOUNTAIN_CAVE_MIN:<number>] | [NON_MOUNTAIN_CAVE_MIN:200] |
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.
Token | Example | Notes |
---|---|---|
[ALL_CAVES_VISIBLE:<1 or 0>] | [ALL_CAVES_VISIBLE:0] | 1/0 = Yes/No |
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.
Token | Example | Notes |
---|---|---|
[SHOW_EMBARK_TUNNEL:<0-2>] | [SHOW_EMBARK_TUNNEL:2] | 0 = No 1 = Only in Finder 2 = Always |
Number of Civilizations
This number of civilizations will be placed on the map before history generation begins. These civilizations may later die out due to historical events. It is noteworthy that the chance for any given civilization to be destroyed through megabeasts decreases with a higher total number of civilizations presentdata. The five races are dwarf, elf, human, goblin, and kobold; they will generally be placed in equal numbers until the quota has been reached. If there are not enough biomes or other worldgen prerequisites for an even distribution, certain civs will be much more or less frequent than othersdata. If there is an odd number of civs (not divisible by 5), then the remainder is distributed randomly. Kobold civs require caves to be placed; if no caves exist, then kobolds are skipped and will not appear. This does not cause rejections data. Goblin civilizations require multiple demons, see the number of demon types section above.
Note that a high value here can cause lots of map rejections, particularly on smaller maps as there simply isn't enough room or regions to put them all in.
Token | Example | Notes |
---|---|---|
[TOTAL_CIV_NUMBER:<number>] | [TOTAL_CIV_NUMBER:40] | Range: 0 to 300 |
Playable Civilization Required
If this is set to yes (default) then worlds will be rejected if no civilization with CIV_CONTROLLABLE can be placed. In an unmodded game, only the dwarves have this token.
If set to no, the result may be a world that cannot be played in Fortress Mode.
Token | Example | Notes |
---|---|---|
[PLAYABLE_CIVILIZATION_REQUIRED:<1 or 0>] | [PLAYABLE_CIVILIZATION_REQUIRED:1] | 1/0 = Yes/No |
Minimum Number of Mid/Low/High Characteristic Squares
Sets the minimum possible number of squares of certain ranges of each of the region qualities, such as elevation, rain, drainage, volcanism, savagery, and temperature. These need to be changed to reflect your regional meshes and weights, and are responsible for a HUGE number of map rejections. These values can all be set to 0 for much fewer map rejections, particularly in the case of more wacky, non-standard maps.
These values will cause worlds to be rejected unless at least the given number of squares of the given type are randomly generated. Setting these values too high could result in worlds always being rejected if other parameters such as the maximum/minimums for elevation, etc., don't allow enough of those squares to get generated.
Token | Example | Notes |
---|---|---|
[ELEVATION_RANGES:<low sq>:<mid sq>:<high sq>] | [ELEVATION_RANGES:8256:16512:8256] | Minimum number of squares that must have low, medium, and high amounts of the given attribute. 0 = No minimum |
[RAIN_RANGES:<low sq>:<mid sq>:<high sq>] | [RAIN_RANGES:8256:16512:8256] | |
[DRAINAGE_RANGES:<low sq>:<mid sq>:<high sq>] | [DRAINAGE_RANGES:8256:16512:8256] | |
[SAVAGERY_RANGES:<low sq>:<mid sq>:<high sq>] | [SAVAGERY_RANGES:8256:16512:8256] | |
[VOLCANISM_RANGES:<low sq>:<mid sq>:<high sq>] | [VOLCANISM_RANGES:8256:16512:8256] |
World rejection
- Main article: World rejection
If you are having the common problem of generated worlds always being rejected by the world generator, see Solving World Rejection Problems (v0.31 page) as it contains many detailed suggestions on how to troubleshoot and solve these issues.
Parameter set examples
If you're trying to do something specific, then the Worldgen examples - complete parameter sets that can be copied directly into your world_gen.txt file and customized as desired - might be helpful. If none of the examples suit your needs, Worldgen tricks has strategies and tips on making a world just right for you.
For many, many more examples see:
- DF2012 (v0.34) WorldGen "Cookbook" Thread
- DF2014 (v0.40) WorldGen "Cookbook" Thread
- DF2014 (v0.44.02+) WorldGen "Cookbook" Thread
- DF2014 (v0.47.01+) WorldGen "Cookbook" Thread
- DF2022 (v0.50.01+) WorldGen "Cookbook" Thread
Worlds | |||||||||
---|---|---|---|---|---|---|---|---|---|
General | |||||||||
Map |
| ||||||||
Civilization |
|