Page 1 of 1

Stone Ore spawning on water

Posted: Wed Nov 23, 2016 9:44 am
by Stevetrov
http://imgur.com/a/dLdIc

Details in the comments but copied here for convience.

I am using RSO 2.27 and Factorio 14.20.
I have also changed a couple of the RSO settings to:

global_richness_mult = 100 -- multiply richness for all resources except starting area
global_size_mult = 8 -- multiply size for all ores, doesn't affect starting area

Map string >>>AAAOABQAAQAFBQYAAAAEAAAAY29hbAMDAwoAAABjb3BwZXItb3Jl
AwMDCQAAAGNydWRlLW9pbAMDAwoAAABlbmVteS1iYXNlAwMDCAAAAGl
yb24tb3JlAwMDBQAAAHN0b25lAwMD4yPnL4CEHgCAhB4AAwEg2hDE<<
<

This eastern side of this patch is visible on the far west of the visible starting area.

It turns out that you can land fill in the area and the mine to the stone :)

Re: Stone Ore spawning on water

Posted: Wed Nov 23, 2016 11:34 am
by Loewchen
Please post:
  1. your complete .ziped mod folder
  2. the save-file

Re: Stone Ore spawning on water

Posted: Wed Nov 23, 2016 12:33 pm
by Rseding91
Can you reproduce it without RSO? Because if not, it's probably RSO spawning them over water.

Re: Stone Ore spawning on water

Posted: Wed Nov 23, 2016 12:41 pm
by posila
It is definitely RSO spawning over water ... but have we changed something that breaks RSO?

Re: Stone Ore spawning on water

Posted: Wed Nov 23, 2016 5:20 pm
by Stevetrov
Rseding91: Do you need any more information from me?

To confirm the only mod I had installed was RSO, I did originally have creative mode, but uninstalled it and recreated the map to confirm it was RSO.

Re: Stone Ore spawning on water

Posted: Wed Nov 23, 2016 8:22 pm
by orzelek
I'd file it under known issues.

Using size multiplier of 8 is well above supported parameters.
It will cause the RSO to make attempts at spawning ore well beyond charted chunks. I haven't noticed this causing issues usually when it doesn't go to far but in this case placement check might simply say it's ok even if there should be water there. I'm using can_place_entity for those checks.

Fixing it is... almost complete rewrite.
Ore spawning would need to plan the spawn, check for chunk presence, request spawning of chunks, wait and then actually valide ore spawn again and spawn it.

I might decide at some point to fix this by making proper delayed ore spawn system but not planning it for now.

Can file this under not a bug I guess since it's most likely misuse of can_place_entity :D

Re: Stone Ore spawning on water

Posted: Wed Nov 23, 2016 10:07 pm
by Stevetrov
Wow Factorio dev and module dev, I think describing it as a known issue makes the most sense. At the end of the day it's not exactly game breaking!

Thanks for your time, your game and your mod. U r all awesome!

Re: Stone Ore spawning on water

Posted: Thu Nov 24, 2016 1:11 am
by Rseding91
orzelek wrote:I'd file it under known issues.

Using size multiplier of 8 is well above supported parameters.
It will cause the RSO to make attempts at spawning ore well beyond charted chunks. I haven't noticed this causing issues usually when it doesn't go to far but in this case placement check might simply say it's ok even if there should be water there. I'm using can_place_entity for those checks.

Fixing it is... almost complete rewrite.
Ore spawning would need to plan the spawn, check for chunk presence, request spawning of chunks, wait and then actually valide ore spawn again and spawn it.

I might decide at some point to fix this by making proper delayed ore spawn system but not planning it for now.

Can file this under not a bug I guess since it's most likely misuse of can_place_entity :D
For 0.15 I added LuaRandomGenerator which is an instance of the deterministic random generator we use internally that you can seed yourself so you could use that to generate ores randomly on chunks as they generate without needing to "generate the entire patch" at once - just do the pieces that would end up on a given chunk when the chunk is generated. That should resolve this issue.

Re: Stone Ore spawning on water

Posted: Thu Nov 24, 2016 8:24 am
by orzelek
Rseding91 wrote:
orzelek wrote:I'd file it under known issues.

Using size multiplier of 8 is well above supported parameters.
It will cause the RSO to make attempts at spawning ore well beyond charted chunks. I haven't noticed this causing issues usually when it doesn't go to far but in this case placement check might simply say it's ok even if there should be water there. I'm using can_place_entity for those checks.

Fixing it is... almost complete rewrite.
Ore spawning would need to plan the spawn, check for chunk presence, request spawning of chunks, wait and then actually valide ore spawn again and spawn it.

I might decide at some point to fix this by making proper delayed ore spawn system but not planning it for now.

Can file this under not a bug I guess since it's most likely misuse of can_place_entity :D
For 0.15 I added LuaRandomGenerator which is an instance of the deterministic random generator we use internally that you can seed yourself so you could use that to generate ores randomly on chunks as they generate without needing to "generate the entire patch" at once - just do the pieces that would end up on a given chunk when the chunk is generated. That should resolve this issue.
Sadly RSO ore generation method is not that fragmentable I think. Currently it needs to spawn whole patch at once after calculating how it will look.
And deterministic random generator is part of RSO (written in lua). I'm looking forward to use the built in one.