User:Camponez/WIP
A geração de mundo é, em resumo, uma série de configurações que definem como será o mundo quando gerado. Isso pode alterar dramaticamente a jogabilidade - um novo jogador é aconselhável para começar com as configurações padrão antes de decidir mudar seu mundo.
Como isso funciona
Uma explicação mais técnica da mecânica de geração mundial é que o gerador de mapas gera a maior parte do mundo com um algoritmo chamado "Perlin Noise". Em suma, funciona um pouco como as ondas no mar.
Tudo acima de um nível definido define a existência (ou a inexistência) das características de algum tipo de terreno. O jogador também deve saber que o mapa não é gerado no início do jogo. Apenas as partes que vêem são geradas, todo o resto não é. O mapa será gerado gradualmente à medida que o jogador explora mais terreno. Veja abaixo para detalhes mais técnicos.
A seguinte imagem mostra um exemplo de como o gerador mundial pode criar um novo mapa.
Predefinições automáticas
A partir da versão 0.15, uma configuração pré definida pode ser escolhida em vez de configurar manualmente a geração. Existem várias opções. As diferenças do predefinido "padrão" estão em parênteses em negrito.
Recipientes/Tecnologia | Padrão | Recursos Ricos | Maratona | Perigoso | Mundo da morte | Mundo ferroviário |
---|---|---|---|---|---|---|
Dificuldade de pesquisa | Normal | Normal | Expancivo | Normal | Expancivo | Normal |
Dificuldade de tecnologia | Normal | Normal | Expancivo | Normal | Expancivo | Normal |
Multiplicador do preço da tecnologia | 1 | 1 | 4(+3) | 1 | 4(+3) | 1 |
Expanção dos inimigos | Padrão | Recursos Ricos | Maratona | Perigoso | Mundo da Morte | Mundo Ferroviário |
---|---|---|---|---|---|---|
Habilitado | Sim | Sim | Sim | Sim | Sim | Não(Sim) |
Pedaços mínimos entre novas bases | 3 | 3 | 3 | 3 | 3 | 3 |
Distância máxima das expanções | 7 | 7 | 7 | 7 | 7 | 7 |
Tamanho mínimo do grupo | 5 | 5 | 5 | 5 | 5 | 5 |
Tamanho máximo do grupo | 20 | 20 | 20 | 20 | 20 | 20 |
Cooldown mínimo (Minutos) | 4 | 4 | 4 | 4 | 4 | 4 |
Cooldown máximo (Minutos) | 60 | 60 | 60 | 60 | 60 | 60 |
Evolução do inimigo | Padrão | Recursos Ricos | Maratona | Perigoso | Mundo da Morte | Mundo ferroviário |
---|---|---|---|---|---|---|
Fator de destruição | 0.00200000 | 0.00200000 | 0.00200000 | 0.00200000 | 0.00200000 | 0.00200000 |
Habilitado | Sim | Sim | Sim | Sim | Sim | Sim |
Fator de Poluição | 0.00001500 | 0.00001500 | 0.00001500 | 0.00002000(+0.000005) | 0.00002000(+0.000005) | 0.00001500 |
Fator de tempo | 0.00000400 | 0.00000400 | 0.00000400 | 0.00002000(+0.000016) | 0.00002000(+0.000016) | 0.00000200(-0.000002) |
Poluição | Padrão | Recursos Ricos | Maratona | Perigoso | Mundo da Morte | Mundo Ferroviário |
---|---|---|---|---|---|---|
Absorção Das Árvores | 500 | 500 | 500 | 500 | 500 | 500 |
Tacha de Difusão | 2% | 2% | 2% | 2% | 2% | 2% |
Tacha de Dissipação | 1 | 1 | 1 | 1 | 1 | 1 |
Habilitada | Sim | Sim | Sim | Sim | Sim | Sim |
Dano mínimo para as árvores | 3500 | 3500 | 3500 | 3500 | 3500 | 3500 |
Recurso | Padrão | Recursos Ricos | Maratona | Perigoso | Mundo da Morte | Mundo ferroviário |
---|---|---|---|---|---|---|
Frequência de carvão | Normal | Normal | Normal | Normal | Normal | Muito Baixo |
Riqueza do Carvão | Regular | Muito Boa(Regular) | Regular | Regular | Regular | Regular |
Tamanho Das Minas De Carvão | Médio | Médio | Médio | Médio | Médio | Grande(Médio) |
Frequência de Cobre | Normal | Normal | Normal | Normal | Normal | Muito Baixa(Normal) |
Riqueza do Cobre | Regular | Muito Boa(Regular) | Regular | Regular | Regular | Regular |
Tamanho Das Minas De Cobre | Médio | Médio | Médio | Médio | Médio | Grande(Médio) |
Frequência Bruta | Normal | Normal | Normal | Normal | Normal | Muito Baixa(Normal) |
Riqueza Bruta | Regular | Muito Boa(Regular) | Regular | Regular | Regular | Regular |
Tamanhos Das Minas Brutas | Médio | Médio | Médio | Médio | Médio | Grande(Médio) |
Frequência das bases inimigas | Normal | Normal | Normal | Muito Alto(Normal) | Muito Alta(Normal) | Muito Baixa(Normal) |
Riqueza das bases inimigas | Regular | Regular | Regular | Regular | Regular | Regular |
Tamanho das bases inimigas | Médio | Médio | Médio | Médio | Médio | Pequena(Médio) |
Frequência de Ferro | Normal | Normal | Normal | Normal | Normal | Muito Baixa(Normal) |
Riqueza do Ferro | Regular | Muito Boa(Regular) | Regular | Regular | Regular | Regular |
Tamanho das minas de Ferro | Médio | Médio | Médio | Médio | Médio | Grande(Médio) |
Área inicial | Médio | Médio | Médio | Médio | Médio | Médio |
Frequência de Pedra | Normal | Normal | Normal | Normal | Normal | Muito baixa(Normal) |
Riqueza da Pedra | Regular | Muito Boa(Regular) | Regular | Regular | Regular | Regular |
Tamanho das minhas de Pedra | Médio | Médio | Médio | Médio | Médio | Grande(Médio) |
Frequência de Urânio | Normal | Normal | Normal | Normal | Normal | Muito Baixa(Normal) |
Riqueza do Urânio | Regular | Muito Boa(Regular) | Regular | Regular | Regular | Regular |
Tamanho das minas de Urânio | Médio | Médio | Médio | Médio | Médio | Médio |
Frequência da Água | Normal | Normal | Normal | Normal | Normal | Muito Baixa(Normal) |
Tamanho da água | Médio | Médio | Médio | Médio | Médio | Grande(Médio) |
Configuração manual
Settings on the top row
Frequência
Isto é não, quão frequente é o minério, o carvão, o petróleo, etc., na verdade determina o número de depósitos individuais que o jogador encontrará.
Isso define o comprimento de onda dos geradores de ondas usados pelo algoritmo Perlin Noise acima, mas não o tamanho total de todas as ondas. Isso significa que a frequência não modifica a quantidade de recursos em um bloco, mas modificando a área de cada depósito e o número de depósitos. Além disso, a alteração da frequência não afeta a quantidade média de recursos em um mapa limitado, apenas sua distribuição.
Se a frequência dos recursos for aumentada, cada um dos depósitos será menor e terá menos recursos no total (porque cobre menos área) e os depósitos são muito comuns. Se a frequência do recurso diminui, os depósitos são maiores, mas mais raros. Isso também faz com que as bases inimigas apareçam com mais freqüência usando as mesmas regras de distribuição que os minérios - no entanto, isso pode levar a uma rápida expansão inimigos devido ao número muito maior de grupos de ninhos.
Tamanho
Isso define o tamanho das amostras de minério e da água geradas através da definição de "níveis". Aumenta o diâmetro médio de áreas de minério e lagos, permitindo ajustar o tamanho de ambos.
É tão simples quanto parece: tamanho pequeno significaria pequenas manchas de minério e massas de água, grande significa grandes manchas de minério e massas de água. Observe que isso é efetuado pela frequência, embora seja presumivelmente capaz de aumentar o total de minério e água do mundo, onde a frequência simplesmente o reequilibra.
Finalmente, isso faz com que bases inimigas apareçam maiores, embora as bases criadas pelo "processo natural" de expansão sigam regras diferentes.
A tabela a seguir mostra como as configurações de frequência e tamanho afetam a geração de amostras de minério. Para mais detalhes, abra as imagens em uma nova tab.
Frequência \ Tamanho | Muito pequeno | Pequeno | Médio | Grande | Muito grande |
---|---|---|---|---|---|
Muito baixo | |||||
Baixo | |||||
Normal | |||||
Alto | |||||
Muito alto |
Riqueza
Isso define o conteúdo real de cada remessa de minério e campo de petróleo. A riqueza do campo de recurso aumenta à distância.
Muito pobre | Pobre | Regular | Rico | Muito rico |
---|---|---|---|---|
A coluna da esquerda
- Água: como água é gerada em cada mapa.
- Cobre, Pedra, Carvão, Petróleo: Recursos necessários para progredir no jogo. Veja acima para explicações mais detalhadas sobre cada uma dessas alterações.
- Bases inimigas: Quantas e quantas bases iniciais são grandes. Observe que novas bases são criadas ao longo do tempo, tornando a baixa base inimiga um pouco menos significativa.
Área onde começa
Este é um valor que define uma área especial em torno das coordenadas centrais do mapa, que terão diferentes frequências de minério, etc., do restante do mapa. Geralmente, isso resulta em pelo menos uma fonte de minério confirmada, sempre resulta em uma fonte de água e sempre remove ninhos de mordedor de aparecer em uma área ao redor nessa área. As configurações dessa área geralmente garantem melhores condições de partida, embora o jogador possa optar por tornar essa área pequena para aumentar o desafio do jogo.
Geralmente, é uma boa idéia para o jogador explorar um pouco fora desta área antes de começar a construir. Embora essa área quase sempre pareça muito fértil, é possível que a geração de mapas tenha criado uma situação em que é impossível vencer o jogo, como falta de petróleo, muitos mordedores para defender etc.
Muito pequeno | Pequeno | Médio | Grande | Muito grande |
---|---|---|---|---|
Modo pacífico
Os Enemies não iniciam os ataques, apenas respondendo se o jogador os acertar. Isso também pode ser ativado durante o jogo - veja em Comandos do console.
Altura e largura do mapa
Se o jogador limitar a largura e/ou altura, ele poderá gerar mapas com recursos e área finitos. Isso é recomendado para servidores multiplayer rodando em máquinas mais fracas ou jogadores que buscam desafios extras. Outra opção é tornar o mundo infinito em apenas um eixo, geralmente chamado de mundo de fita.
Map seed / Map Exchange String
Definitions and terminology:
- 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 generating the world. 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).
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.
Map Exchange String
A string generally looks like so:
>>>AAALABAABgADAwYAAAAEAAAAY29hbAMDAgoAAABjb3BwZXItb3Jl AwMCCQAAAGNydWRlLW9pbAMDAgoAAABlbmVteS1iYXNlAwMCCAAAAGl yb24tb3JlAwMCBQAAAHN0b25lAwMCORcrDUQ7AACMCwAAAAAAAAAAAA ADAFR8w0Q=<<<
It is a string of good length that begins with >>> and ends with <<<. Many facilities exist within the community for sharing exchange strings. The map exchange string can be used in the map-generator: there is an extra field where the player can paste this string into. On windows computers, this may be done by selecting a string, right-clicking or pressing Control + C, then put it into the string field for the world generator with Control + V.
If you wish to retrieve the map-exchange string from your world:
In the Load Game dialog select the game whose string you want, then click the Map Exchange String button in the lower left corner. When the string pops up, highlight it with your mouse and press Control-C to copy it. (Command-C on Mac.) You can now paste it in the map generator to create a copy of that world, or send it to a friend.
For a technical description of the map exchange string, see Map Exchange String Format.
Generation
The map generator (world generator) is based on a modified Perlin noise algorithm. A more detailed description is in the API documentation.
From the article which describes the generation:
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.
Generating new 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 isn't generated from the start. A new Chunk of map is generated only when needed, similar to other procedurally generated world games.
Generating 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, and for biters to be able to see the player. 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 (Make Invisible Chunks Visible on Map)
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 radar. Either the players internal radar, which is always available and continually charts chunks around the player, or the Radar entity. When a visible chunk is generated there might be other chunks also invisibly generated.
An invisible chunk is eventually not made visible, even if you are so close, that you are able to see it in the character view (a black fog of war). This is, because of the above rule: a chunk is made visible, if it is touched by radar. Not character visibility. The players radar (or any radar) needs to be in range of that chunk to make it visible.
Exploring
If the player arrives at the current visible borders the needed chunks are generated. As the player explores, a radius of about 3 chunks are continually loaded around them. As this can take a while on lower end machines, it is possible to outrun the world generator and end up in 'limbo' with no entities around the player. Staying still for a while will allow the generator to catch up.
Maximum Map Size and used Memory
The map size is limited to 2000 x 2000 kilometers (a quadrant with 2,000,000 tiles side-length, an area of 4,000,000,000,000 quadrant-tiles). This is between the size of India and Australia. It would take around 240 game-minutes (=4 hours) by train to reach that border from the center. This means that the world is essentially endless.
Because only chunks are generated around the area that is revealed by radar, it is with current computers possible to reach that border. This is, because the needed memory size of the map is limited only by the generated number of chunks in the game. Which is not so much if you allocate just a small stripe of land.
The generated chunks are mapped and stored in the player's RAM, which is the limiting factor.
History
- 0.15.0:
- The world generator now has select-able presets.
- 0.13.0:
- Map generator algorithm changed, further resource field now have greater richness.