Better UX for placing, removing, and configuring ghost structures

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Post Reply
Ajedi32
Inserter
Inserter
Posts: 28
Joined: Thu May 07, 2020 9:46 pm
Contact:

Better UX for placing, removing, and configuring ghost structures

Post by Ajedi32 »

Disclaimer: I'm a relatively new player (about 150 hours in only just finished launching my first rocket) so it's possible I'm just missing some settings or keybindings that would fix all this. I'm pretty sure I'm not though (I did do a fair bit of research before posting this). I also realize this forum frowns upon putting multiple suggestions in a single post, but these are all very closely related, so I think in this case creating a half dozen different posts for each separate little UI tweak would be needlessly inconvenient for everyone involved. (Though I can always delete this and convert to multiple posts if the mods disagree.)

Background:

When I first got logistic/construction robots operational, that was a big moment for me. "I no longer need to go anywhere!" I thought. "I can just sit in my base and command my robot army from afar." Alas, it turns out there are lots of tasks which construction robots are capable of in theory, but which in practice are a major pain to do with bots because of missing or suboptimal UX in Factorio itself. I'd like to propose a few changes to fix that.

Suggested changes:

1. Make "ghost build" a toggleable mode rather than a modifier key. I don't want to have to hold down shift constantly the entire time I'm building.

2. Allow construction robots to cut/place wires (copper and circuit). They can already do this when placing blueprints, but changing things after the fact is currently a major pain. This is especially annoying when you have two electrical networks you don't want to connect to each other except by switch, but the robots keep connecting electric poles in the blueprint to pre-existing structures in places that they shouldn't.

3. Add a UI for delivering modules to buildings (and removing them). Again, already possible with blueprints, but there's AFAIK no way to do it after a building is already placed short of deleting and re-placing the building you want to adjust.

4. Allow structures (factories, plants, inserters, combinators, etc) to have their settings re-configured remotely. Again, already technically possible by deleting and removing the structure with construction robots; but a major pain. You might not even want to require construction robots for this; just allow structures to have their settings adjusted "wirelessly" if they're in construction range of a powered robo-port. (I think that makes sense in-universe.) Ghosts which haven't yet been placed by construction robots should be similarly adjustable.

5. Make the "upgrade" placement behavior for ghost building match that of regular building. (E.g. I should be able to place a belt over the top of another belt, or a splitter over the top of a belt, or a logistic storage chest over the top of a steel chest, etc. Intelligently use upgrade planner behavior when appropriate (e.g. when upgrading structures rather than rotating them) or deletion/replacement behavior otherwise.

6. Allow right-clicking structures in ghost build mode to mark them for destruction. Alt-D is a pain when I only want to delete one thing.

7. Allow rotating pre-existing structures in ghost build mode (probably require a construction robot to remove and replace the structure for the actual change to take effect).

8. "Undo" should be able to undo upgrades initiated by the upgrade planner (currently it ignores them and instead undoes your last construction/deletion action).

9. "Redo" functionality in case I accidentally undo something

Note that _none_ of these suggested changes give construction robots any new abilities that they don't already have; they just clean up the UX of Factorio itself to make working with ghost structures and construction robots less painful.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12686
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Better UX for placing, removing, and configuring ghost structures

Post by ssilk »

Very good list. I try to answer from my point of view.
Ajedi32 wrote:
Thu May 07, 2020 9:57 pm
1. Make "ghost build" a toggleable mode rather than a modifier key. I don't want to have to hold down shift constantly the entire time I'm building.
I’m not sure if I like that. I switch so often back and for. And therefore you have also other features like the personal logistics to bring you the items you want to build and copy/paste to repeat.
2. Allow construction robots to cut/place wires (copper and circuit). They can already do this when placing blueprints, but changing things after the fact is currently a major pain. This is especially annoying when you have two electrical networks you don't want to connect to each other except by switch, but the robots keep connecting electric poles in the blueprint to pre-existing structures in places that they shouldn't.
I try to explain it once more: will not come. There are several complex reasons but one which is simple to understand is, that if several poles have been destroyed it is a good gameplay decision to connect the new placed poles with as many other poles as possible - to avoid long blackouts, just because one pole is missing.

And the way to built it currently: separate power by distance between the parts. I hope that someone makes a mod, like color poles with some tool and connections are not made between poles of different color. But that’s complicated.

3. Add a UI for delivering modules to buildings (and removing them). Again, already possible with blueprints, but there's AFAIK no way to do it after a building is already placed short of deleting and re-placing the building you want to adjust.
There is a mod for that: https://mods.factorio.com/mod/ModuleInserter
4. Allow structures (factories, plants, inserters, combinators, etc) to have their settings re-configured remotely. Again, already technically possible by deleting and removing the structure with construction robots; but a major pain. You might not even want to require construction robots for this; just allow structures to have their settings adjusted "wirelessly" if they're in construction range of a powered robo-port. (I think that makes sense in-universe.) Ghosts which haven't yet been placed by construction robots should be similarly adjustable.
That would mean there is no difference between looking over radar and standings nearby. Currently it’s not so logical that you can trick that by building the entity you want to change near you and then copy/paste it to the place you want. So, yes, why not making that changes simpler?
5. Make the "upgrade" placement behavior for ghost building match that of regular building. (E.g. I should be able to place a belt over the top of another belt, or a splitter over the top of a belt, or a logistic storage chest over the top of a steel chest, etc. Intelligently use upgrade planner behavior when appropriate (e.g. when upgrading structures rather than rotating them) or deletion/replacement behavior otherwise.
Makes lot of sense.
6.-9.
You have watched that carefully.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Ajedi32
Inserter
Inserter
Posts: 28
Joined: Thu May 07, 2020 9:46 pm
Contact:

Re: Better UX for placing, removing, and configuring ghost structures

Post by Ajedi32 »

Thanks for the feedback; I really appreciate it.
ssilk wrote:
Sat May 09, 2020 3:02 am
1. Make "ghost build" a toggleable mode [...]
I switch so often back and for. And therefore you have also other features like the personal logistics to bring you the items you want to build and copy/paste to repeat.
True, I guess it's a matter of personal preference; having both options could be good. Though for me personally, I can't really think of a compelling reason why I'd ever want to build in anything other than ghost mode once I have a personal roboport (other than the other UX issues I highlighted in this post). Avoiding "out of reach" errors and interruptions due to missing inventory is well worth the small inconvenience of slightly slower placement times IMO.
ssilk wrote:
Sat May 09, 2020 3:02 am
2. Allow construction robots to cut/place wires (copper and circuit). [...]
I try to explain it once more: will not come. There are several complex reasons but one which is simple to understand is, that if several poles have been destroyed it is a good gameplay decision to connect the new placed poles with as many other poles as possible - to avoid long blackouts, just because one pole is missing.
I'm not sure I understand your point. You can already cut and manually place power wires in-person. Why would implementing a way to do exactly the same thing with drones be a huge problem?

Also, the reason you gave seems to only be applicable to power wires. If it's only an issue for power wires, why not at least implement it for circuit wires?
ssilk wrote:
Sat May 09, 2020 3:02 am
3. Add a UI for delivering modules to buildings (and removing them). [...]
There is a mod for that: https://mods.factorio.com/mod/ModuleInserter
Thanks, that looks very close to what I want. I'll definitely check it out. Though IMO the ability to place/remove individual modules from individual structures would be more convenient for building in ghost mode; the functionality in this mod seems much better suited to mass upgrades, similar to the way the upgrade planner is used. (Actually, integrating the functionality of that mod into the upgrade planner would probably be the best approach if the devs were ever to bring it to vanilla.)
ssilk wrote:
Sat May 09, 2020 3:02 am
4. Allow structures (factories, plants, inserters, combinators, etc) to have their settings re-configured remotely.
That would mean there is no difference between looking over radar and standings nearby.
Yeah, that's basically the goal of all these suggested changes; I want to minimise the UX differences between doing things with construction robots vs doing it in-person. For balance reasons, I wouldn't necessarily recommend being able to re-configure settings for _all_ buildings you can see; just those in range of a roboport. Doing it that way ensures there is no change in actual gameplay balance, just UX.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12686
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Better UX for placing, removing, and configuring ghost structures

Post by ssilk »

About build style: it makes a lot of sense to place as many items by yourself, because it is so much faster.
Ajedi32 wrote:
Sat May 09, 2020 6:22 pm
ssilk wrote:
Sat May 09, 2020 3:02 am
2. Allow construction robots to cut/place wires (copper and circuit). [...]
I try to explain it once more: will not come. There are several complex reasons but one which is simple to understand is, that if several poles have been destroyed it is a good gameplay decision to connect the new placed poles with as many other poles as possible - to avoid long blackouts, just because one pole is missing.
I'm not sure I understand your point. You can already cut and manually place power wires in-person. Why would implementing a way to do exactly the same thing with drones be a huge problem?
First I need to say that I misunderstood you. Sorry. I thought you meant to place electric / circuit networks with the robots. Which consists of placing poles. Which explains my answer.

But first to your question here: Because you can’t tell the robots, in which order they should build the poles. The most important pole, that connects all others, could be placed by a robot that comes from the other end of your factory. In that time all the lasers to defend you from the next wave are not powered. It is from gameplay much smarter to connect the poles as good as in that situation possible, because that has a high chance, that it connects a different path.
And applying the cut of unwanted connections after placing the connected poles is a good idea, but as said before: there is a high chance, that there is a new connection, which needs to be cut either.
Also, the reason you gave seems to only be applicable to power wires. If it's only an issue for power wires, why not at least implement it for circuit wires?
The circuit connections are already stored in the blueprints. Because it is much more important to rebuilt them exactly, because otherwise they could be connected completely wrong/not working. In other words: circuit connections are currently magically placed for blueprinted ghosts. Because otherwise it would need also red and green wires.

And now to the originating idea:
to cut wires (circuits) or cables (electric) from poles, or set new wires / cables, you need to tell the interface the two poles and the type of wire/cable.
I’m guessing: just not implemented for robots. How to tell a robot: span a red wire from here to there? And what if you tell the same commands to many bots? You cannot do it the same way as the player does. I guess that’s why the placing of the wires is currently magic.

In theory this idea is something that would make sense for a mod, because I think there are some ways to implement it.
ssilk wrote:
Sat May 09, 2020 3:02 am
There is a mod for that: https://mods.factorio.com/mod/ModuleInserter
Thanks, that looks very close to what I want. I'll definitely check it out. Though IMO the ability to place/remove individual modules from individual structures would be more convenient for building in ghost mode; the functionality in this mod seems much better suited to mass upgrades, similar to the way the upgrade planner is used. (Actually, integrating the functionality of that mod into the upgrade planner would probably be the best approach if the devs were ever to bring it to vanilla.)
Well, to make placing of modules easier is subject of repeated upcoming suggestions. ;) but that there is no mod for that has also a meaning: it’s not so much needed to place modules for single entities or modules.

(And my idea for that is to have a device with some configurable target range, that will initiate a set of configured module-configurations for a given circuit condition. So that you can change the modules depending on current situation.)
ssilk wrote:
Sat May 09, 2020 3:02 am
4. Allow structures (factories, plants, inserters, combinators, etc) to have their settings re-configured remotely.
That would mean there is no difference between looking over radar and standings nearby.
Yeah, that's basically the goal of all these suggested changes; I want to minimise the UX differences between doing things with construction robots vs doing it in-person. For balance reasons, I wouldn't necessarily recommend being able to re-configure settings for _all_ buildings you can see; just those in range of a roboport. Doing it that way ensures there is no change in actual gameplay balance, just UX.

But that’s like playing in sandbox mode. It already exists. But freeplay is not meant to be sandbox. :)
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Ajedi32
Inserter
Inserter
Posts: 28
Joined: Thu May 07, 2020 9:46 pm
Contact:

Re: Better UX for placing, removing, and configuring ghost structures

Post by Ajedi32 »

ssilk wrote:
Sun May 10, 2020 6:13 am
About build style: it makes a lot of sense to place as many items by yourself, because it is so much faster.
That's technically true, but I can't think of many situations where the amount of time it takes to actually place the structures themselves is the bottleneck when I'm building. Once you account for time lost from having to physically move around, "Out of Reach" errors, issues with running out of inventory, etc. I think placing items yourself is actually significantly slower than just building with ghosts and letting bots handle the actual placement whenever they get around to it. That's especially true late game when the bots have many speed upgrades and you have access to Personal Roboport Mk. 2.
ssilk wrote:
Sun May 10, 2020 6:13 am
2. Allow construction robots to cut/place wires (copper and circuit). [...]
[...]
I'm not sure I understand your point. You can already cut and manually place power wires in-person. Why would implementing a way to do exactly the same thing with drones be a huge problem?
First I need to say that I misunderstood you. Sorry. I thought you meant to place electric / circuit networks with the robots. Which consists of placing poles. Which explains my answer.

But first to your question here: Because you can’t tell the robots, in which order they should build the poles. The most important pole, that connects all others, could be placed by a robot that comes from the other end of your factory. In that time all the lasers to defend you from the next wave are not powered. It is from gameplay much smarter to connect the poles as good as in that situation possible, because that has a high chance, that it connects a different path.

And applying the cut of unwanted connections after placing the connected poles is a good idea, but as said before: there is a high chance, that there is a new connection, which needs to be cut either.

The circuit connections are already stored in the blueprints. Because it is much more important to rebuilt them exactly, because otherwise they could be connected completely wrong/not working. In other words: circuit connections are currently magically placed for blueprinted ghosts. Because otherwise it would need also red and green wires.
Yeah, I'm not talking about storing power connections in blueprints the same way circuit connections are stored (though now that you mention it I can see that being useful in some situations, and it might be worth adding as an option when saving a blueprint); I'm talking about allowing robots to cut and place individual wires, just like you can in-person when you select the copper wire item and click on a pole. Currently you can't do that in ghost build mode; not with power wires or with circuits. You can sort of do it with circuits, but only by deleting structures and re-creating them using blueprints. This suggestion is specifically about adding that same functionality for cutting and placing individual wires after-the-fact.
to cut wires (circuits) or cables (electric) from poles, or set new wires / cables, you need to tell the interface the two poles and the type of wire/cable.
I’m guessing: just not implemented for robots. How to tell a robot: span a red wire from here to there? And what if you tell the same commands to many bots? You cannot do it the same way as the player does. I guess that’s why the placing of the wires is currently magic.

In theory this idea is something that would make sense for a mod, because I think there are some ways to implement it.
Yes, I would certainly be interested in a mod implementing that functionality assuming the relevant APIs exist.
ssilk wrote:
Sun May 10, 2020 6:13 am
Thanks, that looks very close to what I want. I'll definitely check it out. Though IMO the ability to place/remove individual modules from individual structures would be more convenient for building in ghost mode; the functionality in this mod seems much better suited to mass upgrades, similar to the way the upgrade planner is used. (Actually, integrating the functionality of that mod into the upgrade planner would probably be the best approach if the devs were ever to bring it to vanilla.)
Well, to make placing of modules easier is subject of repeated upcoming suggestions. but that there is no mod for that has also a meaning: it’s not so much needed to place modules for single entities or modules.
It actually comes up pretty frequently when you're building new production lines remotely in the map view. I suspect most people don't do that very often specifically _because_ of all the UI issues I outlined in the OP. UX improvements in the other areas I mentioned might make this particular issue a bit more visible.
ssilk wrote:
Sun May 10, 2020 6:13 am
Yeah, that's basically the goal of all these suggested changes; I want to minimise the UX differences between doing things with construction robots vs doing it in-person. For balance reasons, I wouldn't necessarily recommend being able to re-configure settings for _all_ buildings you can see; just those in range of a roboport. Doing it that way ensures there is no change in actual gameplay balance, just UX.
But that’s like playing in sandbox mode. It already exists. But freeplay is not meant to be sandbox.
Haha, sort of but not exactly. In sandbox mode you have infinite reach and can place items anywhere instantly with no construction robots, no roboports, no radar, and no regard for whether there are items available in logistic storage in the place you're building. That's a difference in gameplay. That's not what I'm suggesting. What I'm suggesting is for construction robots to be able to do all the same things they can already do, just with a better UI for controlling them. You can already re-configure structures with construction robots by deconstructing them, then pasting a new structure with the correct settings in the appropriate location. Suggestion #4 is simply a less frustrating UI for doing the same thing. Again, no differences in gameplay mechanics, just a better UI.

Post Reply

Return to “Ideas and Suggestions”