Alien Biomes Tweaked


Tweaks the Alien Biomes mod, making optional some of its non-optional changes to vanilla gameplay. This is not the mod itself with changes, but rather a "mod of a mod". Can optionally be used with other mods that make similar changes that need undoing.

Tweaks
1 year, 7 months ago
1.1
3.17K
Environment

i [implemented except Volcanic] Rocks frequency setting?

1 year, 8 months ago

Don't know if it's possible as an option, but what do you think? Made a reddit post about this; https://www.reddit.com/r/factorio/comments/11vl55f/way_to_have_less_rocks_spawn_on_world_gen/
No worries if you can't/ don't want to.

1 year, 8 months ago
(updated 1 year, 8 months ago)

I'll take a look, though tbh, this starts to become a gray area to me on that being in Alien Biomes purview.

That said, I can probably add an option that defaults to off/giving Alien Biomes precedence, then you can change it as you see fit.

May be a few days (or week+) before I have it done and uploaded due to time (and motivation XD ).

1 year, 8 months ago
(updated 1 year, 8 months ago)

Huh, so I looked into AB's rock generation, which is primarily in the prototypes\decorative\rocks.lua, and found some interesting stuff.

So to start, when AB is creating its rocks, it's using a function make_rocks that it calls and passes a multiplier for the rock's autoplace.coverage and autoplace.max_probability properties. Now, for most of the rocks, it's passing a multiplier of 1 (no change), but some use a multiplier of 2 with one (sand-dune-decal) using a multiplier of 4.

The real issue, however, comes from a different file, prototypes\decorative\rocks-base.lua, which the rocks.lua file requires and bases its new rocks off from in the make_rocks function. In here, AB has a static, manually created list of vanilla's rocks, which it then applies its own x3 and x6 multipliers to the coverage and max_probability properties. It does not look like it then applies this back to vanilla, but this base increase is what is then used for all of its own rocks.

I think I'm going to start with a setting (maybe I will enable this by default?) that undoes the x3 and x6 modifications to coverage and max_probability properties and go from there. The question will be how....

1 year, 7 months ago
(updated 1 year, 7 months ago)

Ok, getting ready to release an update for this. Includes 2 new settings to control the autoplace.coverage and autoplace.max_probability. These two new settings will default to 1 (vanilla) and will accept decimal input. It uses a statically built list to determine what to affect.

They aren't going to affect Volcanic rock at this time, though, because these properties are actually manually overwritten and become nil, which means they then use default values (in the wiki, it says coverage becomes calculated based on the peaks values, and max_probability becomes 1; additionally, sharpness is defaulted to 0, which means disabled). A random_probability_penalty is then assigned a value, which, according to the wiki, this is subtracted from a final value. I don't know how any of this relates, though, to be able to make proper adjustments.

If anyone wants to try explaining it to me, below is an example excerpt of what autoplace is set to (I know what the tile_restriction means :P ):

data.raw['optimized-decorative']['rock-medium-volcanic'].autoplace = {
  random_probability_penalty = 0.2, tile_restriction = volcanic_tiles,
  peaks = {
    { influence = 0.4 },
    { noise_layer = "grass1", influence = 0.4, noise_persistance = 0.8, noise_octaves_difference = -4},
  }
}

You can see the whole piece at the end of the prototypes\decorative\rocks.lua file in the Alien Biomes mod.

1 year, 2 months ago

Saying this very late ;P but this is really cool! If i interpret what you are saying correctly then we also get a toggle on/off for volcanic rocks which is really nice.

New response