Automatically landfill when placing blueprints/ghosts

Moderator: ickputzdirwech

blazespinnaker
Filter Inserter
Filter Inserter
Posts: 665
Joined: Wed Sep 16, 2020 12:45 pm
Contact:

Re: Automatically landfill when placing blueprints/ghosts

Post by blazespinnaker »

Definitely ranks up there with top 3 hindrances. Robots can be slow sometimes, and it's nice to plant a bp and move on rather than having to come back checking whether the landfill / etc was placed.
OptimaUPS Mod, pm for info.
mrvn
Smart Inserter
Smart Inserter
Posts: 5895
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Automatically landfill when placing blueprints/ghosts

Post by mrvn »

aka13 wrote: Tue May 03, 2022 7:28 am
tuhe wrote: Mon May 02, 2022 1:29 pm +1.
The blueprint creation window (ctrl+c, shift+drag) should simply include a button that says 'Add landfill under all elements'. When pressed, it does exactly what this site does:

https://autotorio.com/blueprint

when the 'Landfill under entities' button is pressed.

I'd argue this is the optimal solution:
  • inobtrusive; it does not change/alter any existing behavior or shortcuts, and players who did not press the button would not see the game affected one bit.
  • It would be super convenient. I do this for all my blueprints (at a certain point, why would one not want this?), and tabbing back and forth, copy-pasting blueprints, etc. is very clunky. I don't see a way to replace the blueprint in the blueprint editor easily for instance, so when I do it this way I tend to end up with copies of the blueprint (one containing the landfil, the other which does not).
  • It would fix all issues I encounter/care about. I don't mind placing the blueprint twice, as long as I know it now fits on top of the landfil. I don't mind the stuff the feature does not do when implemented this way, such as adding landfills to the entire region containing the blueprint, etc. I am completely okay with doing that manually.
  • Most importantly, blueprints can contain landfill, but I don't see a way to add it to the blueprint in-game. It seems very strange that an obviously useful aspect of the game requires the player to alt-tab out of the game to enable it.
I am aware there are mods that seem to do this, but when I checked they seemed to come with warnings etc. I am very concerned about adding new mods that may affect my savefile.
It would still be clunky, since you have to place the blueprint, wait for landfill to be done, and place it again, but it's better than nothing.
When I place a rail over a tree the tree gets a destruction planer "X" and the bot placing the rail will hover over the tree waiting for it to be removed. Why can't the same happen with landfill? Make entity ghosts placeable when there are tile ghosts that would result in the entity being placeable and then have bots wait for tile ghosts to be placed before placing entities.
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12889
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Automatically landfill when placing blueprints/ghosts

Post by ssilk »

mrvn wrote: Mon Aug 29, 2022 9:55 am Why can't the same happen with landfill? Make entity ghosts placeable when there are tile ghosts that would result in the entity being placeable and then have bots wait for tile ghosts to be placed before placing entities.
The answer is eventually A) because there is so much more landfill to be placed than trees to be removed. B) it’s easy to understand that a tree will not be removed because it cannot be reached by the bots. It’s hard to understand why a track won’t be built, there could be several reasons (no landfill available, not reachable, very far away…). C) landfill was much later implemented than trees. :)
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
mrvn
Smart Inserter
Smart Inserter
Posts: 5895
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Automatically landfill when placing blueprints/ghosts

Post by mrvn »

Neither of those seem valid arguments to me.

With items on ground there are potentially 4 times as many things to remove than tiles and that works. So that seems to negate argument A. Further trees and rocks can produce quite a lot of items (with mods) and require multiple bots to collect them. That part is probably way worse than tiles because the removal of the tree / rock produces the items that then have to be removed as well while the tile is just a single step to place.

As for B, figuring out why a rail can't be placed now (no rails available, out of range, no bots available) is just as hard as figuring out why a tile ghost won't be placed (and you already have to figure that out if you place the landfill first and the rail second). Figuring out why a rail with a tile ghost can't be placed is just 1 step more. And actually only the "no landfill available" is an extra option the trees or tiles on ground don't have. Seems rather straight forward for a user to figure out that with no landfill in the logistic network that landfill won't be placed. I think you are underestimating the intelligence of the players.
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12889
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Automatically landfill when placing blueprints/ghosts

Post by ssilk »

To B)
I found more arguments for that thesis:

With trees you need one robot to remove three. But for laying landfill you need much more. And as long as landfill isn’t placed you lock the robots, which place the items. The chance of of deadlock (no more robots availability for placing landfill because all robots want to place items) is here much, much, much higher, than when removing trees (also possible, but I got that situation rarely).
With landfill the chance of such a deadlock is too high and so we can’t do it yet as consequence.

Before this works the game needs some new mechanisms:
- planned blueprints. They can’t be placed by the bots, but behave as a normal blueprint. Similar to this mod: https://mods.factorio.com/mod/Construct ... rContinued

- prepare the ground of a planned bp. Creates landfill - and as already doing - cuts trees, removes stones, etc.

In my eyes this could be made much more clever by looking how much robots are available and in which direction and “clear” only so much area that the bots can do in one “turn”, so that the clearance doesn’t look so random.

- detect, when the preconditions to prepare the ground for a blueprint are fulfilled and switch the planned blueprint into a “real” bp.

With the more clever algorithms from above this would show the player a much more satisfying progress. You can much better estimate when something is finished, than yet, because the placement of the items follows a plan.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
mrvn
Smart Inserter
Smart Inserter
Posts: 5895
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Automatically landfill when placing blueprints/ghosts

Post by mrvn »

ssilk wrote: Sat Sep 03, 2022 7:24 am With trees you need one robot to remove three. But for laying landfill you need much more. And as long as landfill isn’t placed you lock the robots, which place the items. The chance of of deadlock (no more robots availability for placing landfill because all robots want to place items) is here much, much, much higher, than when removing trees (also possible, but I got that situation rarely).
With landfill the chance of such a deadlock is too high and so we can’t do it yet as consequence.
And then you have modded trees and rocks that give >20 items. Or when killing aliens leaves behind items on the ground (old versions or with mods now) the ground around your defensive wall is littered with items for miles after a while. So when you expand you have to pick up 4 items per tile before anything can be placed. The chance for deadlocks by running out of construction bots is already a risk that I don't think landfill below buildings makes noticeably worse. While slow due to the shear number of trips it has never been a cause for deadlocks.

Further weren't the bots improved to carry multiple landfill (up to the carrying capacity) at a time? That should further reduce the number of bots. You might get an actual lasting deadlock with 10 bots. But with 1000 bots I rate the chance that not a single bot will remain free to place landfill and (eventually) free up bots trying to place buildings to be basically 0.

And what if the case happens? The player sees 1000 bots hovering there carrying buildings and waiting for landfill. Surely he will think: "Hey, lets place some landfill here by hand and the bots will finish placing the building." Once a few bots a free to place landfill they fill free other bots and it will snowball from there.

Note: I think to create a deadlock with 1000 bots you have to blueprint ~100 buildings with landfill below each one and all the 900 other bots carrying landfill have to be killed by aliens. At least I hope the code would not assign a bot to place the building before all the landfill below it has been assigned a bot. That's a simple check to make. That should make a deadlock virtually impossible.
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12889
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Automatically landfill when placing blueprints/ghosts

Post by ssilk »

Ya, well, first we speak here from more or less unmoded Factorio. And we spoke about which reason is behind, that this works for trees but not for landfill.

But we’ll, this needs to work also for mods. Any kind of item.

Bots improved: yes, but it’s still not enough and increasing carry further will lead to unbalanced game-play.

And yes, the number of free bots plays a role, but the game leaves this currently to the players responsibility. Aka it’s not a good idea to make everything at the same time. The player learns a lot when seeing what to avoid.

Placing by hand: well, what if I’m 5000 tiles away from that? I place my blueprint, jump on the train and work on another site, while the build is in progress. Not fun.

And I repeat: this is a quite theoretical discussion. :) I really don’t know if it is so or different. I just thought there are good enough reasons, why this isn’t working. 8-)
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
mrvn
Smart Inserter
Smart Inserter
Posts: 5895
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Automatically landfill when placing blueprints/ghosts

Post by mrvn »

ssilk wrote: Sat Sep 03, 2022 11:52 am Placing by hand: well, what if I’m 5000 tiles away from that? I place my blueprint, jump on the train and work on another site, while the build is in progress. Not fun.
It would certainly be annoying. All I'm saying is that it wouldn't be the end of the game. It's trivial, if annoying and time consuming, to resolve. I don't believe you could get into this case given enough bots as it becomes just too unlikely so I don't worry about this case. You can simulate this by place 1000 wood on the floor and blueprinting over it. That's the same or worse than placing tiles below buildings and the game handles that just fine. There are far more likely cases for things not getting build:

1) Not enough landfill. Obviously this then blocks. Roughly equivalent to not having enough storage and all the bots sit around holding wood with no place to put it.

2) While the building is within the construction zone one of the tiles might be outside. This happens with trees and stones too so nothing new.
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12889
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Automatically landfill when placing blueprints/ghosts

Post by ssilk »

I think we’re meaning the same, but maybe it got lost in translation.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
User avatar
ickputzdirwech
Filter Inserter
Filter Inserter
Posts: 794
Joined: Sun May 07, 2017 10:16 am
Contact:

Re: Automatically landfill when placing blueprints/ghosts

Post by ickputzdirwech »

[ick] Moved to Implemented in 2.0

See https://factorio.com/blog/post/fff-383
Mods: Shortcuts for 1.1, ick's Sea Block, ick's vanilla tweaks
Tools: Atom language pack
Text quickly seems cold and unfriendly. Be careful how you write and interpret what others have written.
- A reminder for me and all who read what I write
Post Reply

Return to “Implemented in 2.0”