Remove or Miniaturize Circuit Networks

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

zebediah49
Fast Inserter
Fast Inserter
Posts: 119
Joined: Fri Jun 17, 2016 8:17 pm
Contact:

Re: Remove or Miniaturize Circuit Networks

Post by zebediah49 »

My thoughts on the matter --

1. IMO, while space is technically unlimited, there is an opportunity cost to it. One has to clear the space, it takes time to walk by it, and if you want to build in the middle of something else, you need to move stuff. Given that I don't see a compelling need to keep the "circuits eat huge amounts of space" mechanic, I am of the opinion that just because the player can use a lot of space for this doesn't mean they should have to.

2. In/Out combinators should stay two tiles. While they occupy more space, the UI benefits of having an "in" square and an "out" square outweigh the costs. The factor of two miniaturization gain is not big enough to justify the decreased clarity.

3. From a technical performance standpoint, a black-box system could allow a kind of compile-down. Once the user is done with that box, the entirety of its logic could be reduced to some compiled logic in a single entity. I have no idea how big combinator logic has to get to start causing performance problems, but this is a potential way of heading that off.

4. The wire thing is a problem. Non-disruptive relocation would be a very nice thing.

5. One interesting way of implementing something like this would be a system inspired by prototyping breadboards. The "black box" consists of a large (infinite?) grid of columns, each of which is a network. Each column is of limited length (breadboards are 5-long; 10 might work for Factorio). This way, the player just places combinators (virtual ones? real ones?) into this grid, which effectively auto-wires them based on the column of the input and output ends. Wire can be used to jump between columns when necessary. This turns the normal wiring system (lots of work, the only challenge is not mis-clicking) into a routing puzzle. Like the full game, you can evade the puzzle by awkwardly connecting things around, or you can put some effort and thought into making an elegant design where things flow in order. Additionally, since the majority of the wiring is just based on relative position, big pieces of a design can be easily copied and/or moved without changing their behavior.

User avatar
siggboy
Filter Inserter
Filter Inserter
Posts: 988
Joined: Tue Mar 29, 2016 11:47 am
Contact:

Re: Remove or Miniaturize Circuit Networks

Post by siggboy »

British_Petroleum wrote:
ssilk wrote:I think needed space is not an issue, cause we really have enough space to create big circuits.
Yes there is plenty of space to build giant combinator setups in your factory, however then if you want to build things either side of this setup, you then have a really long boring work, whereas if you can miniaturize your combinator setup, it is now a short walk :)
I absolutely agree. Space needed for combinators is very much an issue, because in many cases you need them to be close to the things they are controlling. Even though often you could, at least theoretically, work around that by drawing wires along power poles, and then put the combinators away from the machines, this is just extremely inconvenient to setup. It also makes blueprinted designs more difficult (or even totally impractical if they are to be tileable).

Also, and I've said this before, it's aesthetically not quite pleasing to have a jumbled mess of combinators all over the place. They are not like inserters and belts, where you can make nice, OCD-compatible designs, that look symmetrical and move in nice patterns. Combinators, if looked at from the outside, are more or less a random chunk of meaningless symbols and wires. We should be able to put that into a box and out of sight.
Zebediah wrote:The wire thing is a problem. Non-disruptive relocation would be a very nice thing.
Amen to that. It's the biggest quality of life issue with non-trivial combinator designs.
Zebediah wrote:One interesting way of implementing something like this would be a system inspired by prototyping breadboards. [...]
Oh yeah, that's a great suggestion! I'd love to have something like it.
Is your railroad worrying you? Doctor T-Junction recommends: Smart, dynamic train deliveries with combinator Magick

Harkonnen604
Filter Inserter
Filter Inserter
Posts: 285
Joined: Thu Jun 09, 2016 5:56 am
Contact:

Re: Remove or Miniaturize Circuit Networks

Post by Harkonnen604 »

Weird idea has just struck my head. What if we put all those circuits underground? So all combinators are hidden beneath with power poles used as connectors and special hotkey that shows that underground layer and allows editing it (some ghostly combinator contours may exist during Alt mode when normal above-ground mode is on). This way combinators will retain their dimensions and complexity, but they will not interfere with real estate around them.

User avatar
siggboy
Filter Inserter
Filter Inserter
Posts: 988
Joined: Tue Mar 29, 2016 11:47 am
Contact:

Re: Remove or Miniaturize Circuit Networks

Post by siggboy »

That approach seems a lot more difficult to implement than having a blackbox for circuits. If there was a precedent for having underground structures you might be onto something there, but I'm pretty sure they're not going to add underground structures to solve the combinator problem. It also makes no sense from a lore point of view (why are circuits, that are supposed to be tiny, going to be dug underground?).
Is your railroad worrying you? Doctor T-Junction recommends: Smart, dynamic train deliveries with combinator Magick

Harkonnen604
Filter Inserter
Filter Inserter
Posts: 285
Joined: Thu Jun 09, 2016 5:56 am
Contact:

Re: Remove or Miniaturize Circuit Networks

Post by Harkonnen604 »

Actually it should be pretty easy to implement because technically structures may have overlapping bounding boxes, it's just a matter of rendering and user interface to switch those layers. With blackboxes instead it's a very hard implementation because a lot of logics moves from the chunk entities into that blackbox internals. Actually not moves, but copies because inter-blackbox connections would have to obey same rules as connections between sub-combinators inside the blackbox.

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

Re: Remove or Miniaturize Circuit Networks

Post by ssilk »

Hm. Putting all the combinator and wiring stuff into an own game.surface is indeed a good idea, cause it solves some of the problems (I mentioned above) in one simple step.
For example: This viewtopic.php?f=80&t=18153 Information-Layers (for map and/or normal view)
is then just a switch from one surface to the other. No special type of view. :)
In that surface you can also be in good-mode, which means, you have no problems with walking/reaching. And much more of the current issues are then - puff - gone.

But game.surface is yet not ready for this: what's needed is, is the interaction between the surfaces; that you can connect the wires of the control-surface with the real entities in the world-surface. And the game-overview (what you see is what you play), is a problem.
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
siggboy
Filter Inserter
Filter Inserter
Posts: 988
Joined: Tue Mar 29, 2016 11:47 am
Contact:

Re: Remove or Miniaturize Circuit Networks

Post by siggboy »

ssilk wrote:But game.surface is yet not ready for this: what's needed is, is the interaction between the surfaces; that you can connect the wires of the control-surface with the real entities in the world-surface. And the game-overview (what you see is what you play), is a problem.
Well, Factorissimo does it for entire sub-factories. It should be really easy to apply the same principle to circuit boxes, going from Factorissimo, if you can route wires from/to the sub-surface.

So that would certainly be a step in the right direction, as it would provide a blackbox for circuits, but it still does not solve the quality of life issues with the combinators (refactoring, rewiring, less than optimal UI, lack of circuit elements).
Is your railroad worrying you? Doctor T-Junction recommends: Smart, dynamic train deliveries with combinator Magick

Harkonnen604
Filter Inserter
Filter Inserter
Posts: 285
Joined: Thu Jun 09, 2016 5:56 am
Contact:

Re: Remove or Miniaturize Circuit Networks

Post by Harkonnen604 »

Surfacing is another solution, but with many problems like inter-surface connection, and more importantly matching them to each other geometrically, so you're not in totally virtual space. I meant more of a layer type of solution, e.g. like grass with concrete and rails on top. Just allow combinators to overlap anything except other combinators and power poles. Then it just comes to a question of rendering this or that type of objects.

User avatar
hitzu
Filter Inserter
Filter Inserter
Posts: 530
Joined: Tue Sep 09, 2014 5:55 pm
Contact:

Re: Remove or Miniaturize Circuit Networks

Post by hitzu »

My biggest issue with complicated circuit contraptions is the wire mess. I would like a feature that would allow to lay wires in orthogonal directions and bunch them tightly, but yet distinguishable.
examples
Also I modified wires' PNGs for myself in order to make them more visible by increasing their thikness and changing green to yellow which is more noticeable on the grass. I'm considering to change red to cyan or magenta for the same purpose. That would be nice by default.

As for miniaturisation I like the idea of placing contraptions on another surface or in the area like the modular armor interface not just for the sake of miniaturisation, but for the sake of the order. I like how belts and rails interact with each other so you have to place them nicely with the minimum of intersections and conflicting poits. Wires are purely virtual and there are few ways to "brush" them nicely. Players tend to reduce the size of contraptions by placing elements very tightly together and creating the wire mess as a byproduct. So this hugely impact the ability to expalin what's going on to others and the quality of sharing suffers a lot. If the space wouldn't be a problem (in fact this is more a problem of moving across the contraption, providing electricity and connectings far away points) then the readability of those contraptions could be increased drastically.

User avatar
siggboy
Filter Inserter
Filter Inserter
Posts: 988
Joined: Tue Mar 29, 2016 11:47 am
Contact:

Re: Remove or Miniaturize Circuit Networks

Post by siggboy »

hitzu wrote:Also I modified wires' PNGs for myself in order to make them more visible by increasing their thikness and changing green to yellow which is more noticeable on the grass. I'm considering to change red to cyan or magenta for the same purpose.
Can you post your PNGs? I know it's very easy to modify them but maybe you can simply post your files here for us.
Is your railroad worrying you? Doctor T-Junction recommends: Smart, dynamic train deliveries with combinator Magick

User avatar
hitzu
Filter Inserter
Filter Inserter
Posts: 530
Joined: Tue Sep 09, 2014 5:55 pm
Contact:

Re: Remove or Miniaturize Circuit Networks

Post by hitzu »

siggboy wrote:Can you post your PNGs? I know it's very easy to modify them but maybe you can simply post your files here for us.
Sure. They belongs to Factorio/data/core/graphics folder.
wires.zip
(8.82 KiB) Downloaded 100 times
Also I made a little mod for myself to emulate a wire bus as a proof of concept. Basing my poor modding skills it is really simple and is nothing, but a regular power pole, but it is a flat plate on the ground and the wires also lay on the ground therefore this makes less mess with overhangs. It has no supply area field but the maximum wire distance is set by 16 tiles — the half of a big power pole. It costs 5 iron plates and requires no technology. Unfortunately I don't know how to rotate it manually therefore sometime wires swap and cross each other.
WireBus_0.1.0.zip
(3.32 KiB) Downloaded 103 times
If someone is interested in further development, I can make better graphics, but nothing else, since my skills are very limited.
Factorio+0.13.13+2016-08-04+23.55.05.png
Factorio+0.13.13+2016-08-04+23.55.05.png (1.65 MiB) Viewed 6753 times

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

Re: Remove or Miniaturize Circuit Networks

Post by ssilk »

Nice work.

@Harkonnen604 now imagine:
- The cables and poles you see here are just the blended-in layer of the ciruits-surface
- The cables are not hanging, they are in nice orthogonal layout.
- No power wires. Only circuits/cables. The power for the combinators comes from above, like now.
- One button/key-press and all the grass, trees etc. is gone and you see just the wires, connectors (=poles) and combinators, plus shadow-like all the devices, that can be connected.
- You can move around in good mode and do all kind of wiring-stuff.
- You don't need cables. All you need is your mouse to zip the cables out of the end of the poles or combinators.

Image
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
hitzu
Filter Inserter
Filter Inserter
Posts: 530
Joined: Tue Sep 09, 2014 5:55 pm
Contact:

Re: Remove or Miniaturize Circuit Networks

Post by hitzu »

I don't get the magic with wire sprites. Making them even more thik gives a very bad result — the ends are "roaming" around while rotated and vertical wires disappear at all. :(
Factorio+0.13.13+2016-08-05+05.03.16.png
Factorio+0.13.13+2016-08-05+05.03.16.png (311.87 KiB) Viewed 6728 times

TheDagmaar
Long Handed Inserter
Long Handed Inserter
Posts: 57
Joined: Tue Apr 05, 2016 11:54 am
Contact:

Re: Remove or Miniaturize Circuit Networks

Post by TheDagmaar »

Too long, didn't read.
BTW, why don't miniaturize it. Its a good idea. It could be like the power armor, a distributor box, and you put the circuit network items in it.
TheDagmaar Mining Corp.

afk2minute
Fast Inserter
Fast Inserter
Posts: 120
Joined: Wed Aug 10, 2016 2:53 pm
Contact:

Re: Remove or Miniaturize Circuit Networks

Post by afk2minute »

just give us units programmable on C or C++.

Just kidding, but that can be fun.

Zeblote
Filter Inserter
Filter Inserter
Posts: 973
Joined: Fri Oct 31, 2014 11:55 am
Contact:

Re: Remove or Miniaturize Circuit Networks

Post by Zeblote »

afk2minute wrote:just give us units programmable on C or C++.

Just kidding, but that can be fun.
Why kidding? Sounds like a great idea :D

afk2minute
Fast Inserter
Fast Inserter
Posts: 120
Joined: Wed Aug 10, 2016 2:53 pm
Contact:

Re: Remove or Miniaturize Circuit Networks

Post by afk2minute »

too hard to implement...

But let me give you another idea - next gen logic elements that have functions similar to train stations (maybe some more operators, brackets to group them etc). Maybe some set/reset things, clocks, memory cells etc.
That is the step in right direction imo, seems that its not hard to implement but is nice, allows compact usage and is easy to setup.
Sorry if i repeat someone idea didnt read whole topic.

thelordodin
Fast Inserter
Fast Inserter
Posts: 148
Joined: Fri Jan 06, 2017 1:54 am
Contact:

Re: Remove or Miniaturize Circuit Networks

Post by thelordodin »

Mod implementation idea:
"Combinator compiler"
- Make an entity "Black box" 1x1 size.
- When you enter it - go to different surface (alike Factorissimo)
- Build there combinators in any way described in this thread, or just the usual way with unlimited space
When you exit "Black box" mod does this:
- it creates invisible entites over "Black box"
- The entites are inherited from all combinators, but invisible, its' circuit connection point are all overlayed, so it's just one point for player, but in fact it's, say, 15 entites.
- It wires this invisible entities just the same way they was wired on other surface
- To store all the data to blueprint "black box" entity should be inherited from "Programmable speaker". Why? Because I've just tested that this unique entity can easily store at least 1 Mb string long in its "alarm_parameters.name" property. And this property survives through blueprinting.

Benefits:
- No signal transfer though surfaces needed => No lags, same perfomance as Vanilla
- In fact this is just a cosmetical mod because this invisible things behave all the same as Vanilla, except that they are invisible

PaszaVonPomiot
Long Handed Inserter
Long Handed Inserter
Posts: 71
Joined: Fri Dec 29, 2017 1:50 pm
Contact:

Re: Remove or Miniaturize Circuit Networks

Post by PaszaVonPomiot »

I think the best approach would be miniaturisation like Factoriossimo but for circuits so that you can have 1x1 building and inside there would be eg. 20x20 space for combinators - you could call it "microcontroller unit". And I also agree that combinators should be smaller and logic gates should be separated from other combinators but nobody seems to agree with me.

User avatar
olafthecat
Filter Inserter
Filter Inserter
Posts: 476
Joined: Fri Jul 07, 2017 4:37 pm

Re: Remove or Miniaturize Circuit Networks

Post by olafthecat »

PLS don't necro :(
Gonna start playing again with 0.16 build.
That's all.

Post Reply

Return to “Ideas and Suggestions”