Starting zone ballence

Place to discuss the game balance, recipes, health, enemies mining etc.
Post Reply
dakenho
Burner Inserter
Burner Inserter
Posts: 17
Joined: Mon Oct 06, 2014 6:51 pm
Contact:

Starting zone ballence

Post by dakenho »

I find that starting zones leave something to be desired, While I do not think the starting zones have to be the same in every game, I currently think that there can be to high of extremes for them, a starting zone with no oil on a death world is not going to work out. I think this can be easily fixed by just adding some logic in the generation, if a resource is low or non existent the game can add a realitivly rich/dense vain near by or something, so you still have to work around a unique starting position.

User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7351
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: Starting zone ballence

Post by bobingabout »

I must agree to this.

With bob's mods, you have Wood, Tin, Lead and Quartz that you're going to want in the starting area to be able to get to a point where you can leave it, yet many of my map generation attempts leave me with very little in the way of wood, and at least 1 of the other basic 8 materials missing. (That's Tin, Lead, Quartz, and the base game's Coal, Copper, Iron, Oil and Stone.) That's 10 things you pretty much need in the starting area, hard to make sure they all exist.
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.

User avatar
Deadlock989
Smart Inserter
Smart Inserter
Posts: 2528
Joined: Fri Nov 06, 2015 7:41 pm

Re: Starting zone ballence

Post by Deadlock989 »

bobingabout wrote:I must agree to this.

With bob's mods, you have Wood, Tin, Lead and Quartz that you're going to want in the starting area to be able to get to a point where you can leave it, yet many of my map generation attempts leave me with very little in the way of wood, and at least 1 of the other basic 8 materials missing. (That's Tin, Lead, Quartz, and the base game's Coal, Copper, Iron, Oil and Stone.) That's 10 things you pretty much need in the starting area, hard to make sure they all exist.
The starting area is of finite size, and can be at least partly underwater depending on map settings. It is hardly surprising that with so many "essentials" required, random noise-based map generation is going to fail quite often. That's a deficiency in your mod's design and nothing to do with the base game.

As for the vanilla map generation in 0.16, it's well understood that it's dodgy AF, and it's being worked on.
Image

User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7351
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: Starting zone ballence

Post by bobingabout »

Deadlock989 wrote:The starting area is of finite size, and can be at least partly underwater depending on map settings. It is hardly surprising that with so many "essentials" required, random noise-based map generation is going to fail quite often. That's a deficiency in your mod's design and nothing to do with the base game.
dakenho wrote:I think this can be easily fixed by just adding some logic in the generation, if a resource is low or non existent the game can add a realitivly rich/dense vain near by or something
All I was really saying here is that if such a thing were added to force a minimum amount of certain resources in the starting area, hopefully the list would be open so I can add my 3 to it.
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.

User avatar
Deadlock989
Smart Inserter
Smart Inserter
Posts: 2528
Joined: Fri Nov 06, 2015 7:41 pm

Re: Starting zone ballence

Post by Deadlock989 »

I'd love to hear how you propose to "force" an arbitrarily long list of things to squash themselves into a finite amount of space without overlapping, but still have it all be generated randomly, based on noise.
Image

Zavian
Smart Inserter
Smart Inserter
Posts: 1641
Joined: Thu Mar 02, 2017 2:57 am
Contact:

Re: Starting zone ballence

Post by Zavian »

I actually believe that for the starting area the game should supplement the random noise bases resource generation with additional nearby resource patches for any starting resources that aren't available (in some predefined minimal quantity) in the starting area. eg yesterday I went to start a new map. 3 maps had less than 10k coal in the starting area. A couple more had no stone patch. Yes this can happen with random noise based resource allocation, which is why I think the stock game should check the available resources in the starting area, and add additional patches if anything is too low.

User avatar
Deadlock989
Smart Inserter
Smart Inserter
Posts: 2528
Joined: Fri Nov 06, 2015 7:41 pm

Re: Starting zone ballence

Post by Deadlock989 »

This is a conceptual problem. It's not straightforward at all. People are saying that they want every map's starting area to be random and unique, but they also want tightly defined restrictions that operate non-randomly, and yet others want to have that extended to arbitrarily long lists of resources. Random and always different, but also operating under carefully controlled limits that make life easier. These are literal opposites. You can't have your cake and mine it (I'm sure there's a mod for cake ore somewhere). The more additional "failsafes" you add to resource generation, the more every starting area is going to start looking more and more similar.

I suppose you could offer a start-up map gen option, which gives you a choice between a rubber-stamped "everything I need is within minimal walking distance of spawn" option - which is still going to vary depending on water and terrain, and still includes difficult situations like your vital cake ore being placed on an island approximately an hour before you can create landfill - or your actual random generation with a small number of vanilla resources given special starting zone treatment that still doesn't guarantee total ease.

Or - and I appreciate this seems like madness - you could just generate another map.

Yes, 0.16 map gen has major issues, this is well known, somebody literally has it as their main job, wait and see.
Image

Zavian
Smart Inserter
Smart Inserter
Posts: 1641
Joined: Thu Mar 02, 2017 2:57 am
Contact:

Re: Starting zone ballence

Post by Zavian »

I'm not saying it's a trivial problem, and I not adverse to random generation. But the current situation (In my not so humble opinion) is less than ideal. I generated about 12-15 maps before I found one that looked decent. So it's not just an occasional bad map, but more than half the maps seem to be short of something important in the starting area.

I wanted at least 50k iron, 25k of coal and copper, plus at least 2k of stone in the starting area. Most maps had enough iron and copper, but were missing either coal or stone. As I understand it the game is using Perlin based noise, which (again as I understand it) means that resource spawns are effectively random. Since you don't need much stone, the devs adjusted the generation settings so that over large scales (eg 100x100 chunks) on average you get enough stone. But that seems to make it random luck whether you have any stone within the starting area. If map generation gives an average of 10 stone patches in a 100x100 chunk area, then in a 10x10 chunk area (eg something like the starting area) you get an average of 0.1 stone patches. For this reason I think relying solely on perlin noise generation in the starting area is a mistake. Far to often something critical will be missing. That means on far too many maps you might need to go walkabout through biter territory to find enough stone to build your initial smelter line. Coal can also be a problem.

I'm going to point you to this thread viewtopic.php?f=5&t=54554 where I shared my first 4 generated maps on 0.16.
Map 1. Island spawn. (Ok. Shit happens).
Map 2. 16k coal in the starting area. (Might be enough but pass).
Map 3. No coal in the starting area. (Another pass).
Map 4. A large island start. (Big enough that it doesn't look like an island). No stone patch in the starting area, but experience from 0.15 had me thinking that there should be one fairly close. So I mined some rocks for the burner stage, got power running, and research started, then went exploring, looking for a place to put down some burner drills to start collecting stone for the furnace lines. Quite a while later I realised I was on a large island with no stone patch. Another restart.
Image
Map exchange string

Code: Select all

>>>eNpjYBBgYGBwZWBm5WFJzk/MYWRh5krOLyhILdLNL0oF8jiTi0pT
UnXzM3OYWJjZUlKLU4tKmJmZWVIywTRXal5qbqVuUmJxKhMzM2t6UWJ
xMVCYI7MoPw9qAktxYl4KUIy1uCQ/DyTAWlKUmgpSxV1alJiXWZoLUg
g0nYGxtenFm4YWOQYQ/l/PYPD/PwgDWReAjgRhIAAqAwrAAGtyTmZaG
gODgiMIMzIyVousc39YNcWeESKv5wBlfICKROyGijxohTIiVkMZHYeh
DIf5MEY9jNHvwGgMBp/tEQyIXSVAk6GWcDggGBDJFpAkI2Pv260Lvh8
7YMf4Z+XHS75JCfaMmbKhvgKl7+2A0uxADYxMcGLWTBDYCfMBA8zMB/
ZQqZv2jGfPgMAbe0ZWkA4REOFgASQOeAODR4APyFrQAyQUZBhgTrODG
SPiwJgGBt9gPnkMY1y2R/eHigOjDchwORBxAkSALYS7jBHKjHSASEgi
ZIFajRiQrU9BeO4kzMbDSFajuUEF5gYTByxeQBNRQQp4LpA9KXDiBTP
cEcAQvMAO4wHjlpkBAT7Yd69/xAkAreiT7Q==<<<
Is that really the sort of experience Factorio should give new players (ie. people playing for the first time) when 1.0 lands?
Last edited by Zavian on Thu Apr 19, 2018 10:24 am, edited 1 time in total.

User avatar
Deadlock989
Smart Inserter
Smart Inserter
Posts: 2528
Joined: Fri Nov 06, 2015 7:41 pm

Re: Starting zone ballence

Post by Deadlock989 »

Change the record, mate, this one's stuck.
Deadlock989 wrote:Yes, 0.16 map gen has major issues, this is well known, somebody literally has it as their main job, wait and see.
Image

Aeternus
Filter Inserter
Filter Inserter
Posts: 835
Joined: Wed Mar 29, 2017 2:10 am
Contact:

Re: Starting zone ballence

Post by Aeternus »

I guess it's a work in progress. From what I can tell the map gen doesn't prevent resource zone collisions well - that's why you sometimes get two ore types right next to eachother. A bit of collision avoidance would not be a bad idea, but I'm sure something along those lines is already being considered. Just preview your map in the mean time to ensure the thing is playable before sinking a lot of time into it. No stone means no rail and no blue science. You can scavenge some stone from the map by mining the map rocks, but that's not feasable for mass production.

stm
Long Handed Inserter
Long Handed Inserter
Posts: 58
Joined: Sun Feb 12, 2017 3:33 pm
Contact:

Re: Starting zone ballence

Post by stm »

I have to agree with the OP here.
The resource generation function is a PITA in 0.16.
I like to playwith large water areas and low frequency of the patches (small but high yield). I had to generate quite a lot of maps until I found some which looked like it might be playable in the preview (Though I don't know whether oil is close enough for me to be able to get there before the biters spread too extensively). And Uranium was pretty far of on the preview, but since you technically don't need it I propably will be fine.
I think for map generation the noise function looks fine (though even there some 1x1 or 2x2 Water puddles seem strange)
For resource deployment I think it might be better to go for a different distribution algorithm which either at least allows for several resources to be at the same spot (drills in way would already support it anyway, and Oil could be extracted after the rest is depleted), and also would allow for submerged resources to be found & used or pushed to shore.
Or, for a completely different approach (I propably would prefer): For each resource you start with a uniform distribution (an average amount of resource/field, which might include or exclude water areas) which is conglomarated into particles of randomly distributed size (something like the patches) afterwards these partikles are moved around in a random fassion (brownian motion) with repulsive potentials (can include long range attractive parts) in chunks which contain not only water. This can happen on a chunk (or even region scale), and since you only have to take into account direct interaction on a short range scale (a few regions) this should be reasonably fast. At the end theyou just have to "place" these particles as resource patches around there position. If you also predefine (and fix in position) one patch per resource in the (accessible!) starting area, you can guarantee the presence while still keeping randomness. The potential can be as easy as no two at the same coordinate (hard balls, although that would might lead to undesired distributions) over repulsive potentials over a few regions (propably the easiest way) up to a complex 1/r^n potential.
In priciple you would be simulationg (charged?!) particles on a surface.
If you do the water area exclusion in the post processing during chunk revealing it shoud be possible to do the whole simulation at startup with reasonable overhead, since you only save the position type and size of all deposits. If you assume something like 16 Regions/Deposit (A railworld has a lot more!, and in other cases you propably don't need the map size anyway) thats less than a million deposits even on the largest available map.
Just a suggestion.
Stm

Hannu
Filter Inserter
Filter Inserter
Posts: 850
Joined: Thu Apr 28, 2016 6:27 am
Contact:

Re: Starting zone ballence

Post by Hannu »

Zavian wrote:I actually believe that for the starting area the game should supplement the random noise bases resource generation with additional nearby resource patches for any starting resources that aren't available (in some predefined minimal quantity) in the starting area.
That would be quite trivial. For example game could explicitly add patches independent on normal noise based resource generating algorithms. For example drawing random point for all resources which have certain minimum distances between each other and water and generating patch around them. I am sure that several tens of reasonable sized ore patches would fit even in smallest starting area.

Because modding is essential part of Factorio's community and devs have intentionally developed modding possibilities, that should obviously take modded ores into account.

Post Reply

Return to “Balancing”