Page 1 of 1

Correct how World Generation Works

Posted: Tue Apr 26, 2016 3:48 am
by IIIStrife
So, I've posted this on the Steam Forum, but in the hopes this gets to the Devs, I will paste it here, and add some to it.
[quote]Just curious.

Here's the definition of Frequency, below is the official, word for word, below that is a simple summary.

"The number of times a specified periodic phenomenon occurs within a specified interval"
AKA
"The amount of times a specific things happens over time within a specific period of time"

Basically: 4 Miles per Second is the frequency at which you travel 1 mile.

Why is it that if you put Copper Ore Frequency to Very Low, you get gigantic, massive veins as shown in the link below:
http://steamcommunity.com/sharedfiles/f ... =673183529

Now, you'd think "Okay, let's see an image of what happens when you make Frequency Very High and alter literally nothing else!"

So here:
http://steamcommunity.com/sharedfiles/f ... =673185839

When you look in this image you'll notice one of two things.
1. It's very blurry for some stupid reason. No idea why. xD
2. There's significantly less ore per vein, yet there's more of them.

If you try the same yourself, you'll find similar results.

Frequency should never affect size of ore veins, only how often they appear, as that is what frequency literally is.

Size is the only setting that should affect how LARGE a thing is in world generation settings.

Richness, would be fairly obvious, as it would affect the values of each tile of a specific thing, which it does.

Why does increasing the frequency result in smaller ore veins, yet making it at it's lowest creates massive ore veins for no reason? It makes absolutely no sense.

Meanwhile, you will NEVER find veins as huge as what is in the first image above if you max out the Size setting of Copper, Iron or Stone in world generation settings, shown here:
http://steamcommunity.com/sharedfiles/f ... =673188633

However... if you max out Size, but have Frequency be at the very lowest for Copper Ore, then you'll get veins like this beasty:
http://steamcommunity.com/sharedfiles/f ... =673189415

But it should be larger.

The VERY first image I've shown with you all today, was found on a world with Very Low Frequency, and Normal Size for Copper Ore.

Frequency should only influenced by how often a thing appears, as that's what Frequency essentially is. The Size should only affect how large a thing is, which... is again, what Size is essentially.[/quote]
There ARE links, but only to the official Steam site towards images.

TL;DR:

World Generation Settings
Setting Copper Ore Frequency To Very Low will result in ore veins that are almost larger than ore veins you'd get from setting Copper Size to Very Big, while setting the same setting to Very High will result in smaller-than-usual ore veins.

Links in the spoiler text bit has caption, to show what the image is of, mostly just the spawn and the first screen.

For some reason, Frequency affects the size of ore veins, when it shouldn't be affecting it whatsoever.

EVERY image I took, ANY setting I don't mention in those image's caption text, it is set to the default of Normal.

The suggestion I want to draw from this is really quite simple.
1. Make Frequency of things in the World Generation ONLY affect how often a thing will appear.
2. Make size of things in the World Generation ONLY affect how much of that thing is there, when it DOES appear.

Re: Correct how World Generation Works

Posted: Tue Apr 26, 2016 4:37 am
by seronis
Look at a graph of a sin wave. By its nature exactly half of the graph is above the origin point and half is below. If you increase the frequency you still have exactly half above and half below. That is how frequency works on map generation. It changes the ore from being larger blocks to being more frequent smaller blocks while keeping the total amount the same. You can then individually adjust avg size (raise/lower the origin line) or ore density (raise/lower amplitude of sin wave).

Frequency is used to have ONE config option that lets you determine how many harvesting locations you will need for the same total amount of ore. Useful for people adjusting their desire to use trains. Raising frequency will mean a larger total amnt of resources needed to build train stations without an increase in resources gained

Size lets you adjust the total number of harvesters usable per site. Density lets you adjust how many hours a given ore patch will last before resources are exhausted.

Each option lets you adjust a specific goal for the map. Frequency should not be changed from its current (and accurate) meaning.

Re: Correct how World Generation Works

Posted: Tue Apr 26, 2016 8:18 am
by SyncViews
I think from the users point of view though that setting frequency to low just makes less ore patches, but with the same size. If they wanted less but bigger ore patches, then they would set frequency to low and size to high.

The UI does not have to directly map to the maths function behind generation.

Re: Correct how World Generation Works

Posted: Tue Apr 26, 2016 11:03 am
by bobingabout
SyncViews wrote:I think from the users point of view though that setting frequency to low just makes less ore patches, but with the same size. If they wanted less but bigger ore patches, then they would set frequency to low and size to high.
Basically... This.

Though I love the huge honking patches you can get if you set frequency to low and size to high, especially if you couple it with high density. find one of those and it lasts days! (Unless you strip mine it to storage chests)

Re: Correct how World Generation Works

Posted: Tue Apr 26, 2016 11:18 am
by Bart
Just read https://wiki.factorio.com/index.php?tit ... _generator and all will fall into place.

Especially this answers your question:
Image

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.

Re: Correct how World Generation Works

Posted: Tue Apr 26, 2016 11:29 am
by SyncViews
Bart wrote:Just read **multi-page document** and all will fall into place.
Is it really realistic to try and explain that to every new player so that they understand? Most of them wont even know what Perlin Noise is or have an understanding of the maths behind it.

Re: Correct how World Generation Works

Posted: Tue Apr 26, 2016 12:43 pm
by Bart
SyncViews wrote:
Bart wrote:Just read **multi-page document** and all will fall into place.
Is it really realistic to try and explain that to every new player so that they understand? Most of them wont even know what Perlin Noise is or have an understanding of the maths behind it.
That's why there is a nice picture in my post.

Re: Correct how World Generation Works

Posted: Tue Apr 26, 2016 3:30 pm
by Dragonmystic
I agree that World generation needs to be tweaked a bit. Nobody should have to learn Perlin Noise in order to create a map.

As it stands, the setup of frequency, size, and density seems pretty self-explanatory. From the outside perspective, they seem completely independent, and you would not expect the frequency to change the size of ore fields. I think the devs should tweak that setting so that when you change the frequency setting, it also correspondingly (and in the background) tweaks the size and density values so that the result has ore fields that are roughly the same size and richness, just less common on the map. It may take some tweaking to get that correct. These options should be about approximating results of the map making as best as possible.


Honestly, since we're talking about world gen, I'd like to toss out a few more options: Things like:
* An option where ore patches get progressively larger and potentially more rich the further and further you go from spawn. (Encourages trains out to the middle of nowhere, rewards sprawl and large networks.)

* Starting biome selection.
* Guaranteed start option: You are guarenteed enough coal, iron, copper, stone, water, wood, and open space in the starting area to get to trains research. From then on, you're at the mercy of the dice. Good for a sparse map that is also not impossible.
*Option to Exclude Oil patches from starting area. Oil is not necessary until after you have access to trains (typically,) and I don't like having oil patches in my main base. Personal preference. If there is any other high-tier resource introduced (as uranium has been hinted at), it should also have this option. I want to work for those high-tier things.

Re: Correct how World Generation Works

Posted: Tue Apr 26, 2016 4:45 pm
by ssilk
There is this article
viewtopic.php?f=80&t=13022 World Generation / Map Generator / Game Modes / Scenarios
where the usability of the current map generator is one part.

I've added this suggestion there and wrote a bit, cause it points to one of the always repeating questions about world generation.