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

Map generator: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
{{Languages}}
{{Languages}}
== Generation ==
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.
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.
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 ==
: [[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.
[[File:Water-ocean-waves-sea-high-resolution-pictures.jpg|thumb|300px]]
 
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#Spawner]] much more [[Alien artefact]]s.
 
=== The left column ===


[http://www.factorioforums.com/forum/viewtopic.php?f=18&t=8016&p=63691#p63561 Article, which describes the generation].
- 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 ===
=== Starting area ===
To have the maps not totally unfair, you can define also the size of a starting area, which tries to set all most needed resources in a small 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.  


=== Generating when exploring ===
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.
The map is 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]].


== Map seed / Map Exchange String ==
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/Lua_commands#Useful_commands_.28cheats.29|Console commands]].
 
=== Map-width and -height ===
 
You can 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.
 
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 ===


http://www.factorioforums.com/forum/viewtopic.php?f=5&t=6447&p=50336#p50318
http://www.factorioforums.com/forum/viewtopic.php?f=5&t=6447&p=50336#p50318
Line 20: Line 72:
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 ====
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 ===
==== Map Exchange String ====


A string, that looks for example like so:  
A string, that looks for example like so:  
Line 30: Line 85:
  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).
 
== Generation ==
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.
 
[http://www.factorioforums.com/forum/viewtopic.php?f=18&t=8016&p=63691#p63561 Article, which describes the generation].


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).
== 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]].


== See also ==
== See also ==

Revision as of 22:14, 9 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

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.

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#Spawner much more Alien artefacts.

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

You can 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.

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

http://www.factorioforums.com/forum/viewtopic.php?f=5&t=6447&p=50336#p50318

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.

See also