Blueprint-Mirroring, BP-Shifting, -Programming, -Iteration, -Editing, Ornaments and Recursion

This are only lists of links to other suggestions!
Search, if your idea has been already suggested.
Post Reply
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 10467
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Blueprint-Mirroring, BP-Shifting, -Programming, -Iteration, -Editing, Ornaments and Recursion

Post by ssilk » Sun Nov 20, 2016 11:53 pm

"Simply" mirroring of blueprints is a good idea. But imagine, how much more you can do, if you don't need a blueprint to create mirrored factories.

This link collection tries to widen the view into that direction.

[This is also a side-task of
viewtopic.php?f=80&t=4682 Planning (Signs, Cloning, Ghosts, Blueprinting and more...)
and
viewtopic.php?f=80&t=27054 Self Replicating (e. g. with Blueprints) ]


See also: Symmetry mode (see also viewtopic.php?f=6&t=3369)
The idea of that is, that you can built everything on a virtual mirror.

Mirroring of a blueprint is then just a special case!


Rotation, Mirroring, Shift, Iteration
Imagine a "virtual mirror", that can do more than just mirroring, while you are working (also rotate and shift). And when in this mode It would forbid placing train stops or signals or any "not mirrorable" construction.

Basics abilities of that virtual mirror:
<<< Rotation >>>
of blueprints is already implemented. Since 0.15 in both directions.

<<< Mirroring >>>
is more difficult, cause there is a dependency of viewtopic.php?f=80&t=15472 Swap input for fluids / Automatic input selection for fluids
bobingabout wrote:There are a few instances which make this a bad idea.
Factories with fluids:
currently, all factories which have more than one fluid input, or output have them hard wired to a specific pipe, if you flip this, the pipes will be swapped around. This is probably okay if your blueprint only had that factory, but a bad idea if it's a factory chain, because fluids will go the wrong way.
Train stations:
Train signals and stations function a certain way by being on a certain side of the track. if you flipped a train station, not only will the station itself be on the wrong side of the track, meaning the train will want to approach from the opposite direction, and not stop where your inserters are, but the signals will be backwards too, making the train want to go the opposite track down the line.
I'm sure there are other reasons too, but these are the most obvious.
So mirroring an existing blueprint is not in all cases working.
The exceptions depend on what you want to do. Mirroring is for example currently not possible with chemical plant etc. Railway makes several problems, but there could be also clever algorithms, which try to place signals/stops on the other side. Shift of odd values is for rails currently not possible. And so on, and so on.
Image

<<< Shift >>>
means that the mirror can place items shifted by X/Y coordinates. Sounds a bit wired, but - well - this is a really simple operation in Factorio.

<<< Programming and Iterating >>>
is this: The above operations of this "mirror" (rotation, mirroring, shifting) can be repeated. Several times and in different order.
That is useful cause you don't need to repeat yourself. It doesn't mean, that you really need to "write a program".
All you need to say is: Rotate left, shift to west, then rotate right and shift to west again. Then repeat.
Image


Editing

Edit blueprint and show me, how it will look, when this blueprint is repeated with the above rules.

Or create the rules of the mirror.


Ornaments and Recursion

Well, I admit this is my hobbyhorse. :) It would be typical Factorio, if implemented. The idea came from http://www.science-to-touch.com/en/iOrnament.html . I can really recommend this app, cause it is really good and explains in detail how ornaments are constructed and how the math behind them works.

In Factorio it is of course not possible to use all 17 wallpaper groups of ornaments, but I think 10 or so should be possible.

Examples:
Image Image Image Image Image Image Image

etc....


What you can do with that?
Endless possiilities. 8-) :lol:




Suggestions

viewtopic.php?f=6&t=2198 Recursive use of Blueprint
viewtopic.php?f=6&t=2793 F to flip blueprint
viewtopic.php?f=6&t=3369 Symmetry mode
viewtopic.php?f=6&t=6162 Blueprints: Mirror/flip
viewtopic.php?f=6&t=13132 Easy placement patterns
viewtopic.php?f=6&t=20111 Hold CTRL to mirror your blueprint.
viewtopic.php?f=6&t=21792 Mirroring Blueprints / Artifact Alternative
viewtopic.php?f=6&t=25876 More Blueprint functions
viewtopic.php?f=6&t=29941 Blueprint mirroring via shift-R
viewtopic.php?f=6&t=37481 Mirroring blueprints
viewtopic.php?f=6&t=43982 blueprint configurable alignment
viewtopic.php?f=6&t=44725 Mirror blueprints horizontally or vertically


Related

viewtopic.php?f=5&t=1575 Thoughts about blueprints
viewtopic.php?f=6&t=1759 Game Of Live: Biomes/Land generation/changes
viewtopic.php?f=8&t=2569&start=20 About Ornaments
viewtopic.php?f=80&t=4682 Planing (Signs, Cloning, Ghosts, Blueprinting and further...
viewtopic.php?f=6&t=8024 Swap input on chemical factory ☸
viewtopic.php?f=6&t=17897 Manual Blueprint Filling
viewtopic.php?f=80&t=15472 Swap input for fluids / Automatic input selection for fluids
viewtopic.php?f=80&t=27054 Self Replicating (e. g. with Blueprints)
viewtopic.php?f=80&t=37517 Blueprint-Mirroring, BP-Shifting, -Programming, -Iteration, -Editing, Ornaments and Recursion
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

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

Re: Blueprint-Mirroring, BP-Shifting, -Programming, -Iteration, -Editing, Ornaments and Recursion

Post by ssilk » Mon Nov 21, 2016 1:38 am

Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

HYPPS
Inserter
Inserter
Posts: 30
Joined: Mon Jun 18, 2018 6:40 am
Contact:

Re: Blueprint-Mirroring, BP-Shifting, -Programming, -Iteration, -Editing, Ornaments and Recursion

Post by HYPPS » Wed Feb 27, 2019 5:01 am

Bump, I would of thought with upgrade blueprint planner in 0.17 we would get a flip/mirror function. I know it breaks down in some cases like oil but surely if you're at that stage you can still reconfigure a few input/output pipes, especially now that fluid mixing is impossible. Similarly with rail signals and train stations maybe have them be directional like belts, you can rotate which way they signal trains, would also make upgrade sense with upgrade planner to modify their direction therefore unifying the LHD and RHD blueprints to be interchangeable. It will be extremely useful for most use cases even without any modifications, a warning for items that cannot be flipped properly will be enough. Our world is left and right mirror symmetry, chiral molecules. I do hope to see this in vanilla instead of 3rd party website. Thoughts?

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

Re: Blueprint-Mirroring, BP-Shifting, -Programming, -Iteration, -Editing, Ornaments and Recursion

Post by Darinth » Wed Feb 27, 2019 1:28 pm

viewtopic.php?f=6&t=63004&p=383859

My own topic on using ornaments and other patterns for the construction of more complex blueprints.

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

Re: Blueprint-Mirroring, BP-Shifting, -Programming, -Iteration, -Editing, Ornaments and Recursion

Post by ssilk » Mon Mar 04, 2019 12:21 am

My current thought on that is, that this feature should not be used for blueprints only.
It would be super useful to create an operation just by using some tool, for example by setting up an "mirror device" on map, create the operation on that and then any action you make as player is mirrored within that device.
This solves also a lot of problems with mirroring impossible things, like pipes and trains, cause you can place only one item after another.

These "mirror-rules" can be turned on and off, can be saved and loaded like blueprints.

Operations can be something like:
- print, shift 1 left, print, shift 1 left, print, shift 1 lift, print, stop: Draw 4 belts at once.
- if you draw rails in a row then every 14 rail do: print a pole 3 left of the rail
- print, then rotate by 90 degrees, go 100 tiles down, print, rotate 90 degrees, got 100 tiles left, print, rotate 90 degrees, go 100 tiles up.
- place some "buoy" and any operation you do is rotationally symmetrically "mirrored" on that.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

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

Re: Blueprint-Mirroring, BP-Shifting, -Programming, -Iteration, -Editing, Ornaments and Recursion

Post by Darinth » Mon Mar 04, 2019 4:43 pm

ssilk wrote:
Mon Mar 04, 2019 12:21 am
My current thought on that is, that this feature should not be used for blueprints only.
It would be super useful to create an operation just by using some tool, for example by setting up an "mirror device" on map, create the operation on that and then any action you make as player is mirrored within that device.
This solves also a lot of problems with mirroring impossible things, like pipes and trains, cause you can place only one item after another.

These "mirror-rules" can be turned on and off, can be saved and loaded like blueprints.

Operations can be something like:
- print, shift 1 left, print, shift 1 left, print, shift 1 lift, print, stop: Draw 4 belts at once.
- if you draw rails in a row then every 14 rail do: print a pole 3 left of the rail
- print, then rotate by 90 degrees, go 100 tiles down, print, rotate 90 degrees, got 100 tiles left, print, rotate 90 degrees, go 100 tiles up.
- place some "buoy" and any operation you do is rotationally symmetrically "mirrored" on that.
I have to acknowledge I'm having a little trouble following your line of thought/what you're advocating for. The last part makes it sound like you want a device capable of utilizing a script to perform construction. That sounds awesome honestly, but isn't necessarily something I'd want to see in vanilla.

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

Re: Blueprint-Mirroring, BP-Shifting, -Programming, -Iteration, -Editing, Ornaments and Recursion

Post by ssilk » Wed Mar 06, 2019 8:39 am

Yeah, I’m sorry that my post is so general, that even me has problems to understand it without context. :) so i try to make some examples.

Case 1: player wants to create some kind of “castle”, some point-symmetric construction.
Player sets the “center” of his construction with the ornament-tool and the operation “point-symmetric, 90 degree right rotate”. (When using it a GUI opens, where he can choose that). What this does is, that from now on any build item is placed at 4 different positions at the same time, until player uses the ornament-tool to cancel that.

Case 2: Player has a construction that I want to repeat, for example a semelting setup of 4 smelters and wants to repeat it 5 times to the right.
Player marks his construction, then he uses the ornament-tool. A GUI opens. The gui reflects about that options of what can be done with ornaments. See first post. For example it says: “algorithm: repeat, count: 8, directions: north, east, south, west”. And some more options of course, depends on algorithm. On screen the structure is displayed as kind of blueprint, which fills a big part of the screen. Player changes that to “direction: east, count: 5”, then he presses “print” button in GUI and a blueprint will be placed. Or the items are directly placed from player inventory....

Case 3: players wants to vertically mirror a blueprint.
Player uses the ornament tool on a blueprint. GUI opens and displays only operations, that make here sense. If an operation is not possible (cause of incompatible buildings like refinery/stations) it warns the player but still allows it.

Hope that makes everything more clear now. :)
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

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

Re: Blueprint-Mirroring, BP-Shifting, -Programming, -Iteration, -Editing, Ornaments and Recursion

Post by Darinth » Wed Mar 06, 2019 2:26 pm

That makes a lot more sense! Thank you.

In a lot of cases it'd probably also be nice to be able to apply and save these directly to a blueprint. So if I have a blueprint that contains a tileable smeltery setup, it'd be nice to be able to set that blueprint to us an x-by-y array of these smelteries for easy placement. Or better yet, being able to just click and drag over an area with a blueprint that has a specified ornament and have it fill that area with as many repetitions of the pattern as can be placed. I think this would generally be a more flexible and generalized method for your case 2.

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

Re: Blueprint-Mirroring, BP-Shifting, -Programming, -Iteration, -Editing, Ornaments and Recursion

Post by ssilk » Sun Mar 10, 2019 1:40 pm

What I just saw is that for case 1 a mod already exists: https://mods.factorio.com/mod/entity-symmetry

Sadly for 0.16.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Post Reply

Return to “Frequently Suggested / Link Collections”

Who is online

Users browsing this forum: No registered users