New Blueprints - Better Symmetry Point

Suggestions that have been added to the game.

Moderator: ickputzdirwech

User avatar
DaggerBall
Manual Inserter
Manual Inserter
Posts: 4
Joined: Sat Apr 06, 2019 9:34 pm
Contact:

Re: New Blueprints - Better Symmetry Point

Post by DaggerBall »

xykite wrote:
Mon Aug 03, 2020 7:11 am
but when a rotation acts on the set of offset classes, (0,1) gets swapped with (1,0)
The rail-containing blueprint with offset of (0, 1), as well as non square ones, will never be fully rotationally symmetrical. So there is no need to change it's class - invalid cases can be just skipped, so you can only turn it by 180°. However there may be some edge cases indeed.
DaggerBall wrote:
Mon Aug 03, 2020 1:10 am
Are you proposing a global offset, or a per-blueprint offset?
A per-blueprint one. Global will only flip "allowed" and "restricted".
Per-book case looks a bit overcomplicated, and after all not every blueprint is actually placed in the book. I make my blueprints usung the hotbar key, so they are "in hand" originally. Blueprints can also be tranferred from one book to another and so on.

Using the original location as the adjustmen point should work fine in the single-player, but can indeed become problematic in the multiplayer.
So how about another way - use current behaviour, but add an "offset anchor". Show the "center map" in the blueprint GUI (intersecting lines like in the picture above, with some flag in the center) and allow to drag it (e.g. by Shift + RMB). Unchanged anchor will automatically align to the corner of the tile rectangle
In that way tile grid alignment will be altered only when the player needs or wants it to be altered, and will remain otherwise. It should make things easier in the multiplayer.

User avatar
NotRexButCaesar
Smart Inserter
Smart Inserter
Posts: 1133
Joined: Sun Feb 16, 2020 12:47 am
Contact:

Re: New Blueprints - Better Symmetry Point

Post by NotRexButCaesar »

DaggerBall wrote:
Mon Aug 03, 2020 1:10 am
Nothing violates the "rails can't be offset by 1 tile" rule.
Blueprints will not change their "offset class" when rotated.

The problem is simply this:
Factorio blueprint tiling problem.png

Both blueprints are perfectly tileable. They are essentially the same. The only difference is that the second one is rotatable, and the first one isn't.
Currently blueprint tile grid is adjusted to the map center. In other words you should be able to place your blueprint so that the corner of the blueprint tile (green square) will match the center of the map (intersection of bold black lines).
And you obviously can't move the second blueprint to match the map center, because, yes, rails can't be offset by 1 tile. So you will not be permitted to create such blueprint. That is the problem. And that is why it can be easily fixed by adding some controllable offset to the blueprint tile grid.
This is what I was thinking, but I didn't know how to convey it. I guess a picture is worth a thousand words.
—Crevez, chiens, si vous n'étes pas contents!

Qon
Smart Inserter
Smart Inserter
Posts: 2164
Joined: Thu Mar 17, 2016 6:27 am
Contact:

Re: New Blueprints - Better Symmetry Point

Post by Qon »

DaggerBall wrote:
Mon Aug 03, 2020 1:10 am
And you obviously can't move the second blueprint to match the map center, because, yes, rails can't be offset by 1 tile. So you will not be permitted to create such blueprint. That is the problem. And that is why it can be easily fixed by adding some controllable offset to the blueprint tile grid.
Why do you want blueprints that can't be placed in the world?
My mods: Capsule Ammo | HandyHands - Automatic handcrafting | ChunkyChunks - Configurable Gridlines
Some other creations: Combinassembly Language GitHub w instructions and link to run it in your browser | 0~drain Laser

xykite
Inserter
Inserter
Posts: 25
Joined: Thu Jul 30, 2020 9:39 pm
Contact:

Re: New Blueprints - Better Symmetry Point

Post by xykite »

DaggerBall wrote:
Mon Aug 03, 2020 12:57 pm
So how about another way - use current behaviour, but add an "offset anchor". Show the "center map" in the blueprint GUI (intersecting lines like in the picture above, with some flag in the center) and allow to drag it (e.g. by Shift + RMB). Unchanged anchor will automatically align to the corner of the tile rectangle
In that way tile grid alignment will be altered only when the player needs or wants it to be altered, and will remain otherwise. It should make things easier in the multiplayer.
I like your idea, though - if I understand correctly - if you have multiple compatible blueprints, won't you have to align them individually per-game? One advantage of the current way the game works is that all blueprints of the same size are aligned with each other.

My ideal solution would be as follows, combining both our ideas:
  1. The 'just make it work' flag on blueprint books, called something like "Align blueprints of the same size". It won't enforce the same grid size for every blueprint in the book like I originally suggested (looking at one of my train sets, I have some 98x98 and some 98x196). When you set this flag, the first blueprint per grid size in the book gets a completely free choice of reference point.
  2. Blueprints are 'anchor on first place' per grid size per 'flagged' blueprint book; that is, the first time you place one it can go anywhere on the map (subject to rail restrictions). Any blueprint not contained in a 'flagged' blueprint book is deemed to be in a conceptual single global blueprint book whose alignment falls back to the game's current behaviour (i.e. sensible choices per grid size to make rails work). Once you've placed a blueprint in such a flagged blueprint book, future such blueprint placements of the same grid size in the same book are aligned to the first one.
  3. Some keyboard shortcut that allows you to make a free choice of blueprint placement (i.e. update the anchor for a given grid size in a given 'flagged' blueprint book)
I've probably made this sound more complicated than it is; I think it hides the complexities of reference point alignment while opening up arbitrary centres of rotation for players who want them.

Moving blueprints between books would work fine, but it won't do anything for you if your blueprints are "in hand" (unless the inventory also has a "Align blueprints of the same size" flag and is considered to be a blueprint book).

LFarquaad
Burner Inserter
Burner Inserter
Posts: 17
Joined: Sun Mar 10, 2019 2:24 pm
Contact:

Re: New Blueprints - Better Symmetry Point

Post by LFarquaad »

DaggerBall wrote:
Mon Aug 03, 2020 12:57 pm
So how about another way - use current behaviour, but add an "offset anchor". Show the "center map" in the blueprint GUI (intersecting lines like in the picture above, with some flag in the center) and allow to drag it (e.g. by Shift + RMB). Unchanged anchor will automatically align to the corner of the tile rectangle
In that way tile grid alignment will be altered only when the player needs or wants it to be altered, and will remain otherwise. It should make things easier in the multiplayer.
I was checking this post initially because my city blocks are not aligned with (0,0), so the current solution does not allow me to make rotatable blueprints. The idea of having a dedicated offset anchor seems nice as it remains simple (to understand but also, I assume, to implement) while it should cover all usecases.

Fortunately for me, my city blocks are aligned on chunks, so I could configure the blueprints that needed rotation to have a grid size of 32×32 (instead of the required 160×160), which is better than nothing.
xykite wrote:
Tue Aug 04, 2020 6:20 pm
I like your idea, though - if I understand correctly - if you have multiple compatible blueprints, won't you have to align them individually per-game? One advantage of the current way the game works is that all blueprints of the same size are aligned with each other.
Currently, blueprints of the same size are aligned only through the flag position, and they can be rotated properly only if their grid is aligned with (0,0). This is quite a big restriction, and any solution will require some per-game setting. I suppose it would be possible to have something global (like your proposal of having something shared within a blueprint book) but to keep things simple, I think it will have to be per-game, per-blueprint.

Considering the duration of a game, I guess it is not a big deal if one has to take even 10 minutes to reconfigure his game blueprints but it is true that it is annoying for people who would like to use global blueprint library only. In that case, I would think the best is to make sure that all games have their grid aligned.

User avatar
5thHorseman
Smart Inserter
Smart Inserter
Posts: 1193
Joined: Fri Jun 10, 2016 11:21 pm
Contact:

Re: New Blueprints - Better Symmetry Point

Post by 5thHorseman »

After much trial and error and thought, I've come to the conclusion that the big problem isn't that you can't make blueprints of any size and tiling that you desire, and it's not that blueprints with trains and blueprints without trains have different tilings.

The problem is that the game doesn't explain WHY you're having trouble, and it doesn't effectively communicate during the process of sizing and centering your blueprints what the results of rotating will be.

It seems that both of these would be fixed by replacing the little flag with a crosshair, the size of the tile square, that splits that square (or rectangle but nobody's making those for tileable, rotatable train tracks) into 4 quadrants. Immediately around that crosshair should be four 2x2 squares that represent places you could put train tracks if you happen to have a blueprint that will tile that way, or a single 2x2 square right on the crosshair that represents that a train track can be placed right on it.

That, plus some sort of explanation of what all the above are, seems like all I personally would have needed to understand this in about 5 seconds.

User avatar
NotRexButCaesar
Smart Inserter
Smart Inserter
Posts: 1133
Joined: Sun Feb 16, 2020 12:47 am
Contact:

Re: New Blueprints - Better Symmetry Point

Post by NotRexButCaesar »

5thHorseman wrote:
Wed Aug 05, 2020 2:51 am
After much trial and error and thought, I've come to the conclusion that the big problem isn't that you can't make blueprints of any size and tiling that you desire, and it's not that blueprints with trains and blueprints without trains have different tilings.

The problem is that the game doesn't explain WHY you're having trouble, and it doesn't effectively communicate during the process of sizing and centering your blueprints what the results of rotating will be.

It seems that both of these would be fixed by replacing the little flag with a crosshair, the size of the tile square, that splits that square (or rectangle but nobody's making those for tileable, rotatable train tracks) into 4 quadrants. Immediately around that crosshair should be four 2x2 squares that represent places you could put train tracks if you happen to have a blueprint that will tile that way, or a single 2x2 square right on the crosshair that represents that a train track can be placed right on it.

That, plus some sort of explanation of what all the above are, seems like all I personally would have needed to understand this in about 5 seconds.
A crosshairs is much nicer than a square, but that still doesn’t allow for rotationally symmetrical chunk aligned blueprints.
—Crevez, chiens, si vous n'étes pas contents!

User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1507
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: New Blueprints - Better Symmetry Point

Post by ptx0 »

5thHorseman wrote:
Wed Aug 05, 2020 2:51 am
[bunch of confusing text]
That, plus some sort of explanation of what all the above are, seems like all I personally would have needed to understand this in about 5 seconds.
well, that all sounds pretty confusing to me.

User avatar
NotRexButCaesar
Smart Inserter
Smart Inserter
Posts: 1133
Joined: Sun Feb 16, 2020 12:47 am
Contact:

Re: New Blueprints - Better Symmetry Point

Post by NotRexButCaesar »

ptx0 wrote:
Wed Aug 05, 2020 5:32 pm
5thHorseman wrote:
Wed Aug 05, 2020 2:51 am
[bunch of confusing text]
That, plus some sort of explanation of what all the above are, seems like all I personally would have needed to understand this in about 5 seconds.
well, that all sounds pretty confusing to me.
just look at the pictures
—Crevez, chiens, si vous n'étes pas contents!

User avatar
5thHorseman
Smart Inserter
Smart Inserter
Posts: 1193
Joined: Fri Jun 10, 2016 11:21 pm
Contact:

Re: New Blueprints - Better Symmetry Point

Post by 5thHorseman »

ptx0 wrote:
Wed Aug 05, 2020 5:32 pm
5thHorseman wrote:
Wed Aug 05, 2020 2:51 am
[bunch of confusing text]
That, plus some sort of explanation of what all the above are, seems like all I personally would have needed to understand this in about 5 seconds.
well, that all sounds pretty confusing to me.
Do you find the current way to be not confusing?

User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1507
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: New Blueprints - Better Symmetry Point

Post by ptx0 »

5thHorseman wrote:
Wed Aug 05, 2020 10:22 pm
ptx0 wrote:
Wed Aug 05, 2020 5:32 pm
5thHorseman wrote:
Wed Aug 05, 2020 2:51 am
[bunch of confusing text]
That, plus some sort of explanation of what all the above are, seems like all I personally would have needed to understand this in about 5 seconds.
well, that all sounds pretty confusing to me.
Do you find the current way to be not confusing?
right, i updated my rail blueprints and it works very well, but i never try to rotate something that's already symmetrical either, so i guess i'm just a simpler case.

User avatar
5thHorseman
Smart Inserter
Smart Inserter
Posts: 1193
Joined: Fri Jun 10, 2016 11:21 pm
Contact:

Re: New Blueprints - Better Symmetry Point

Post by 5thHorseman »

ptx0 wrote:
Wed Aug 05, 2020 10:37 pm
5thHorseman wrote:
Wed Aug 05, 2020 10:22 pm
ptx0 wrote:
Wed Aug 05, 2020 5:32 pm
well, that all sounds pretty confusing to me.
Do you find the current way to be not confusing?
right, i updated my rail blueprints and it works very well, but i never try to rotate something that's already symmetrical either, so i guess i'm just a simpler case.
Possibly. Not needing something does make seeing why others would want it more difficult.

I did some work this morning on my own rail blueprints and EVEN KNOWING ALL THE RULES it took several iterations to get a decent template, and even after getting the template, I kept making little minor errors that made rotating impossible. I'm sure with time it'll get easier but I'm nearing the point where I won't bother putting the time in.

User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1507
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: New Blueprints - Better Symmetry Point

Post by ptx0 »

even though i don't rotate things, it's not perfect. i don't wanna threadjack, but we can't even zoom in to place the boundaries properly in a super large blueprint. the boundary doesn't even show up in certain positions :roll:

User avatar
NotRexButCaesar
Smart Inserter
Smart Inserter
Posts: 1133
Joined: Sun Feb 16, 2020 12:47 am
Contact:

Re: New Blueprints - Better Symmetry Point

Post by NotRexButCaesar »

ptx0 wrote:
Thu Aug 06, 2020 4:47 am
even though i don't rotate things, it's not perfect. i don't wanna threadjack, but we can't even zoom in to place the boundaries properly in a super large blueprint. the boundary doesn't even show up in certain positions :roll:
Just copy it and make the global grid 1x1 wherever you want the blueprint centered.
—Crevez, chiens, si vous n'étes pas contents!

xykite
Inserter
Inserter
Posts: 25
Joined: Thu Jul 30, 2020 9:39 pm
Contact:

Re: New Blueprints - Better Symmetry Point

Post by xykite »

Yay, specifying an almost-arbitrary centre of rotation is now possible in 1.1 by using an absolute offset. My train set rotates and tiles properly now. Thanks devs :)

Post Reply

Return to “Implemented Suggestions”