In other languages: Deutsch 日本語 Português, Brasil Русский Українська 简体中文

Map generator: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
m (→‎History: Added map generation system reworked to the 2.0 history folder)
 
(16 intermediate revisions by 7 users not shown)
Line 4: Line 4:
__TOC__{{Clear}}
__TOC__{{Clear}}
== Map generation presets ==
== Map generation presets ==
[[File:MapGeneratorOverview.png|thumb|right|400px|Overview of the map generation screen]]
[[File:MapGeneratorOverview.png|thumb|right|400px|Overview of the map generation screen in Space Age]]
A preset may be chosen instead of manually configuring the generation.
A preset may be chosen in the top left dropdown instead of manually configuring the generation. If playing in [[Space Age]]{{SA}}, presets will only change settings on [[Nauvis]].
=== Default ===
=== Default ===
Normal settings.
Normal settings. The recommended way to play Factorio.


All terrain and resource settings set to regular/normal/medium.
All sliders are set to the center position. Map height and width is unlimited, peaceful mode is disabled.
 
==== Advanced settings ====
All settings are set to their defaults:


All other settings are set to their defaults:
{| class="wikitable"
{| class="wikitable"
|-
|-
! Pollution                !! Default !!Evolution !! Default
! Enemy expansion            !! Default !! Evolution       !! Default
|-
|-                                    
| Absorbed per damaged tree || 500     ||Enabled          || Yes
| Enabled                    || Yes     || Enabled          || Yes  
|-                                    
|-                                    
| Diffusion ratio          || 2%      ||Time factor      || 0.00000400
| Maximum expansion distance || 7      || Time factor      || 40   
|-
|-                                    
| Dissipation rate          || 1       ||Destroy factor  || 0.00200000
| Minimum group size        || 5       || Destroy factor  || 200   
|-                                     
| Maximum group size        || 20      || Pollution factor || 9     
|-
|-
| Enabled                  || Yes    ||Pollution factor || 0.00001500
| Minimum cooldown (Minutes) || 4     
|-
|-
| Minimum damage to trees  || 3500
| Maximum cooldown (Minutes) || 60   
|-
|-
|}
|}
Line 32: Line 32:
{| class="wikitable"
{| class="wikitable"
|-
|-
! Enemy expansion                  !! Default !!Recipes/Technology       !! Default
! Pollution                !! Default !! Recipes/Technology         !! Default
|-                                          
|-                                      
| Enabled                         || Yes   ||Recipe difficulty          || Normal
| Enabled                   || Yes     || Technology price multiplier || 1
|-                                          
|-                                      
| Maximum expansion distance       || 7      ||Technology difficulty      || Normal
| Absorption modifier       || 100%   
|-                                          
|-                                       
| Minimum group size              || 5     ||Technology price multiplier || 1
| Attack cost modifier      || 100%   
|-                                      
| Minimum damage to trees  || 60      
|-
|-
| Maximum group size              || 20
| Absorbed per damaged tree || 10     
|-
|-
| Minimum cooldown (Minutes)      || 4
| Diffusion ratio          || 2%     
|-
| Maximum cooldown (Minutes)      || 60
|-
|-
|}
|}


=== Rich resources ===
=== Rich resources ===
Resources patches have a larger richness, so you don't have to expand far.
Resources patches on Nauvis have a larger richness, so you don't have to expand far.


Difference from default: Resources have very good richness instead of regular.
Difference from default: Resources have 200% richness instead of 100%.


=== Marathon ===
=== Marathon ===
Recipes and technologies are more expensive.
Technologies are more expensive.


Difference from default: Expensive recipes and technology, technology price multiplier 4.
Difference from default: Technology price multiplier 4.


=== Death world ===
=== Death world ===
Biters are more dangerous and evolve faster.
Biters are more dangerous and evolve faster.


Difference from default: Very high frequency and size enemy bases, small starting area, enemy evolution time factor and pollution factor are both set to 0.00002.
Difference from default: 200% enemy base frequency and 200% enemy base size on Nauvis, 75% starting area size, enemy evolution time factor is set to 200, pollution factor is set to 12. The pollution absorption and attack cost modifiers are set to 50% instead of 100%


=== Death world marathon ===
=== Death world marathon ===
Recipes and technologies are expensive and biters are dangerous and plentiful. Only select this if you are a Factorio veteran.
Technologies are more expensive and biters are dangerous and plentiful. Only select this if you are a Factorio veteran.


Combines "Marathon" and "Death world".
Combines "Marathon" and "Death world" with some additional changes: Enemy evolution time factor is set to 150, pollution factor is set to 10. Attack cost modifier is set to 80% instead of 100% (50% for death world).


=== Rail world ===
=== Rail world ===
Resource patches are large and spread far apart, to encourage train systems. Biters won't create any new bases or re-expand into cleared territory.
Resource patches are large and spread far apart, to encourage train systems. Biters won't create any new bases or re-expand into cleared territory.


Difference from default: Coal, copper ore, iron ore, and stone are set to very low frequency and big size instead of normal/medium. Uranium ore and crude oil are set to low frequency and high size. Water has a very low frequency and a big size. The evolution time factor is set to 0.000002 and enemy expansion is disabled.
Difference from default: Resources on Nauvis are set to 33% frequency and 300% size. Nauvis water is set to 200% scale and 150% coverage. The evolution time factor is set to 20 from 40 and enemy expansion is disabled.


=== Ribbon world ===
=== Ribbon world ===
The world generated is a narrow bounded stripe. Terrain beyond the bound is impassible blackness. While pollution will be absorbed into the blackness biters will continue to only spawn on land. [https://forums.factorio.com/viewtopic.php?f=23&t=70766&p=429600&hilit=ribbon+world#p429600 Example].
The map height is limited to only 128 tiles, which introduces a range of challenges and interesting situations.


Difference from default: Under Advanced, the map height is set to 128. Resources are all 300% Frequency, 50% Size, 200% Richness. Water is 25% Coverage and Size. Starting Area Size is 300%.  
Difference from default: Map height on all planets is limited to 128. Resources on Nauvis are set to 300% frequency, 50% size and 200% richness. Nauvis water is set to 25% coverage and size. Starting area size is increased to 300%.  
 
=== Lakes ===
Lakes with consistent size and cliffs that tend to follow the coastline. Forest paths are disabled. The same elevation as Factorio 1.1.
 
Difference from default: Tree coverage is set to 50%. This preset uses the map and cliff generation from version [[version history/1.1.0#1.1.0|1.1]]


=== Island ===
=== Island ===
The world generated is an archipelago completely surrounded by water. By adjusting only the island size % and Starting Player Area, initial biter bases can be confined to islands to make it easier to earn timed and biter-related [[Achievements|achievements]].
A large island in an endless ocean. Forest paths are disabled.


Difference from default: Terrain Map Type is Island, 100% Scale.
Difference from default: Tree coverage is set to 50%. Terrain map type is set to island. This preset uses the map and cliff generation from version 1.1.


== Manual configuration ==
== Manual configuration ==
=== Basic settings ===
It is possible experiment with different settings by opening the map preview, changing the settings and observing their effects. This makes it possible to directly observe what exactly particular settings modify in the world, beyond the textual descriptions provided on this page. If playing in [[Space Age]]{{SA}}, you can preview any planet by using the drop-down menu in the top right. There will also be additional settings for planet-specific settings, and each setting will show an icon telling which planet it affects.
==== Peaceful mode ====
The [[enemies]] don't begin fights, only responding if the player hits them. Additionally, when a map is in peaceful mode, the enemies will not [[Enemies#Expansions|expand]].
 
==== Enable replay ====
: ''{{Main|Replay system}}''
Record all the actions that the player(s) perform during the game, so that they can later be played back as essentially a timelapse of the save file.


==== Map-width and -height ====
The seed is the starting value for the random number generator that Factorio uses for generating the world based on the generation settings. This means that even with the same generation settings, the world can look very different depending on the seed. If playing in Space Age, a single seed will effect all planets at once.
If the player limits the width and/or height they may generate maps with finite resources and area. Another option is to make the world infinite in only one axis, this is commonly referred to as a ''ribbon world''.


==== Map seed ====
All resources and terrain features can be disabled by unchecking the checkbox in front of them.


This is the starting value for the random number generator that Factorio uses for generating the world based on the generation settings. Know that 'random number' is really a misnomer in Factorio and on computers in general, as they aren't really random, instead being calculated with complicated algorithms that require a seed as starting value (For more detail, see  http://en.wikipedia.org/wiki/Random_seed).
=== Resources ===
Frequency determines the number of resource patches in a given area. It does not affect resource patch size or richness. A setting of 200% frequency that means roughly double the patches can be found in a given area.


So even with the same map-exchange string but a different seed maps can change dramatically, or appear very similar. It's up to chance. In order to get a true copy of a world, giving the map exchange string and allowing the string to fill out the seed is important.
The size setting adjusts the size of the resource patches. Setting the slider to 200% means the surface area of the patch is doubled.


==== Map exchange string ====
Richness defines the yield of every ore tile and every oil field. If richness is set to 200%, each ore tile and oil field contains about double the amount of ore/oil. Outside of this, resource patch richness increases by distance from the starting area.


A map exchange string generally looks like this:
If playing in Space Age, resource settings can be changed for each planet individually, even if that resource appears on multiple planets. For example, [[coal]] can be configured differently for its appearences on Nauvis and [[Vulcanus]]{{SA}}.


  >>>eNpjYBBg0GdgYGBm5mFJzk/MYWZm4UrOLyhILdLNL0plZmTmTC4q
=== Terrain ===
  TUnVzc/MYWFmZktJLU4tKmEGqkrJBNNcqXmpuZW6SYnFqUAea3pRYnE
Setting the map type to island generates a single island around the spawn point and endless ocean beyond that. The normal map type generates endless terrain.
  xkMGRWZSfBzKBEai0ODEvBSRZXJKfB1TFyFpSlJoKUsVdWpSYl1maC7
  aKhZmBMcvcibmhRY4BhP/XMxj8/w/CQNYFoBNBGORSBkagAAywJudkp
  qUxMCg4gjAjI2O1yDr3h1VT7Bkh8noOUMYHqEjEbqjIg1YoI2I1lNFx
  GMpwmA9j1MMY/Q6MxmDw2R7BgNhVAjQZagmHA4IBkWwBSTIy9r7duuD
  7sQt2jH9Wfrzkm5Rgz5gpG+orUPreDijJDtTAyAQnZs0EgZ0wHzDAzH
  xgD5W6ac949gwIvLFnZAXpEAERDhZA4oA3MHgE+ICsBT1AQkGGAeY0O
  5gxIg6MaWDwDeaTxzDGZXt0f6g4MNqADJcDESdABNhCuMsYocxIB4iE
  JEIWqNWIAdn6FITnTsJsPIxkNZobVGBuMHHA4gU0ERWkgOcC2ZMCJ14
  wwx0BDMEL7DAeMG6ZGRDgg/3WD0/SAKZ2kr0=<<<


The map exchange string can be used to share all map generation settings between different players. The player can paste the string (using {{Keybinding|ctrl|V}}) into the map exchange string field and the game will set the generation settings to the settings saved in the string, resulting in a complete copy of the map when generated.
Water scale changes how much space there is between lakes. The smaller the scale, the swampier the terrain. Higher scale leads to bigger oceans separated by bigger landmasses. Water coverage influences the overall amount of water. Reducing it generates small lakes, increasing it generates large oceans.


The map exchange string can be retrieved from save files by going into the load game screen, selecting the desired map, clicking the Map Exchange String button in the lower left corner and copying the string from the window that pops up.
The settings for trees behave in the same way. Higher scale increases the distance between forests while lower scale reduces it. High tree coverage allows to completely cover the world in trees, and low coverage nearly removes them from the world.


For a technical description of the map exchange string, see [[map exchange string format]].
Cliff frequency influences how many cliff lines there are in the world. Higher frequency means more cliffs, lower frequency reduces their number. The continuity setting changes how long and unbroken the cliff lines are. Low continuity leads to very short lines, high continuity to long, nearly unbroken lines of cliffs. Cliffs can be set separately for their appearances on [[Fulgora]]{{SA}} and [[Gleba]]{{SA}}.


=== Resource and terrain settings ===
The moisture settings control the distribution of grass versus desert. Higher bias generates more grass, lower bias generates more desert. Higher scale increases the size of the grass/desert areas, low scale leads to small grass and desert patches.
==== Frequency ====


For resources, frequency determines the frequency of ore/oil patches. The higher the frequency, the more patches can be found in a given area. Although the ore patches are of a smaller size, a higher frequency still results in more ore tiles being generated.
The terrain type setting controls the distribution of red desert versus sand. Higher bias generates more red desert, lower bias generates more sand. Higher scale increases the size of the red desert/sand areas, low scale leads to small red desert and sand patches.


Frequency modifies the area of each deposit and the number of deposits. If resource frequency is increased, each of the deposits is smaller and has less resources in total (because it covers less area) and deposits are very common. If resource frequency is decreased, the deposits are larger but more rare.
Vulcanus volcanism determines the distribution of lava compared to the mountains and ashlands on Vulcanus. Higher scale means more lava rivers, lower scale generates more mountains instead. Higher coverage means larger lava pools, smaller coverage means more ashlands.


Terrain, including enemy bases and trees, is affected in the same way: The higher the frequency, the more terrain "blobs"/nest clusters/forests can be found in a given area, while their sizes decrease with higher frequency.
Gleba water control the distribution of swamps compared to the highlands on [[Gleba]]{{SA}}. Higher scale means more swamplands, lower scale generates more infrequent patches of highland. Higher coverage means larger bodies of deep water, lower coverage means less water and larger highlands.


Cliffs are affected in a similar way: The higher the frequency, the more cliffs can be found. However, the overall cliff area size increases with higher frequency, while the cliff "lines" are broken up more often, meaning that higher frequencies result in many big cliff blobs composed of short cliff "lines".
Gleba plants control the distribution of Gleba's many flora. It behaves similarly to Nauvis trees.


==== Size ====
=== Enemy ===
For resources, the size setting adjusts the size of generated ore/oil patches.
[[File:MapGeneratorEnemy.png|thumb|right|400px|The enemy tab]]
Frequency determines the number of enemy bases in a given area. It does not affect enemy base size. A setting of 200% frequency that means roughly double the enemy bases can be found in a given area.


It's as simple as it seems — Small size would means small ore/oil patches, large means large ore/oil patches, thus increasing the resource count in a given area. Note that ore/oil patch size is also affected by frequency.
The size setting adjusts the size of enemy bases. Setting the slider to 200% means the surface area covered by the enemy bases is doubled. Bases can be changed for both Nauvis and Gleba individually.


<!-- A note on documenting bugs here: Normally this is should not be done. However, these bugs have existed for longer than half a year, and are expected to be fixed in 0.17 at the earliest. Since they have a big impact, the behaviour must be documented. So, I am taking the freedom to overrule the style guide in this case. -- [[User:Bilka|Bilka]] ([[User talk:Bilka|talk]]) - <span style="color:#FF0000">Admin</span> 19:30, 6 June 2018 (UTC)
There are two ways to disable enemies alltogether: "no enemies mode", or "peaceful mode". Selecting either will disable some [[achievements]].
-->[https://forums.factorio.com/55178 Due to a bug], enemy bases are currently not affected by the size setting. Their size can only be changed by changing their frequency.


The other terrain types, including water and trees, are affected the same way as resources.
* '''No enemies''': [[Enemies#Nests|Nests]] will still spawn, but no enemies themselves will spawn from them. [[Pollution]] will still effect the nests by increasing their health.
** In Space Age, on Vulcanus, Demolishers will also not spawn, and thus there will be no territories. On Gleba, destroying egg rafts will no longer spawn wrigglers. [[Pentapod egg]]{{SA}} and [[biter egg]]{{SA}} will no longer spawn their creatures upon spoiling, and will instead simply disappear.
* '''Peaceful mode''': Enemies don't begin fights, only responding if the player (or a structure) fires at them. Only the enemies located near the fired shot are aggravated and they do not call other enemies to join them. The aggravated enemies primarily attack the structures and players that initiated the aggression and also the structures that block their paths. After destroying their targets, most of the time the aggravated enemies will return to being peaceful, but some of them continue a nonstop rampage where they target nearby structures (but not faraway ones). Additionally, when a map is in peaceful mode, the enemies will not [[Enemies#Expansions|expand]].
** In Space Age, Demolishers will not attack if you build in their territory, but will still destroy buildings if they are placed in its path.


[https://forums.factorio.com/54664 Due to a bug], the effect of the size setting on cliffs cannot be reliably predicted. Any size setting above small may lead to cliffs spawning in the starting area. Big and very big size seem to always spawn cliffs everywhere, while medium size and below may not spawn any cliffs.
The starting area is the an almost circular radius around the spawn point that does not contain enemy bases or demolisher territory. Increasing its size pushes the bases further out, decreasing its size generates enemy bases closer to the spawn point. The size setting does not have any other effects.


The following table shows how the frequency and size settings affects the generation of ore patches. For more detail, open the images in a new tab.
[[Enemies#Expansions|Enemy expansion]] can be enabled/disabled and further adjusted using the below settings.


{| class="wikitable"
{| class="wikitable"
|+Generation of iron patches on different frequency and size settings
!Frequency \ Size
!Very small
!Small
!Medium
!Big
!Very big
|-
|-
!Very low
! Enemy expansion setting    !! Description
|[[File:Iron_freq_very_low_size_very_small.png|frameless|150x150px]]
|-                         
|[[File:Iron_freq_very_low_size_small.png|frameless|150x150px]]
| Maximum expansion distance || The maximum distance enemies will look to expand from other enemy bases.
|[[File:Iron_freq_very_low_size_medium.png|frameless|150x150px]]
|-                         
|[[File:Iron_freq_very_low_size_big.png|frameless|150x150px]]
| Minimum group size        || The minimum size of an enemy expansion party modified by the current evolution level.
|[[File:Iron_freq_very_low_size_very_big.png|frameless|150x150px]]
 
|-
|-
!Low
| Maximum group size        || The maximum size of an enemy expansion party modified by the current evolution level.
|[[File:Iron_freq_low_size_very_small.png|frameless|150x150px]]
|[[File:Iron_freq_low_size_small.png|frameless|150x150px]]
|[[File:Iron_freq_low_size_medium.png|frameless|150x150px]]
|[[File:Iron_freq_low_size_big.png|frameless|150x150px]]
|[[File:Iron_freq_low_size_very_big.png|frameless|150x150px]]
 
|-
|-
!Normal
| Minimum cooldown (Minutes) || The minimum time between enemy expansions being sent out.
|[[File:Iron_freq_normal_size_very_small.png|frameless|150x150px]]
|[[File:Iron_freq_normal_size_small.png|frameless|150x150px]]
|[[File:Iron_freq_normal_size_medium.png|frameless|150x150px]]
|[[File:Iron_freq_normal_size_big.png|frameless|150x150px]]
|[[File:Iron_freq_normal_size_very_big.png|frameless|150x150px]]
 
|-
|-
!High
| Maximum cooldown (Minutes) || The maximum time between enemy expansions being sent out.
|[[File:Iron_freq_high_size_very_small.png|frameless|150x150px]]
|[[File:Iron_freq_high_size_small.png|frameless|150x150px]]
|[[File:Iron_freq_high_size_medium.png|frameless|150x150px]]
|[[File:Iron_freq_high_size_big.png|frameless|150x150px]]
|[[File:Iron_freq_high_size_very_big.png|frameless|150x150px]]
 
|-
|-
!Very high
|[[File:Iron_freq_very_high_size_very_small.png|frameless|150x150px]]
|[[File:Iron_freq_very_high_size_small.png|frameless|150x150px]]
|[[File:Iron_freq_very_high_size_medium.png|frameless|150x150px]]
|[[File:Iron_freq_very_high_size_big.png|frameless|150x150px]]
|[[File:Iron_freq_very_high_size_very_big.png|frameless|150x150px]]
|}
|}


===== Starting area =====
[[Enemies#Evolution|Evolution]] can be enabled/disabled and further adjusted using the below settings.
 
The starting area is a special area around the central coordinates of the map which has different ore, water and enemy generation, from the rest of the map. Generally, this results in at least one confirmed ore source each of [[coal]], [[iron ore]], [[copper ore]], and [[stone]], always results in a water source, and always removes biter nests from spawning for an area around spawn. [[Uranium ore]] and [[crude oil]] should not spawn in the starting area. Cliffs should not spawn in the starting area[https://www.factorio.com/blog/post/fff-219], but due to [https://forums.factorio.com/54664 a bug] they may spawn there. The size of the starting area is adjusted by changing the size setting.


{| class="wikitable"
{| class="wikitable"
|+World generations on different starting area settings
!Very small
!Small
!Medium
!Big
!Very big
|-
|-
|[[File:Starting_area_very_small.png|frameless|150x150px]]
! Evolution setting !! Description
|[[File:Starting_area_small.png|frameless|150x150px]]
|-                 
|[[File:Starting_area_medium.png|frameless|150x150px]]
| Time factor      || Controls how fast evolution increases over time.
|[[File:Starting_area_big.png|frameless|150x150px]]
|-                 
|[[File:Starting_area_very_big.png|frameless|150x150px]]
| Destroy factor    || Controls how fast evolution increases due to destroying enemy spawners.
|-                 
| Pollution factor  || Controls how fast evolution increases due to producing pollution.
|-
|}
|}


==== Richness ====
=== Advanced ===
 
This defines the actual content of every ore patch and oil field. The higher the richness, the more ore or oil each resource tile contains. Resource field richness increases by distance.


For [[tree]]s, the richness setting changes the density of their leaves. Before 0.17, the higher the richness slider, the higher their leaf density, the more pollution they absorb.[https://forums.factorio.com/viewtopic.php?p=366015#p366015] In 0.17, this was moved to the Advanced Tab under Pollution (see below).
The map width and height allows to generate maps with finite resources and area. It is possible to limit generation in only direction, alike the [[#Ribbon world|ribbon world]]. Technology price multiplier allows one to multiply the [[research|technology cost]].


For enemy bases, the richness setting does not have an effect.[https://www.reddit.com/r/factorio/comments/8pjscm/friday_facts_246_the_gui_update_part_3/e0bttnp/]
[[Pollution]] can be enabled/disabled and further adjusted using the below settings.


{| class="wikitable"
{| class="wikitable"
|+Resources in ore patches on different richness settings
!Very poor
!Poor
!Regular
!Rich
!Very rich
|-
|-
|[[File:Iron_richness_very_poor.png]]
! Pollution setting        !! Description
|[[File:Iron_richness_poor.png]]
|-                     
|[[File:Iron_richness_regular.png]]
| Absorption modifier      || Modifier of how much pollution is absorbed by trees and tiles.
|[[File:Iron_richness_good.png]]
|[[File:Iron_richness_very_good.png]]
 
|}
 
=== Advanced settings ===
These settings do not affect world generation, instead they allow to change some constants related to the map in general.
 
==== Pollution ====
These settings allow to enable/disable [[pollution]] and further adjust it when keeping it enabled.
 
{| class="wikitable"
|-
|-
! Setting !! Description
| Attack cost modifier      || Modifier of how much pollution is absorbed by enemy attacks.
|-
|-
| Diffusion ratio || The amount of pollution diffused into neighboring chunks per second.
| Minimum damage to trees  || Trees have 4 different stages of the progression towards being destroyed by pollution. Any pollution above this amount starts the process of moving a tree towards a more damaged stage.
|-
|-
| Dissipation rate || Controls how fast pollution dissipates naturally.
| Absorbed per damaged tree || Trees have 4 different stages of the progression towards being destroyed by pollution. This value specifies how much pollution is absorbed when moving to a more damaged stage.
|-
|-
| Minimum to damage trees || Any pollution above this amount starts to damage trees.
| Diffusion ratio          || The amount of pollution diffused into neighboring chunks per second.
|-
|-
| Absorbed per damaged tree || The amount of pollution absorbed by a tree when it is damaged by pollution.
|}
|}


==== Evolution ====
=== Map exchange string ===
These settings allow to enable/disable [[evolution]] and further adjust it when keeping it enabled.


{| class="wikitable"
A map exchange string generally looks like this:
|-
! Setting !! Description
|-
| Time factor || Controls how fast evolution increases over time.
|-
| Destroy factor || Controls how fast evolution increases due to destroying enemy spawners.
|-
| Pollution factor  || Controls how fast evolution increases due to producing pollution.
|}


==== Enemy expansion ====
  >>>eNp1UTGIE0EU/WMu3F4EUUjhgR4prrDZJTlFJRyZURAR0d7Oz
These settings allow to enable/disable [[Enemies#Expansions|enemy expansion]] and further adjust it when keeping it enabled.
  WYiA5udOLsLnhaX4kptxEaraz3hOgu7wIEoKBxa2UVsLFROBC0U4
  p+dnWSNdw/+583/f97/fwbgGLhAADGgAEPqzAXSD/HI8JRZJZD9P
  leuVNyGtC0EKu1wV4qwGK3wiPfW3LYfc6NozBFKRv8qMFaOExnlE
  WDPtrZoOVGcx3igxgb0cKr8SKQ9c1eL5aOSGIcebCxlNl6H2nisD
  dkIC0YAtpIQjOWYOx7IKFEydGOeJCK61fTTO8228OMFt+416hqn9
  ivpKn475VGw1uylYSL6oeDKqXtnNc6dnL3RkyJOUsUzZccKuweW7
  ave8E5nKAeh6HYBahfQLuotCJB71e3LH+8+osTs5bGc7OWRYdtGr
  lhynR2YWrbkTEHHdP9RIKZpgi3yKodNiUlu6CQhD74+3/z1crdF/
  jz9/u5a+yYljUvVb3sr2y1MzusVDk3ck8caL+wqYDVHNE99oOTtG
  40vlJT1jap27Dy64dUSkKNHkG3eR1c7AXa0lpWpMtLN8NNu8smS9
  3R2D3yIVS2+pN0r7bKGk8lITm8wk1icZvHqChTbd6bLvbYddwqtZ
  2b4/w+KK8xElgsPX9F9OhP3uTQZAl9wd96e2DorwRT4wTu/vYd/A
  dl73Kk=<<<


{| class="wikitable"
The map exchange string can be used to share all map generation settings between different players. The player can paste the string (using {{Keybinding|ctrl|V}}) into the map exchange string field and the game will set the generation settings to the settings saved in the string, resulting in a complete copy of the map when generated.
|-
! Setting !! Description
|-
| Maximum expansion distance || The maximum distance enemies will look to expand from other enemy bases.
|-
| Minimum group size || The minimum size of an enemy expansion party modified by the current evolution level.
|-
| Maximum group size || The maximum size of an enemy expansion party modified by the current evolution level.
|-
| Minimum cooldown || The minimum time between enemy expansions being sent out.
|-
| Maximum cooldown || The maximum time between enemy expansions being sent out.
|}


==== Recipes/Technology ====
The map exchange string can be retrieved from save files by going into the load game screen, selecting the desired map, clicking the map exchange string button in the upper right corner and copying the string from the window that pops up.
This setting allows to change the [[Crafting#Recipe difficulties|recipe]]/technology difficulty and multiply the technology cost.


Currently, setting the technology difficulty does not have an effect in vanilla.
For a technical description of the map exchange string, see [[map exchange string format]].


== Mechanics ==
== Mechanics ==
=== Resource and terrain generation ===
The map generator (world generator) is based on a modified [http://en.wikipedia.org/wiki/Perlin_noise Perlin noise algorithm].
A [http://lua-api.factorio.com/latest/Concepts.html#AutoplaceSpecification more detailed description] can be found in the API documentation.


From the [https://forums.factorio.com/viewtopic.php?f=18&t=8016&p=63691#p63561 article which describes the generation]:
=== Starting area ===
: [[File:Factorio-Perlin-Noise.png]]
Top: Normal settings, Middle: The same, but with higher '''frequency''' (note the same curve, but more condensed shape), Down: Same as top, but higher level = increased '''size'''.


The blue wavy line is an internal noise function, black line is a "level" that is used to determine resource placement, red lines are actual placed resources. The high frequency refers mainly to the noise function. Increasing the frequency increases count of resource fields and decreases their size and distance between them. This mechanism is used all through the map generation in factorio, with some adjustments. The map generator works tile by tile, so the resources are placed on a tile x if f(x) > 0. The amount of resources on the tile is given by f(x) * richness.
There is a second internal starting area that is completely separate from the starting area that can be changed in the enemy settings tab. This starting area always has a constant size and affects the spawning of resources, cliffs and water directly at the spawn. The map generation logic makes sure that there is always at least one patch of [[coal]], [[iron ore]], [[copper ore]], and [[stone]] each. Furthermore, there is always a lake in the starting area, even when water is turned off, and there are never any cliffs there. [[Uranium ore]] and [[crude oil]] do not spawn in the starting area. The richness of the ore patches is slightly influenced by the frequency setting.[https://forums.factorio.com/viewtopic.php?p=432592#p432592]


=== Chunks ===
=== Chunks ===


A map is endless by default, though its size can be limited by height and width — see above. Because it is technically endless, the whole map is not generated from the start. Instead, a new [[chunk]] of the map is generated only when needed, similar to other procedurally generated world games.
A map is endless by default, though its size can be limited by height and width — see above. Because it is technically endless, the whole map is not generated from the start. Instead, a new [[Map_structure#Chunk|chunk]] of the map is generated only when needed, similar to other procedurally generated world games.


==== Invisible chunks (fog of war) ====
==== Invisible chunks (fog of war) ====
Line 325: Line 237:
==== Maximum map size and used memory ====
==== Maximum map size and used memory ====


The map size is limited to 2,000 x 2,000 kilometers; internally, this is a square 2,000,000 tiles on a side, with an area of 4,000,000,000,000 (4 trillion) square tiles (assuming 1 tile = 1 meter on a side yields 2,000 x 2,000 km = 4 million square km). In real-world terms, this is between the sizes of India and Australia (or about 40% the area of the United States, or over 10 times the area of Germany). It would take around 200 [[game-second|game-minutes]] (ca 3.3 hours real time) to reach that border from the center when riding a [[locomotive|train]] fueled with [[rocket fuel|rocket]] or [[nuclear fuel]]. This makes the world essentially endless for practical purposes.
The map size is limited to 2,000 x 2,000 kilometers; internally, this is a square 2,000,000 tiles on a side, with an area of 4,000,000,000,000 (4 trillion) square tiles (assuming 1 tile = 1 meter on a side yields 2,000 x 2,000 km = 4 million square km). In real-world terms, this is between the sizes of India and Australia (or about 40% the area of the United States, or over 10 times the area of Germany). It would take around 200 [[Time#Seconds|game-minutes]] (ca 3.3 hours real time) to reach that border from the center when riding a [[locomotive|train]] fueled with [[rocket fuel|rocket]] or [[nuclear fuel]]. This makes the world essentially endless for practical purposes. The generated chunks are fully mapped and stored in the player's RAM, which is the practical limiting factor of exploration.


Because chunks are only generated in and close around the area revealed by radar, it is possible to reach that border without overloading your computer, as the size of the map in computer memory is dependent only on chunks actually generated. If only a narrow stripe of land is explored to far away, this remains manageable.
Because chunks are only generated in and close around the area revealed by radar, it is possible to reach that border without overloading your computer, as the size of the map in computer memory is dependent only on chunks actually generated. If only a narrow stripe of land is explored to far away, this remains manageable.


The generated chunks are fully mapped and stored in the player's RAM, which is the practical limiting factor of exploration.
== History ==
<!-- COMMENT (invisible): This last paragraph could have an example. I'm sure it's not cut-and-dried, but some ballpark figure for basic orientation like "if you have less than X GB of memory, you will have problems running maps where more than Y tiles on a side is explored". I never ran into the problem so I don't know the numbers. - Misacek01 -->


== History ==
{{History|2.0.7|
* Added "No enemies" setting that disables enemy unit spawning from enemy spawners, map gen, and items. Does not disable enemy spawners.
* Added "Lakes" map generation preset
* Map generation system reworked}}
 
{{History|0.17.44|
* The resource frequency slider in the map generator settings has a smaller influence over the amount of ore in the starting area patches.
}}
 
{{History|0.17.0|
* Resource generation changed significantly:
** The starting area contains only iron, copper, coal and stone, in very predictable amounts. Uranium and oil are excluded from the starting area.
** Resource generation settings now have a much more dramatic effect. Increased the number of steps for each setting.
** Ore patches are slightly less frequent but richer.
** There will be a more balanced amount of resources within a large enough region.
** Many other small tweaks.
* Biter generation changed significantly:
** Biter richness slider removed, biter placement is only configured by size and frequency settings.
** Biter generation settings now have a much more dramatic effect. Increased the number of steps for each setting.
** Biter bases will increase in size, frequency and number of worms depending on the distance from player spawn.
** Worm size increases depending on the distance from player spawn.
** Small biter bases are now closer to the player spawn.
** At large distances from player spawn, biter base frequency is lower than before but biter bases are larger.
** Other small tweaks.
* Terrain generation changed significantly:
** Water is generated as large lakes instead of swamps.
** Tile generation improved. Tile placement respects biomes better.
** More predictable cliff placement.
** Better controls in the map generator GUI for water, tiles and cliffs.
* New map terrain type selectable: Island. Launch the rocket with only a limited amount of resources available on the map.
}}


{{History|0.16.0|
{{History|0.16.0|
Line 357: Line 298:
}}
}}


== See also ==
{{C|Main}}
 
* [https://forums.factorio.com/viewtopic.php?f=6&t=7924&p=63517#p63517 Some technical info]
* [https://forums.factorio.com/viewtopic.php?f=6&t=8624&p=69156#p69156 Temperature based biome-model] (how trees are placed)

Latest revision as of 02:43, 30 November 2024

An example how the world generator might create a new map: Default settings with map seed 123456789

World generation is the procedure by which the in game landscape is generated. In short: a number of settings, editable at the start of a new world, define what that world will look like. This can dramatically alter gameplay — a new player is advised to start with the default settings before deciding to change their world.

Map generation presets

Overview of the map generation screen in Space Age

A preset may be chosen in the top left dropdown instead of manually configuring the generation. If playing in Space Age, presets will only change settings on Nauvis.

Default

Normal settings. The recommended way to play Factorio.

All sliders are set to the center position. Map height and width is unlimited, peaceful mode is disabled.

All other settings are set to their defaults:

Enemy expansion Default Evolution Default
Enabled Yes Enabled Yes
Maximum expansion distance 7 Time factor 40
Minimum group size 5 Destroy factor 200
Maximum group size 20 Pollution factor 9
Minimum cooldown (Minutes) 4
Maximum cooldown (Minutes) 60
Pollution Default Recipes/Technology Default
Enabled Yes Technology price multiplier 1
Absorption modifier 100%
Attack cost modifier 100%
Minimum damage to trees 60
Absorbed per damaged tree 10
Diffusion ratio 2%

Rich resources

Resources patches on Nauvis have a larger richness, so you don't have to expand far.

Difference from default: Resources have 200% richness instead of 100%.

Marathon

Technologies are more expensive.

Difference from default: Technology price multiplier 4.

Death world

Biters are more dangerous and evolve faster.

Difference from default: 200% enemy base frequency and 200% enemy base size on Nauvis, 75% starting area size, enemy evolution time factor is set to 200, pollution factor is set to 12. The pollution absorption and attack cost modifiers are set to 50% instead of 100%

Death world marathon

Technologies are more expensive and biters are dangerous and plentiful. Only select this if you are a Factorio veteran.

Combines "Marathon" and "Death world" with some additional changes: Enemy evolution time factor is set to 150, pollution factor is set to 10. Attack cost modifier is set to 80% instead of 100% (50% for death world).

Rail world

Resource patches are large and spread far apart, to encourage train systems. Biters won't create any new bases or re-expand into cleared territory.

Difference from default: Resources on Nauvis are set to 33% frequency and 300% size. Nauvis water is set to 200% scale and 150% coverage. The evolution time factor is set to 20 from 40 and enemy expansion is disabled.

Ribbon world

The map height is limited to only 128 tiles, which introduces a range of challenges and interesting situations.

Difference from default: Map height on all planets is limited to 128. Resources on Nauvis are set to 300% frequency, 50% size and 200% richness. Nauvis water is set to 25% coverage and size. Starting area size is increased to 300%.

Lakes

Lakes with consistent size and cliffs that tend to follow the coastline. Forest paths are disabled. The same elevation as Factorio 1.1.

Difference from default: Tree coverage is set to 50%. This preset uses the map and cliff generation from version 1.1

Island

A large island in an endless ocean. Forest paths are disabled.

Difference from default: Tree coverage is set to 50%. Terrain map type is set to island. This preset uses the map and cliff generation from version 1.1.

Manual configuration

It is possible experiment with different settings by opening the map preview, changing the settings and observing their effects. This makes it possible to directly observe what exactly particular settings modify in the world, beyond the textual descriptions provided on this page. If playing in Space Age, you can preview any planet by using the drop-down menu in the top right. There will also be additional settings for planet-specific settings, and each setting will show an icon telling which planet it affects.

The seed is the starting value for the random number generator that Factorio uses for generating the world based on the generation settings. This means that even with the same generation settings, the world can look very different depending on the seed. If playing in Space Age, a single seed will effect all planets at once.

All resources and terrain features can be disabled by unchecking the checkbox in front of them.

Resources

Frequency determines the number of resource patches in a given area. It does not affect resource patch size or richness. A setting of 200% frequency that means roughly double the patches can be found in a given area.

The size setting adjusts the size of the resource patches. Setting the slider to 200% means the surface area of the patch is doubled.

Richness defines the yield of every ore tile and every oil field. If richness is set to 200%, each ore tile and oil field contains about double the amount of ore/oil. Outside of this, resource patch richness increases by distance from the starting area.

If playing in Space Age, resource settings can be changed for each planet individually, even if that resource appears on multiple planets. For example, coal can be configured differently for its appearences on Nauvis and Vulcanus.

Terrain

Setting the map type to island generates a single island around the spawn point and endless ocean beyond that. The normal map type generates endless terrain.

Water scale changes how much space there is between lakes. The smaller the scale, the swampier the terrain. Higher scale leads to bigger oceans separated by bigger landmasses. Water coverage influences the overall amount of water. Reducing it generates small lakes, increasing it generates large oceans.

The settings for trees behave in the same way. Higher scale increases the distance between forests while lower scale reduces it. High tree coverage allows to completely cover the world in trees, and low coverage nearly removes them from the world.

Cliff frequency influences how many cliff lines there are in the world. Higher frequency means more cliffs, lower frequency reduces their number. The continuity setting changes how long and unbroken the cliff lines are. Low continuity leads to very short lines, high continuity to long, nearly unbroken lines of cliffs. Cliffs can be set separately for their appearances on Fulgora and Gleba.

The moisture settings control the distribution of grass versus desert. Higher bias generates more grass, lower bias generates more desert. Higher scale increases the size of the grass/desert areas, low scale leads to small grass and desert patches.

The terrain type setting controls the distribution of red desert versus sand. Higher bias generates more red desert, lower bias generates more sand. Higher scale increases the size of the red desert/sand areas, low scale leads to small red desert and sand patches.

Vulcanus volcanism determines the distribution of lava compared to the mountains and ashlands on Vulcanus. Higher scale means more lava rivers, lower scale generates more mountains instead. Higher coverage means larger lava pools, smaller coverage means more ashlands.

Gleba water control the distribution of swamps compared to the highlands on Gleba. Higher scale means more swamplands, lower scale generates more infrequent patches of highland. Higher coverage means larger bodies of deep water, lower coverage means less water and larger highlands.

Gleba plants control the distribution of Gleba's many flora. It behaves similarly to Nauvis trees.

Enemy

The enemy tab

Frequency determines the number of enemy bases in a given area. It does not affect enemy base size. A setting of 200% frequency that means roughly double the enemy bases can be found in a given area.

The size setting adjusts the size of enemy bases. Setting the slider to 200% means the surface area covered by the enemy bases is doubled. Bases can be changed for both Nauvis and Gleba individually.

There are two ways to disable enemies alltogether: "no enemies mode", or "peaceful mode". Selecting either will disable some achievements.

  • No enemies: Nests will still spawn, but no enemies themselves will spawn from them. Pollution will still effect the nests by increasing their health.
    • In Space Age, on Vulcanus, Demolishers will also not spawn, and thus there will be no territories. On Gleba, destroying egg rafts will no longer spawn wrigglers. Pentapod egg and biter egg will no longer spawn their creatures upon spoiling, and will instead simply disappear.
  • Peaceful mode: Enemies don't begin fights, only responding if the player (or a structure) fires at them. Only the enemies located near the fired shot are aggravated and they do not call other enemies to join them. The aggravated enemies primarily attack the structures and players that initiated the aggression and also the structures that block their paths. After destroying their targets, most of the time the aggravated enemies will return to being peaceful, but some of them continue a nonstop rampage where they target nearby structures (but not faraway ones). Additionally, when a map is in peaceful mode, the enemies will not expand.
    • In Space Age, Demolishers will not attack if you build in their territory, but will still destroy buildings if they are placed in its path.

The starting area is the an almost circular radius around the spawn point that does not contain enemy bases or demolisher territory. Increasing its size pushes the bases further out, decreasing its size generates enemy bases closer to the spawn point. The size setting does not have any other effects.

Enemy expansion can be enabled/disabled and further adjusted using the below settings.

Enemy expansion setting Description
Maximum expansion distance The maximum distance enemies will look to expand from other enemy bases.
Minimum group size The minimum size of an enemy expansion party modified by the current evolution level.
Maximum group size The maximum size of an enemy expansion party modified by the current evolution level.
Minimum cooldown (Minutes) The minimum time between enemy expansions being sent out.
Maximum cooldown (Minutes) The maximum time between enemy expansions being sent out.

Evolution can be enabled/disabled and further adjusted using the below settings.

Evolution setting Description
Time factor Controls how fast evolution increases over time.
Destroy factor Controls how fast evolution increases due to destroying enemy spawners.
Pollution factor Controls how fast evolution increases due to producing pollution.

Advanced

The map width and height allows to generate maps with finite resources and area. It is possible to limit generation in only direction, alike the ribbon world. Technology price multiplier allows one to multiply the technology cost.

Pollution can be enabled/disabled and further adjusted using the below settings.

Pollution setting Description
Absorption modifier Modifier of how much pollution is absorbed by trees and tiles.
Attack cost modifier Modifier of how much pollution is absorbed by enemy attacks.
Minimum damage to trees Trees have 4 different stages of the progression towards being destroyed by pollution. Any pollution above this amount starts the process of moving a tree towards a more damaged stage.
Absorbed per damaged tree Trees have 4 different stages of the progression towards being destroyed by pollution. This value specifies how much pollution is absorbed when moving to a more damaged stage.
Diffusion ratio The amount of pollution diffused into neighboring chunks per second.

Map exchange string

A map exchange string generally looks like this:

  >>>eNp1UTGIE0EU/WMu3F4EUUjhgR4prrDZJTlFJRyZURAR0d7Oz
  WYiA5udOLsLnhaX4kptxEaraz3hOgu7wIEoKBxa2UVsLFROBC0U4
  p+dnWSNdw/+583/f97/fwbgGLhAADGgAEPqzAXSD/HI8JRZJZD9P
  leuVNyGtC0EKu1wV4qwGK3wiPfW3LYfc6NozBFKRv8qMFaOExnlE
  WDPtrZoOVGcx3igxgb0cKr8SKQ9c1eL5aOSGIcebCxlNl6H2nisD
  dkIC0YAtpIQjOWYOx7IKFEydGOeJCK61fTTO8228OMFt+416hqn9
  ivpKn475VGw1uylYSL6oeDKqXtnNc6dnL3RkyJOUsUzZccKuweW7
  ave8E5nKAeh6HYBahfQLuotCJB71e3LH+8+osTs5bGc7OWRYdtGr
  lhynR2YWrbkTEHHdP9RIKZpgi3yKodNiUlu6CQhD74+3/z1crdF/
  jz9/u5a+yYljUvVb3sr2y1MzusVDk3ck8caL+wqYDVHNE99oOTtG
  40vlJT1jap27Dy64dUSkKNHkG3eR1c7AXa0lpWpMtLN8NNu8smS9
  3R2D3yIVS2+pN0r7bKGk8lITm8wk1icZvHqChTbd6bLvbYddwqtZ
  2b4/w+KK8xElgsPX9F9OhP3uTQZAl9wd96e2DorwRT4wTu/vYd/A
  dl73Kk=<<<

The map exchange string can be used to share all map generation settings between different players. The player can paste the string (using CTRL + V) into the map exchange string field and the game will set the generation settings to the settings saved in the string, resulting in a complete copy of the map when generated.

The map exchange string can be retrieved from save files by going into the load game screen, selecting the desired map, clicking the map exchange string button in the upper right corner and copying the string from the window that pops up.

For a technical description of the map exchange string, see map exchange string format.

Mechanics

Starting area

There is a second internal starting area that is completely separate from the starting area that can be changed in the enemy settings tab. This starting area always has a constant size and affects the spawning of resources, cliffs and water directly at the spawn. The map generation logic makes sure that there is always at least one patch of coal, iron ore, copper ore, and stone each. Furthermore, there is always a lake in the starting area, even when water is turned off, and there are never any cliffs there. Uranium ore and crude oil do not spawn in the starting area. The richness of the ore patches is slightly influenced by the frequency setting.[1]

Chunks

A map is endless by default, though its size can be limited by height and width — see above. Because it is technically endless, the whole map is not generated from the start. Instead, a new chunk of the map is generated only when needed, similar to other procedurally generated world games.

Invisible chunks (fog of war)

Outside of the visible chunk area, an invisible area of about 3 chunks wide is generated as a preloading mechanism. Enemies may be located inside these invisible chunks and can attack the player from there, while artillery turrets and wagons may automatically shoot enemy bases in these chunks if they are within their automatic range. Invisible chunks are also generated if pollution is generated heavily; the game generates (invisible) chunks as it needs to spread the pollution into the area.

Charting (removing fog of war)

As long as a chunk is invisible, the part of the players map stays black. This changes when a chunk is charted, which means when it is "touched" by a radar. This can be either the player's internal radar, which is always available and continually charts chunks around the player, or the radar entity. If a far-away and thus ungenerated chunk is charted, it will be generated, together with the above-mentioned invisible 3 chunk radius of map around it.

Maximum map size and used memory

The map size is limited to 2,000 x 2,000 kilometers; internally, this is a square 2,000,000 tiles on a side, with an area of 4,000,000,000,000 (4 trillion) square tiles (assuming 1 tile = 1 meter on a side yields 2,000 x 2,000 km = 4 million square km). In real-world terms, this is between the sizes of India and Australia (or about 40% the area of the United States, or over 10 times the area of Germany). It would take around 200 game-minutes (ca 3.3 hours real time) to reach that border from the center when riding a train fueled with rocket or nuclear fuel. This makes the world essentially endless for practical purposes. The generated chunks are fully mapped and stored in the player's RAM, which is the practical limiting factor of exploration.

Because chunks are only generated in and close around the area revealed by radar, it is possible to reach that border without overloading your computer, as the size of the map in computer memory is dependent only on chunks actually generated. If only a narrow stripe of land is explored to far away, this remains manageable.

History

  • 2.0.7:
    • Added "No enemies" setting that disables enemy unit spawning from enemy spawners, map gen, and items. Does not disable enemy spawners.
    • Added "Lakes" map generation preset
    • Map generation system reworked
  • 0.17.44:
    • The resource frequency slider in the map generator settings has a smaller influence over the amount of ore in the starting area patches.
  • 0.17.0:
    • Resource generation changed significantly:
      • The starting area contains only iron, copper, coal and stone, in very predictable amounts. Uranium and oil are excluded from the starting area.
      • Resource generation settings now have a much more dramatic effect. Increased the number of steps for each setting.
      • Ore patches are slightly less frequent but richer.
      • There will be a more balanced amount of resources within a large enough region.
      • Many other small tweaks.
    • Biter generation changed significantly:
      • Biter richness slider removed, biter placement is only configured by size and frequency settings.
      • Biter generation settings now have a much more dramatic effect. Increased the number of steps for each setting.
      • Biter bases will increase in size, frequency and number of worms depending on the distance from player spawn.
      • Worm size increases depending on the distance from player spawn.
      • Small biter bases are now closer to the player spawn.
      • At large distances from player spawn, biter base frequency is lower than before but biter bases are larger.
      • Other small tweaks.
    • Terrain generation changed significantly:
      • Water is generated as large lakes instead of swamps.
      • Tile generation improved. Tile placement respects biomes better.
      • More predictable cliff placement.
      • Better controls in the map generator GUI for water, tiles and cliffs.
    • New map terrain type selectable: Island. Launch the rocket with only a limited amount of resources available on the map.
  • 0.16.0:
    • Added cliffs.
    • New terrains and new terrain generation.
    • Trees can now be configured in the generate-map GUI.
    • Terrain can be configured in the generate map GUI.
    • Biters scale less with distance and there are generally less biters.
    • No uranium as a starting resource also no uranium is ever generated near the starting area, you need to go look for it.
  • 0.15.0:
    • Extended map generator settings to include an advanced section.
    • Added map generator presets.
    • The map seed is used to generate unique maps instead of just shifting the starting position.
  • 0.13.7:
    • Map size is now limited to 2000 km by 2000 km with a black bar rather than crashing when reaching this distance.
  • 0.13.0:
    • Map generator algorithm changed, further resource field now have greater richness.