Patterning Blueprints

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Darinth
Filter Inserter
Filter Inserter
Posts: 323
Joined: Wed Oct 17, 2018 12:17 pm
Contact:

Patterning Blueprints

Post by Darinth »

TL;DR
Blueprints that utilize patterns such as various forms of tiling or 9-slice scaling to scale to any size.

What ?
There are a number of different patterns that could be useful in combinations with blueprints. Pathing, 9-slice, simple repeatable tiling & various geometric patterns are all useful for different structures.
A 9-slice could be used to place a wall pattern complete with turrets, belts and inserters to feed them, and power for them (along with optional fills for various types of bases)
Pathing could allow you to create your own sets of train tracks to interconnect which could then be utilized almost identically to the rail planner to create sets of tracks that are properly connected.
Various geometric patterns could allow the creation of powerful tools for filling large areas with structures (such as sets of boilers and steam engines scaled to an arbitrary size by flipping every other row with belts and powerlines running at appropriate locations)
Why ?
In exactly zero other games that I'm aware of would this be of any value. But this is par for the course in factorio. You progressively learn more advanced techniques for doing new things that take longer and are more complex to setup, but scale better. The system would have to be complex, with each pattern blueprint effectively having multiple configurable sub-blueprints that are used for the various pieces that have to be carefully configured to make sure they exactly match the pattern available, but incredibly powerful once done.
Example
The following blueprints could be setup in a 9-slice format such that you could arrive at a resource patch, click at a starting corner with a blueprint and drag to an ending corner and have a nearly complete base ready for automated deployment by construction bots.

Corner Piece:
CornerPiece.PNG
CornerPiece.PNG (145.76 KiB) Viewed 7198 times
Settings: Default alignment and -4 padding.
Note: -4 padding causes side pieces to overlap the corners, which they're specifically designed to do.

Side Piece:
Side Piece.PNG
Side Piece.PNG (45.48 KiB) Viewed 7198 times
Settings: Default alignment, 2 tiles internal padding, no side padding.

Fill Piece:
Fill Piece.PNG
Fill Piece.PNG (116.95 KiB) Viewed 7198 times
Settings: Resources required. Top-Left alignment, -1 side padding (causes a 1-tile overlap, which means power poles are shared), no top/bottom padding.

Final Base:
Final Base.PNG
Final Base.PNG (1.85 MiB) Viewed 7198 times
Note that because the fill piece is set to "resources required" it only attempts to place the fill piece where it would cover resources and leaves the rest of the area unfilled.

After that, some very minor tweaks to add in a train station, an ammo box, power and you're good to go(I'm certain I'm missing something important).
Final base w/train station, running ammo belt, etc...:
Final train station.PNG
Final train station.PNG (1.69 MiB) Viewed 7198 times
Mining bases could be setup in a matter of a few moments. You'd also be provided with a precise count of resources you'd need to finish construction via a simple popup that'd show up as you're dragging to make the base. After a couple of such deployments, you'd have a really good idea of what resources a typical base needs. (how many walls, turrets, etc....)
Sad_Brother
Fast Inserter
Fast Inserter
Posts: 209
Joined: Mon Jan 08, 2018 4:54 pm
Contact:

Re: Patterning Blueprints

Post by Sad_Brother »

Good idea, but it has little problems.
1.While normal blueprint use point and click technique, this random size would need to designate corners. You can partially solve it by using Plus and Minus keys to increase/decrease size, but you need two dimensions.
2.In order to make such blueprint you need to build all nine part, select it whole be clear blueprint and split it to nine tiles "inside blueprint tool".
3.Do you want the same blueprint with advanced tech or new tool?
Darinth
Filter Inserter
Filter Inserter
Posts: 323
Joined: Wed Oct 17, 2018 12:17 pm
Contact:

Re: Patterning Blueprints

Post by Darinth »

1. Arbitrary sizes are resolved by click and drag operations. Normally this would resolve in placing the same item multiple times, but for the purposes of this tool it'd designate the area to be covered.
2. My thought process was actually to create 'sub blueprints', which would allow for building each the the components separately and then place them within another blueprint or to be able to select blueprint components in the blueprint editor and then select what to copy for each one. There's a few of alternatives I can think of however.
3. I'm not actually certain what you're asking here? I'd like to see a new kind of blueprint effectively. Rather than making a single, preset structure it follows a pattern to create one of arbitrary size or shape.
Sad_Brother
Fast Inserter
Fast Inserter
Posts: 209
Joined: Mon Jan 08, 2018 4:54 pm
Contact:

Re: Patterning Blueprints

Post by Sad_Brother »

1.This means you need new type of blueprint, able to drag&drop select with proper vertical and horizontal increments.
2.Sub blueprints will not allow you to place entity on the line between tiles. Process of marking tiles of the whole blueprint can ensure proper tile sizes and needed checks.
3.You answered.
Darinth
Filter Inserter
Filter Inserter
Posts: 323
Joined: Wed Oct 17, 2018 12:17 pm
Contact:

Re: Patterning Blueprints

Post by Darinth »

1. Yup. That's exactly what I'd expect would be necessary. I think it's worth it, but I don't know enough about factorio's codebase to know exactly how messy this would be. :)
2. This confuses me. You mean placing entities in the space between the blueprints? There shouldn't be space between blueprints, unless side padding is specified for the corner pieces. The provided example actually utilizes an overlap functionality to place a blueprint where the side pieces overlap the corners. I actually modified my design for these blueprints after I reposted it so that wasn't necessary, but is still useful.

Is there something specifically that you can use for an example of what would or wouldn't function given different methods?
Sad_Brother
Fast Inserter
Fast Inserter
Posts: 209
Joined: Mon Jan 08, 2018 4:54 pm
Contact:

Re: Patterning Blueprints

Post by Sad_Brother »

Hm.
Your corner tile is 10x10, side tile is 6x6, fill tile is 7x7 and you want it overlap with poles. How you want to explain it to your blueprint? "Here is side and here is corner, fill it somehow" ? What size selection should it allow you to select? Any? Even 2x3? 23x28?
Darinth
Filter Inserter
Filter Inserter
Posts: 323
Joined: Wed Oct 17, 2018 12:17 pm
Contact:

Re: Patterning Blueprints

Post by Darinth »

In the end, there are a number of ways to do this.

In the example I provided above, I used manually specified properties (such as padding and alignment) on different components. It could also be done visually in some fashion to specify components designed to overlap. Internal area could be calculated either base on the size of the corner pieces or the size of the side pieces. Either would yield a functional approach. In the example I provided, I used the size of the side pieces (which you'll notice I specify an internal padding amount of 2, to make sure there's a bit of a gap between the sides and the internal pieces) but I'm not actually certain that's the best approach. Either way works and could be used to produce an identical setup as long as you allow padding amounts to be specified along with negative numbers to force adjustments either way.

As for size... any size. That's the whole point. Create a tiny outpost using just the corner pieces. Create a massive mining base by dragging over an entire patch of ore. Square or rectangle. The whole point of using the patterns is that it can go to any size from tiny to massive. I could roll up to an ore patch, select the blueprint that I used as an example, and 5 seconds later have the entire patch successfully covered with ghost entities with all of the ore covered in drills, belts to transport the ore, exterior walls, turrets, inserters, an ammo belt, and power. Don't get me wrong, it would take a bit for someone who's not familiar with such a system to actually get to understanding it... but that's part of the fun of factorio. It's all about learning systems that are more complex to initially setup... but once you have them setup are incredibly powerful. This just seems like the natural evolution of that process.
Sad_Brother
Fast Inserter
Fast Inserter
Posts: 209
Joined: Mon Jan 08, 2018 4:54 pm
Contact:

Re: Patterning Blueprints

Post by Sad_Brother »

I cannot understand your imaginations in details and think it is overcomplicated. You did not describe algorithm and I think it would be problematic.
In your example middle part not filled with drills by pattern definitely.
Imagine rectangular region, divided vertically and horizontally on three parts, where middle part can be repeated multiple times. Divided vertically and horizontally it will have nine tiles, easily understandable by players and computers. You would see result while still selecting region and even cancel if you do not like it. I think this way is better.
Néomorphos
Inserter
Inserter
Posts: 42
Joined: Sun Oct 28, 2018 3:23 pm
Contact:

Re: Patterning Blueprints

Post by Néomorphos »

nice idea.
HYPPS
Inserter
Inserter
Posts: 33
Joined: Mon Jun 18, 2018 6:40 am
Contact:

Re: Patterning Blueprints

Post by HYPPS »

Have you seen https://autotorio.com/outpost ? It's pretty much does what you're trying to do but its got customisation. You blueprint two walls(on opposite diagonal sides of an ore patch) and a piece of rail and then you paste the string into the website, change a few settings, type of belts or bot based, amount of wall defences, inserter or stack etc and it outputs a blueprint string you can paste into the game and there you have a custom sized outpost for that ore patch. It sometimes doesn't work with lights and radar, in which case usually increasing the spacing size works. Hopefully you can put this to use
Darinth
Filter Inserter
Filter Inserter
Posts: 323
Joined: Wed Oct 17, 2018 12:17 pm
Contact:

Re: Patterning Blueprints

Post by Darinth »

HYPPS wrote: Fri Mar 01, 2019 3:03 am Have you seen https://autotorio.com/outpost ? It's pretty much does what you're trying to do but its got customisation. You blueprint two walls(on opposite diagonal sides of an ore patch) and a piece of rail and then you paste the string into the website, change a few settings, type of belts or bot based, amount of wall defences, inserter or stack etc and it outputs a blueprint string you can paste into the game and there you have a custom sized outpost for that ore patch. It sometimes doesn't work with lights and radar, in which case usually increasing the spacing size works. Hopefully you can put this to use
In fact I had not seen that. That's pretty cool, and very similar to what I'd have been looking for if I was to create an outpost-creation system myself. It's good for ore outposts, though the more general capabilities to follow other patterns would be useful for things like large-scale creation of power generation and the like. Thank you.
Trebor
Filter Inserter
Filter Inserter
Posts: 293
Joined: Sun Apr 30, 2017 1:39 pm
Contact:

Re: Patterning Blueprints

Post by Trebor »

I was building a walled enclosure with alternating gun/laser turrets and small poles. One thing my OCD noticed was the middle would change based on the length of the wall. Also the pattern from the left is different than the pattern from the right. So while this is a neat idea, I could use it for unpatterned things (walls/belts) I wouldn’t be able to use it for blueprints containing items in any pattern.
Darinth
Filter Inserter
Filter Inserter
Posts: 323
Joined: Wed Oct 17, 2018 12:17 pm
Contact:

Re: Patterning Blueprints

Post by Darinth »

Trebor wrote: Sat Mar 02, 2019 4:43 pm I was building a walled enclosure with alternating gun/laser turrets and small poles. One thing my OCD noticed was the middle would change based on the length of the wall. Also the pattern from the left is different than the pattern from the right. So while this is a neat idea, I could use it for unpatterned things (walls/belts) I wouldn’t be able to use it for blueprints containing items in any pattern.
I'm uncertain what you're referring to. Are you talking about the autotorio? A 9-slice system should be able to handle alternating turrets between gun and laser. I'm unsure what you mean about the pattern on the left being different from the pattern on the right or the middle changing pasted on the length of the wall.
Trebor
Filter Inserter
Filter Inserter
Posts: 293
Joined: Sun Apr 30, 2017 1:39 pm
Contact:

Re: Patterning Blueprints

Post by Trebor »

Darinth wrote: Mon Mar 04, 2019 2:17 pm
Trebor wrote: Sat Mar 02, 2019 4:43 pm I was building a walled enclosure with alternating gun/laser turrets and small poles. One thing my OCD noticed was the middle would change based on the length of the wall. Also the pattern from the left is different than the pattern from the right. So while this is a neat idea, I could use it for unpatterned things (walls/belts) I wouldn’t be able to use it for blueprints containing items in any pattern.
I'm uncertain what you're referring to. Are you talking about the autotorio? A 9-slice system should be able to handle alternating turrets between gun and laser. I'm unsure what you mean about the pattern on the left being different from the pattern on the right or the middle changing pasted on the length of the wall.
Here is an example of what I’m talking about (ignoring any size constraints for simplicity).

Lets say the upper left pattern looks like this:

Code: Select all

wwwwwwwwwwwwwwwwwwwwww
w
w         ll     gg
w         ll     gg
w ggp      p     ip
w ggibbbbbbbbbbbbbbbbb
w    b
w    b
And the upper right pattern looks like this:

Code: Select all

wwwwwwwwwwwwwwwwwwwwwwww
                       w
   gg     ll      gg   w
   gg     ll      gg   w
   ip      p      ip   w
bbbbbbbbbbbbbbbbbbb    w
                  b    w
                  b    w
So now the question is what should the center be? If it’s this:

Code: Select all

wwwwwwwwwwwwwwwwwwwwwww

   ll     gg     ll
   ll     gg     ll
    p     ip      p
bbbbbbbbbbbbbbbbbbbbbbb
Then if this is used twice we no longer get alternating turrets but get two laser turrets next to each other.

If it’s this:

Code: Select all

wwwwwwwwwwwwwwww

   ll     gg
   ll     gg
    p     ip
bbbbbbbbbbbbbbbb
Then we get alternating turrets on the left but two gut turrets between the middle pattern and the right.

And finally if it’s this:

Code: Select all

wwwwwwwwwwwwwwwwww

   gg     ll
   gg     ll
   ip      p
bbbbbbbbbbbbbbbbbb
Where the left corner meets the center there are two gun turrets.

There are other cases but I don’t want to hijack your thread talking about ascetics and OCD.

b - belt
g - gun turret
l - laser turret
p - small pole
w - wall
User avatar
nemostein
Long Handed Inserter
Long Handed Inserter
Posts: 56
Joined: Mon Apr 10, 2017 8:39 pm
Contact:

Re: Patterning Blueprints

Post by nemostein »

I really like this idea, but I think is much more a mod's job than vanilla's.
"I'd say the main bottleneck is sleep." - AndrewIRL
Darinth
Filter Inserter
Filter Inserter
Posts: 323
Joined: Wed Oct 17, 2018 12:17 pm
Contact:

Re: Patterning Blueprints

Post by Darinth »

Trebor wrote: Tue Mar 05, 2019 12:05 am
Darinth wrote: Mon Mar 04, 2019 2:17 pm
Trebor wrote: Sat Mar 02, 2019 4:43 pm I was building a walled enclosure with alternating gun/laser turrets and small poles. One thing my OCD noticed was the middle would change based on the length of the wall. Also the pattern from the left is different than the pattern from the right. So while this is a neat idea, I could use it for unpatterned things (walls/belts) I wouldn’t be able to use it for blueprints containing items in any pattern.
I'm uncertain what you're referring to. Are you talking about the autotorio? A 9-slice system should be able to handle alternating turrets between gun and laser. I'm unsure what you mean about the pattern on the left being different from the pattern on the right or the middle changing pasted on the length of the wall.
Here is an example of what I’m talking about (ignoring any size constraints for simplicity).

Lets say the upper left pattern looks like this:

Code: Select all

wwwwwwwwwwwwwwwwwwwwww
w
w         ll     gg
w         ll     gg
w ggp      p     ip
w ggibbbbbbbbbbbbbbbbb
w    b
w    b
And the upper right pattern looks like this:

Code: Select all

wwwwwwwwwwwwwwwwwwwwwwww
                       w
   gg     ll      gg   w
   gg     ll      gg   w
   ip      p      ip   w
bbbbbbbbbbbbbbbbbbb    w
                  b    w
                  b    w
So now the question is what should the center be? If it’s this:

Code: Select all

wwwwwwwwwwwwwwwwwwwwwww

   ll     gg     ll
   ll     gg     ll
    p     ip      p
bbbbbbbbbbbbbbbbbbbbbbb
Then if this is used twice we no longer get alternating turrets but get two laser turrets next to each other.

If it’s this:

Code: Select all

wwwwwwwwwwwwwwww

   ll     gg
   ll     gg
    p     ip
bbbbbbbbbbbbbbbb
Then we get alternating turrets on the left but two gut turrets between the middle pattern and the right.

And finally if it’s this:

Code: Select all

wwwwwwwwwwwwwwwwww

   gg     ll
   gg     ll
   ip      p
bbbbbbbbbbbbbbbbbb
Where the left corner meets the center there are two gun turrets.

There are other cases but I don’t want to hijack your thread talking about ascetics and OCD.

b - belt
g - gun turret
l - laser turret
p - small pole
w - wall
But ascetics and OCD are an important part of how we setup our builds! :)

So, this boils down to learning how to best utilize the system. In this case, it's a matter of realizing that your corner pieces should all be 90 degree rotated version of the same thing (and in fact, the game would handle this for us. We just need to provide one corner, and it'll rotate it to place it in all of the other corners.

So your upper left pattern would contain:

Code: Select all

wwwwwwwwwwwwww
w
w         ll     
w         ll     
w ggp      p     
w ggibbbbbbbbb
w    b
w    b
Notice, it has exactly one gun and one laser turret. The pattern is automatically rotated 90 degrees to be fit into the upper right so you end up with

Code: Select all

wwwwwwww
  gg   w
  gg   w
  ip   w
bbb    w
  b    w
  b    w
  b    w
  b ll w
  bpll w
  b    w
  b    w
and you side piece ends up being

Code: Select all

wwwwwwwwwwwwwwwwww

   gg     ll
   gg     ll
   ip      p
bbbbbbbbbbbbbbbbbb
All 3 of these pieces utilize one gun turret followed by one laser turret which allows the pattern to continue along the entire outside edge. With proper spacing all of it ends up perfectly matching. :)
nemostein wrote: Tue Mar 05, 2019 3:38 am I really like this idea, but I think is much more a mod's job than vanilla's.
I mean... as a mod would be awesome as well, but I feel that it fits in really well with the vanilla ascetic of 'learn more complicated system that automates a process, get a faster-more streamlined version'.
Post Reply

Return to “Ideas and Suggestions”