Map generator: Difference between revisions
No edit summary |
|||
Line 1: | Line 1: | ||
{{Languages}} | {{Languages}} | ||
Many players have problems to understand the Map Generator. This is a try to explain the basic function. But it must be also said, that a complete rework/rewrite or whatever is on the devs todo-list, but will take some more time. | Many players have problems to understand the Map Generator. This is a try to explain the basic function. But it must be also said, that a complete rework/rewrite or whatever is on the devs todo-list, but will take some more time. So the players must live with that, how it works, and if you understand the principle it is really not that bad. | ||
==How it works== | |||
== How it works == | |||
: [[File:MapGeneratorOverview.png]] | : [[File:MapGeneratorOverview.png]] | ||
Basically you need to know, that the map generator generates most parts of the world with an algorithm, called "Perlin Noise". See below for details. You just need to know, that it works a bit like the waves in the sea. | Basically you need to know, that the map generator generates most parts of the world with an algorithm, called "Perlin Noise". See below for details. You just need to know, that it works a bit like the waves in the sea. | ||
[[File:Water-ocean-waves-sea-high-resolution-pictures.jpg|thumb|300px]] | [[File:Water-ocean-waves-sea-high-resolution-pictures.jpg|thumb|300px]] | ||
Line 14: | Line 11: | ||
You also need to know, that the map is not generated at game start. Only the parts you see are generated, everything else is not. The map will be generated, when you explore more terrain. See below for more technical details. | You also need to know, that the map is not generated at game start. Only the parts you see are generated, everything else is not. The map will be generated, when you explore more terrain. See below for more technical details. | ||
=== The top row === | ===The top row=== | ||
==== Frequency ==== | ====Frequency==== | ||
This is '''not''', how frequent ore, coal, oil etc. is. | This is '''not''', how frequent ore, coal, oil etc. is. | ||
Line 26: | Line 23: | ||
In short: Low terrain segmentation means large areas with same terrain. High segmentation is the contrary, the terrain changes nature often. Typically huge forests vs. lots of small woods. | In short: Low terrain segmentation means large areas with same terrain. High segmentation is the contrary, the terrain changes nature often. Typically huge forests vs. lots of small woods. | ||
==== Size ==== | ====Size==== | ||
This defines the "level": Everything above that defined level, defines the existing (or non-existing) of some type of terrain. | This defines the "level": Everything above that defined level, defines the existing (or non-existing) of some type of terrain. | ||
Line 33: | Line 30: | ||
With small size you get small ore-patches, with big size you get big ore patches. It is a bit dependent on the frequency, of course. | With small size you get small ore-patches, with big size you get big ore patches. It is a bit dependent on the frequency, of course. | ||
==== Richness ==== | ====Richness==== | ||
This defines the average wave-height. A high wave means: Much resources per [[Tile]]. | This defines the average wave-height. A high wave means: Much resources per [[Tile]]. | ||
If you put this to high for Enemy bases, you get as result for killing a "rich" [[Enemies#Spawners]] much more [[Alien artifact]]s. | If you put this to high for Enemy bases, you get as result for killing a "rich" [[Enemies#Spawners]] much more [[Alien artifact]]s. | ||
=== The left column === | ===The left column=== | ||
* Terrain segmentation: How often the terrain changes. There are some different types of terrain. | * Terrain segmentation: How often the terrain changes. There are some different types of terrain. | ||
* Water: How big the lakes get. They can be really big, can take you an hour or more to surround by car. This influences also the chance, to be fully surrounded by water. | * Water: How big the lakes get. They can be really big, can take you an hour or more to surround by car. This influences also the chance, to be fully surrounded by water. | ||
Line 45: | Line 41: | ||
* Enemy bases: How many and how big could the starting enemy bases. Note, that the enemies develop and build new villages during the game. | * Enemy bases: How many and how big could the starting enemy bases. Note, that the enemies develop and build new villages during the game. | ||
=== Starting area === | ===Starting area=== | ||
This is special, cause it defines a special area around the central coordinates, which is also generated by the map-generator, but with a bit different settings, that might guarantee better starting-conditions. | This is special, cause it defines a special area around the central coordinates, which is also generated by the map-generator, but with a bit different settings, that might guarantee better starting-conditions. | ||
Line 52: | Line 48: | ||
It is generally a good idea, that you discover a bit around your starting position, before you begin to use a map. | It is generally a good idea, that you discover a bit around your starting position, before you begin to use a map. | ||
=== Peaceful mode === | ===Peaceful mode=== | ||
The [[Enemies]] don't begin to fight, only if you hit them. This can be also switched on during the game, look into [[Console/Lua_commands#Useful_commands_.28cheats.29|Console commands]]. | The [[Enemies]] don't begin to fight, only if you hit them. This can be also switched on during the game, look into [[Console/Lua_commands#Useful_commands_.28cheats.29|Console commands]]. | ||
=== Map-width and -height === | ===Map-width and -height=== | ||
Normally the maps in Factorio have no limits. They are only limited by the size of your computers memory. Which is quite big. If a tile is one square meter, and you have 8 GiB free memory you can discover an area about the size of the state of Lichtenstein. :) (quite raw estimation!) | Normally the maps in Factorio have no limits. They are only limited by the size of your computers memory. Which is quite big. If a tile is one square meter, and you have 8 GiB free memory you can discover an area about the size of the state of Lichtenstein. :) (quite raw estimation!) | ||
Line 66: | Line 60: | ||
Note also, that everything around the map-limits is just water. You can place a [[Pump]] at the edge of a map and it will suck water out of nothing. | Note also, that everything around the map-limits is just water. You can place a [[Pump]] at the edge of a map and it will suck water out of nothing. | ||
=== Map seed / Map Exchange String === | ===Map seed / Map Exchange String=== | ||
Map Seed: random number generator seed | Map Seed: random number generator seed | ||
Map Exchange String: All settings for the map creation (Map Seed, settings for resources, settings for size, etc.) | Map Exchange String: All settings for the map creation (Map Seed, settings for resources, settings for size, etc.) | ||
==== Map Seed ==== | ====Map Seed==== | ||
This is the starting value for the random number generator, that Factorio uses for anything in the game (Random number in Factorio and on computers in generally aren't really random, they are calculated with complicated algorithmns | This is the starting value for the random number generator, that Factorio uses for anything in the game (Random number in Factorio and on computers in generally aren't really random, they are calculated with complicated algorithmns | ||
So even with the same map-exchange string, but different map seed the map could look quite differently. | So even with the same map-exchange string, but different map seed the map could look quite differently. | ||
==== Map Exchange String ==== | ====Map Exchange String==== | ||
A string, that looks for example like so: | A string, that looks for example like so: | ||
>>>AAALABAABgADAwYAAAAEAAAAY29hbAMDAgoAAABjb3BwZXItb3Jl | >>>AAALABAABgADAwYAAAAEAAAAY29hbAMDAgoAAABjb3BwZXItb3Jl | ||
Line 85: | Line 77: | ||
ADAFR8w0Q=<<< | ADAFR8w0Q=<<< | ||
===== Where can I use this string? ===== | =====Where can I use this string?===== | ||
It can be used in the map-generator: there is an extra field where you can paste this string into. (Control-V under windows) | It can be used in the map-generator: there is an extra field where you can paste this string into. (Control-V under windows) | ||
===== Where can I get this string from? ===== | =====Where can I get this string from?===== | ||
When you load a game or map. There is a big button in the load-requester in the left border. You can mark it and it can then be directly copied into your clipboard (Control-C under windows). | When you load a game or map. There is a big button in the load-requester in the left border. You can mark it and it can then be directly copied into your clipboard (Control-C under windows). | ||
== Generation == | ==Generation== | ||
The map generator (world generator) is based on modificated [http://en.m.wikipedia.org/wiki/Perlin_noise Perlin noise algorithm]. | The map generator (world generator) is based on modificated [http://en.m.wikipedia.org/wiki/Perlin_noise Perlin noise algorithm]. | ||
A [[Types/AutoplaceSpecification#Noise|more detailed description]] is in the API docu. | A [[Types/AutoplaceSpecification#Noise|more detailed description]] is in the API docu. | ||
Line 99: | Line 89: | ||
[http://www.factorioforums.com/forum/viewtopic.php?f=18&t=8016&p=63691#p63561 Article, which describes the generation]. | [http://www.factorioforums.com/forum/viewtopic.php?f=18&t=8016&p=63691#p63561 Article, which describes the generation]. | ||
== Generating when exploring == | ==Generating when exploring== | ||
The map is normally endless (if not defined with limits). However the whole map isn't generated from start. A new [[Chunk]] of map is generated, when explored. This means you come to the current visible borders and then the needed chunks are generated. Or you placed some [[Radar]]. | The map is normally endless (if not defined with limits). However the whole map isn't generated from start. A new [[Chunk]] of map is generated, when explored. This means you come to the current visible borders and then the needed chunks are generated. Or you placed some [[Radar]]. | ||
== See also == | ==See also== | ||
* [http://www.factorioforums.com/forum/viewtopic.php?f=5&t=7331 The Map Generator hates your guts, or dude where is my coal?] | * [http://www.factorioforums.com/forum/viewtopic.php?f=5&t=7331 The Map Generator hates your guts, or dude where is my coal?] | ||
* [http://www.factorioforums.com/forum/viewtopic.php?f=6&t=7924&p=63517#p63517 Some technically info] | * [http://www.factorioforums.com/forum/viewtopic.php?f=6&t=7924&p=63517#p63517 Some technically info] | ||
* [http://www.factorioforums.com/forum/viewtopic.php?f=6&t=8624&p=69156#p69156 Temperature based biome-model] (how trees are placed) | * [http://www.factorioforums.com/forum/viewtopic.php?f=6&t=8624&p=69156#p69156 Temperature based biome-model] (how trees are placed) | ||
* [http://www.factorioforums.com/forum/viewtopic.php?f=6&t=1593 Thread about definition of map map exchange string/seed] | * [http://www.factorioforums.com/forum/viewtopic.php?f=6&t=1593 Thread about definition of map map exchange string/seed] |
Revision as of 21:02, 10 April 2015
Many players have problems to understand the Map Generator. This is a try to explain the basic function. But it must be also said, that a complete rework/rewrite or whatever is on the devs todo-list, but will take some more time. So the players must live with that, how it works, and if you understand the principle it is really not that bad.
How it works
Basically you need to know, that the map generator generates most parts of the world with an algorithm, called "Perlin Noise". See below for details. You just need to know, that it works a bit like the waves in the sea.
Everything above a defined level, defines the existing (or non-existing) of some type of terrain.
You also need to know, that the map is not generated at game start. Only the parts you see are generated, everything else is not. The map will be generated, when you explore more terrain. See below for more technical details.
The top row
Frequency
This is not, how frequent ore, coal, oil etc. is.
This defines - to keep in this picture - the wavelength of the wave-generators.
High frequency: For Terrain segmentation it means: Many different types of terrain, forest, dessert and swamp could be within 10 tiles or less. For resources: Many, but very small patches of resources.
Low frequency: For Terrain segmentation it means: Big landscapes, vast areas only with forests. For resources: Not many, but if you found one very big patches of resources.
In short: Low terrain segmentation means large areas with same terrain. High segmentation is the contrary, the terrain changes nature often. Typically huge forests vs. lots of small woods.
Size
This defines the "level": Everything above that defined level, defines the existing (or non-existing) of some type of terrain.
That means, that the same shaped wave, could look completely different, if you shift this level up and down, but in the end you increase or decrease the average diameter of an ore-patch, of lakes.
With small size you get small ore-patches, with big size you get big ore patches. It is a bit dependent on the frequency, of course.
Richness
This defines the average wave-height. A high wave means: Much resources per Tile.
If you put this to high for Enemy bases, you get as result for killing a "rich" Enemies#Spawners much more Alien artifacts.
The left column
- Terrain segmentation: How often the terrain changes. There are some different types of terrain.
- Water: How big the lakes get. They can be really big, can take you an hour or more to surround by car. This influences also the chance, to be fully surrounded by water.
- Copper, Stone, Coal, Crude oil: Needed resources.
- Enemy bases: How many and how big could the starting enemy bases. Note, that the enemies develop and build new villages during the game.
Starting area
This is special, cause it defines a special area around the central coordinates, which is also generated by the map-generator, but with a bit different settings, that might guarantee better starting-conditions.
Note, that if you set "size" here very low or none, the map generator can generate maps, that are impossible to survive, or land on a small island, or on a big island, and many more issues.
It is generally a good idea, that you discover a bit around your starting position, before you begin to use a map.
Peaceful mode
The Enemies don't begin to fight, only if you hit them. This can be also switched on during the game, look into Console commands.
Map-width and -height
Normally the maps in Factorio have no limits. They are only limited by the size of your computers memory. Which is quite big. If a tile is one square meter, and you have 8 GiB free memory you can discover an area about the size of the state of Lichtenstein. :) (quite raw estimation!)
But you can also generate maps with limited width and height.
Note, that you can also limit only the width or only the height, so you can generate "stripes" of land. There are players, that love to play maps with a height of only 20 tiles or less.
Note also, that everything around the map-limits is just water. You can place a Pump at the edge of a map and it will suck water out of nothing.
Map seed / Map Exchange String
Map Seed: random number generator seed
Map Exchange String: All settings for the map creation (Map Seed, settings for resources, settings for size, etc.)
Map Seed
This is the starting value for the random number generator, that Factorio uses for anything in the game (Random number in Factorio and on computers in generally aren't really random, they are calculated with complicated algorithmns
So even with the same map-exchange string, but different map seed the map could look quite differently.
Map Exchange String
A string, that looks for example like so:
>>>AAALABAABgADAwYAAAAEAAAAY29hbAMDAgoAAABjb3BwZXItb3Jl AwMCCQAAAGNydWRlLW9pbAMDAgoAAABlbmVteS1iYXNlAwMCCAAAAGl yb24tb3JlAwMCBQAAAHN0b25lAwMCORcrDUQ7AACMCwAAAAAAAAAAAA ADAFR8w0Q=<<<
Where can I use this string?
It can be used in the map-generator: there is an extra field where you can paste this string into. (Control-V under windows)
Where can I get this string from?
When you load a game or map. There is a big button in the load-requester in the left border. You can mark it and it can then be directly copied into your clipboard (Control-C under windows).
Generation
The map generator (world generator) is based on modificated Perlin noise algorithm. A more detailed description is in the API docu.
Article, which describes the generation.
Generating when exploring
The map is normally endless (if not defined with limits). However the whole map isn't generated from start. A new Chunk of map is generated, when explored. This means you come to the current visible borders and then the needed chunks are generated. Or you placed some Radar.