Page 1 of 1

Smart belt dragging should place ghost undergrounds if no undergrounds in inventory

Posted: Wed Jan 19, 2022 10:11 am
by wobbycarly
TL;DR
When using smart belt dragging, undergrounds are automatically placed when an obstacle is detected. However, if there are no undergrounds in inventory, a straight belt is placed. When there are objects on the belt, this will cause side-loading. Ghost underground belts should be placed instead.

What ?
This is what happens:
2022-01-19 21_03_11-Factorio 1.1.52_missing underground.png
2022-01-19 21_03_11-Factorio 1.1.52_missing underground.png (499.04 KiB) Viewed 1869 times

This what I think should happen:
2022-01-19 21_03_21-Factorio 1.1.52_missing underground converted to ghost.png
2022-01-19 21_03_21-Factorio 1.1.52_missing underground converted to ghost.png (509.09 KiB) Viewed 1869 times
Why ?
Prevent a mess of mixed items on belts if straight belts are placed and cause side-loading.

This is not a bug as such, as I think the code is probably working as designed, however, I think the design leads to an inconsistent and unexpected player experience.

Re: Smart belt dragging should place ghost undergrounds if no undergrounds in inventory

Posted: Thu Jan 20, 2022 6:40 am
by ssilk
wobbycarly wrote: Wed Jan 19, 2022 10:11 am
TL;DR
When using smart belt dragging, undergrounds are automatically placed when an obstacle is detected. However, if there are no undergrounds in inventory, a straight belt is placed.
Is that so? I don’t know because I never run around without underpan^D^D^Dground belts.:)

Re: Smart belt dragging should place ghost undergrounds if no undergrounds in inventory

Posted: Thu Jan 20, 2022 5:27 pm
by SoShootMe
wobbycarly wrote: Wed Jan 19, 2022 10:11 am When using smart belt dragging, undergrounds are automatically placed when an obstacle is detected. However, if there are no undergrounds in inventory, a straight belt is placed. When there are objects on the belt, this will cause side-loading. Ghost underground belts should be placed instead.
With Smart belt dragging, in the simple case, belt is placed up to the obstacle, and only when you continue to drag past the obstacle does the belt before it get replaced - provided you have at least a pair of underground belts and they reach. (There's a more complex case if there is a second obstacle with a one tile gap, but I don't think it matters for my point.)

I think avoiding unwanted side-loading is not a real benefit. Due to the above, if there are nearby items on the belt, there may be (some) side-loading whether or not you have underground belts (you must drag quickly to avoid it), either now or with your suggestion. If there aren't, you have time to pick up the belt.
I think the design leads to an inconsistent and unexpected player experience.
You haven't really explained how placing ghosts because you don't have undergrounds removes inconsistency or is less unexpected. Smart belt dragging as a whole is inconsistent regardless of the details - it's belt-specific behaviour - but I note your suggestion would effectively mean transparently changing from placing items to placing ghosts, which is inconsistent because it doesn't currently happen in any other situation (without mods at least).

Re: Smart belt dragging should place ghost undergrounds if no undergrounds in inventory

Posted: Fri Jan 21, 2022 8:26 am
by aka13
+1 on this one

Re: Smart belt dragging should place ghost undergrounds if no undergrounds in inventory

Posted: Sat Jan 22, 2022 6:43 am
by wobbycarly
SoShootMe wrote: Thu Jan 20, 2022 5:27 pm
wobbycarly wrote: Wed Jan 19, 2022 10:11 am When using smart belt dragging, undergrounds are automatically placed when an obstacle is detected. However, if there are no undergrounds in inventory, a straight belt is placed. When there are objects on the belt, this will cause side-loading. Ghost underground belts should be placed instead.
With Smart belt dragging, in the simple case, belt is placed up to the obstacle, and only when you continue to drag past the obstacle does the belt before it get replaced - provided you have at least a pair of underground belts and they reach. (There's a more complex case if there is a second obstacle with a one tile gap, but I don't think it matters for my point.)

I think avoiding unwanted side-loading is not a real benefit. Due to the above, if there are nearby items on the belt, there may be (some) side-loading whether or not you have underground belts (you must drag quickly to avoid it), either now or with your suggestion. If there aren't, you have time to pick up the belt.
I think the design leads to an inconsistent and unexpected player experience.
You haven't really explained how placing ghosts because you don't have undergrounds removes inconsistency or is less unexpected. Smart belt dragging as a whole is inconsistent regardless of the details - it's belt-specific behaviour - but I note your suggestion would effectively mean transparently changing from placing items to placing ghosts, which is inconsistent because it doesn't currently happen in any other situation (without mods at least).
Thanks for taking the time to consider and respond to my suggestion. I don't disagree that what I suggest may simply be a matter of opinion!

The side-loading is an wanted side-effect of automatically (the key word here) placing a straight belt immediately adjacent to the belt being crossed when the player was expecting an underground to be placed - this is the mess that may result from what I consider the unexpected behaviour.

If undergrounds are available, they are placed, if they are not available, a straight belt is placed even though the player was expecting an underground. This is the inconsistency, IMO. Note that when placing ghost belts in smart-belt mode, a ghost underground is ALWAYS placed, regardless of whether the belt being crossed is a ghost or real.

At the end of the day, I personally can live with it as it is, but wanted to share my experience with this use case in case the good team at Wube decided that they agreed with me. :D

Further examples.
2022-01-22 17_34_43-Factorio 1.1.53.png
2022-01-22 17_34_43-Factorio 1.1.53.png (313.54 KiB) Viewed 1766 times
2022-01-22 17_34_31-Factorio 1.1.53.png
2022-01-22 17_34_31-Factorio 1.1.53.png (423.83 KiB) Viewed 1766 times

Re: Smart belt dragging should place ghost undergrounds if no undergrounds in inventory

Posted: Sat Jan 22, 2022 8:37 pm
by ptx0
i've gotten into the habit of keeping an undie in my quick bar so i can see my remaining inventory or just using shift while smart-dragging out of an abundance of caution.

Re: Smart belt dragging should place ghost undergrounds if no undergrounds in inventory

Posted: Sun Jan 23, 2022 7:48 am
by ssilk
The handling of entities versus ghosts has so much inconsistencies, I don’t know where to begin. This is just the top of the iceberg.

IMHO there should be no difference if I place an item or a ghost. But technically this is quite complex because what you forgot is, if you introduce this rule, then you need to lookup, if underground has already been researched. Otherwise ghost undergrounds would be placed even if a total noob plays his first game. Which is an extra lookup in a completely different table.

And you need also to lookup, which underground you need to place. For example you already have researched red belts, now you make a crossing of five belts. Should the red underground be placed as ghost — even if you are not producing it yet — or not? If it should be placed, how do you know, that you need to produce it and cover this part with roboports?

IMHO it’s the more save way of game-feedback: use shift, if you really want to have ghosts placed here.