Staging Blueprint Subsets

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Post Reply
IOfactor
Manual Inserter
Manual Inserter
Posts: 4
Joined: Tue Feb 05, 2019 5:21 pm
Contact:

Staging Blueprint Subsets

Post by IOfactor »

TL;DR
I would like to take one single blueprint and mark items within it as high/medium/low priority.

What ?
I want a blueprint editor that can set different items within a blueprint at different priority levels. Then, I would like to be able to instruct the robots of the world to build only high priority... or build high priority first, then immediately start on second priority... or potentially other options I haven't thought of. For 99% of the cases I can think of, all I would need is a specified cut-off point: do not place any items below priority X, and then build all items above that point in priority order. I see no need to place ghosts of the items below priority X when placing the blueprint, because if I want them later I can just place that blueprint again with a new priority cut-off.

As an example, here is the blueprint I was working on when I thought of this idea. Here are the highest-priority items, with the rest removed:

Image

This design is not useful until all items shown are in place. However, if I have more than three priority levels to work with, I could make the bots start with the train tracks and the receiving station, then go on to the rail signals, and finally place the belts and loading station at the end of the process.

But, after all that, it is still only a basic design and not very useful. Here is what it looks like with the "whole" blueprint, what I was actually aiming to build:

Image

I definitely want the bots to finish that basic design first, before they start adding the rest in! I can do that by making two different blueprints, and planting one on top of the other later. But it would be useful if the construction bots could do it themselves, without me coming back to tell them so.

And one last time, here's the same design with low-priority items added in. I'm not sure I'll ever actually want them, but I'm not sure I won't want them either:

Image

And I began to realize, it seems silly to make a third blueprint here. It makes this extra option available later, and easy to add in, but I might never even use it.

Which brings me to...
Why ?
I have a huge number of blueprints. In many cases I have two or three blueprints for a single purpose, for exactly this reason: forcing the construction bots to begin with what I need first.

* It can build defenses first, and then factory elements only after the area is secure
* It can establish train routes first and then build systems around them
* It ensures electrical service, instead of a bunch of assemblers and inserters standing idle
* In the example above, it creates a small setup for early game, easy to expand later
* Depending on how it is implemented, it could prioritize when multiple blueprints are placed

Instead of multiple "staged" versions of the same design, I would like to have one blueprint that contains all of that information. It would make it easier to flip through my blueprint book, with fewer blueprints in it, and it would make it easier and faster to build up a new area from scratch. It makes construction bots more efficient, without requiring me to stay nearby and oversee their progress.

Sad_Brother
Fast Inserter
Fast Inserter
Posts: 209
Joined: Mon Jan 08, 2018 4:54 pm
Contact:

Re: Staging Blueprint Subsets

Post by Sad_Brother »

As a side note: what should this setup do?

Local build queue is a good idea. But what would it mean?
1. You should designate priority in blueprint. Priority by type? Layers? Special selectors?
2. Construction system should remember whole queue. Now iirc it should build placed ghost in any order.
3. Build order should be specific to blueprint. Or else several placed blueprints would interfere.

Would be enough to you to designate global priority to be used for all blueprints? For example:
1. Power poles, Walls, Gates and Laser Turrets
2. Railways
3. - most other -
4. Inserters.

IOfactor
Manual Inserter
Manual Inserter
Posts: 4
Joined: Tue Feb 05, 2019 5:21 pm
Contact:

Re: Staging Blueprint Subsets

Post by IOfactor »

The example I used there is a giant overflow storage bin. It requires me to flip the inserters around to get the stuff back out, but it's for the kind of quantities that'll take hours to use up, so I expect to go look now and then.

In a lot of cases a global build order would help, but I have several blueprints that would benefit from more direct control. In the example above, there are 24 steel chests in the most basic version, and 152 in the main version, and 208 in the "extra" version. So that would be a case where I'd like to tell the system which ones come first. In some other blueprints, I have some tracks laid out, and I want to add more tracks and stations later. In others, I have an early game factory, which I want to grow as I build more uses for the outputs. Etc.

Here's my thoughts on the notes you made:

1. I'm imagining something like the blueprint editor, where you can right-click to remove items and left-click to restore. But also that you can select items and give them priority codes.

2. I think when the blueprint is placed, each ghost item would have a priority number attached to it at that time. The game engine wouldn't need to create a separate list for build priority, just have the bots check the numbers when they decide what to build.

3. Multiple placed blueprints could interfere... the simplest way I can think of to implement the idea is to tag each item with a number from 1 to 10, let's say. Then, for example, I could design defense blueprints using numbers from 1 to 4, and train system blueprints from 3 to 6, and less important stuff with 6 to 10. The bots would start out building priority 1, then priority 2, and then when they get to priority 3 they would not discriminate between the two blueprints that both have items at 3.

Sad_Brother
Fast Inserter
Fast Inserter
Posts: 209
Joined: Mon Jan 08, 2018 4:54 pm
Contact:

Re: Staging Blueprint Subsets

Post by Sad_Brother »

So next priority order would become active only if previous priority orders are all taken. It could work without much problems.
Logistic robots have some order priority, so Construction robots can as well.

Koub
Global Moderator
Global Moderator
Posts: 7200
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: Staging Blueprint Subsets

Post by Koub »

What we need in vanilla is an implementation of https://mods.factorio.com/mod/recursive-blueprints functionality.
Koub - Please consider English is not my native language.

IOfactor
Manual Inserter
Manual Inserter
Posts: 4
Joined: Tue Feb 05, 2019 5:21 pm
Contact:

Re: Staging Blueprint Subsets

Post by IOfactor »

Just a quick note, that today's Friday Facts (here) mentions allowing blueprint books inside books, "like a directory structure." That helps a lot with the organization problem, where the number of blueprints I'm saving is growing rapidly. I still like the idea of a blueprint in stages, that the bots would prioritize as they build, but the blueprint directory structure makes it much easier to do that kind of thing myself. Recursive blueprints would definitely do the trick as well... I will probably try it when I'm done playing around in vanilla.

Post Reply

Return to “Ideas and Suggestions”