Friday Facts #379 - Abstract rewiring

Regular reports on Factorio development.
Post Reply
User avatar
Gergely
Filter Inserter
Filter Inserter
Posts: 607
Joined: Sun Apr 10, 2016 8:31 pm
Contact:

Re: Friday Facts #379 - Abstract rewiring

Post by Gergely »

There's a tiny detail I missed: If both WireConnectors are alive (not ghosts) can a wire connecting them be a ghost?

User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 2320
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: Friday Facts #379 - Abstract rewiring

Post by boskid »

Gergely wrote: ↑
Sat Oct 07, 2023 9:19 am
There's a tiny detail I missed: If both WireConnectors are alive (not ghosts) can a wire connecting them be a ghost?
No. In that case a wire becomes real wire.

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

Re: Friday Facts #379 - Abstract rewiring

Post by Qon »

I'm really excited about the next FFF now! Abstract tools handled with hotkeys makes so much more sense for large scale projects, the wire hotkey mod makes the game so much better for those who actually use combinators. I install several mods to get rid of all the design flaws in how remote building is handled. I build with robots, but I still need infinite reach mod (for how I use it, it's QoL mod) for fixing wires and settings in constant combinators etc. Proper remote building UI design to make end game players engineering mega projects get the "factory editor" experience will be a lot of fun.

I was so disappointed when the update hit that nerfed remote building and made the copy trick more necessary. Finally you see your mistakes.
Making combinators only editable in range forced me to make install infinite range mod and making blueprint placements only within radar sight just breaks the game so much that I had to make my own mod that completely removed fog of war just to be able to place big blueprints.
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

silentium_noxe
Manual Inserter
Manual Inserter
Posts: 3
Joined: Tue May 02, 2023 10:23 pm
Contact:

Re: Friday Facts #379 - Abstract rewiring

Post by silentium_noxe »

It would be better if they redesigned the electricity system, integrated the Power Overload mod, and not that’s all :(

User avatar
Gergely
Filter Inserter
Filter Inserter
Posts: 607
Joined: Sun Apr 10, 2016 8:31 pm
Contact:

Re: Friday Facts #379 - Abstract rewiring

Post by Gergely »

boskid wrote: ↑
Sat Oct 07, 2023 9:57 am
Gergely wrote: ↑
Sat Oct 07, 2023 9:19 am
There's a tiny detail I missed: If both WireConnectors are alive (not ghosts) can a wire connecting them be a ghost?
No. In that case a wire becomes real wire.
I was wondering how this would interact with reach. If ghost wire between real entities is not a thing, there are two options left. Either the player can connect wires using the map remotely without bots, or can not connect wires remotely at all.

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

Re: Friday Facts #379 - Abstract rewiring

Post by Qon »

Omnifarious wrote: ↑
Sat Oct 07, 2023 3:13 am
You guys implemented my LD Auto Circuit mod (more or less) into the base game!
Great mod! Thanks! Hopefully vanilla implements the toggle shortcut as well so you don't have to make the mod turn off the auto wiring with a toggle instead lol

____________________________________________________________________
BlackKnight wrote: ↑
Sat Oct 07, 2023 12:51 am
Wire auto-routing: My only concern is if red/green wires are auto-rerouted like copper cables do when (re)-placing power poles, this could end up being a big headache after meticulously wiring a setup. So I trust there is some exclusion for this scenario.
It obviously wont autoconnect different circuit networks. That would a bug.
BlackKnight wrote: ↑
Sat Oct 07, 2023 12:51 am
Re Wire free placement. Completely logical and appreciated. When people expressly circumvent building circuit wires by copy/pasting blueprints of them, you know its a feature that needs to change.
Yeah it was a huge mistake that they actually went and implemented updates to make remote building worse.

____________________________________________________________________
Mango wrote: ↑
Fri Oct 06, 2023 8:01 pm
I was actually hoping for more changes in the case of abstract items. I find it very confusing, that I can open blueprints, click on one and actually move it to my inventory (while actually removing it from blueprint interface) and then put it somewhere else or throw in on ground.

I don't get why the abstract items have to interact with inventories at all.

I would much rather have them only existing in hands when used and never delete them unless specifically selecting the delete button in an opened blueprint.
This would also nicely work for wires, discharge and artilery remote - you select what you want to use and just use it.

The spidertron remote is similar to blueprint because you can have multiple different remotes existing at the same time. It would need special menu like the blueprint one to set/manage remotes but then you also just select which you want to use and just use it.
Being able to interact with inventories makes it possible to make mods like Recursive Blueprints+ that needs a reference to a blueprint to place it. And we can make other similar mods for other tools with data this way as well.
Upserter wrote: ↑
Fri Oct 06, 2023 8:42 pm
A trick I learned only recently is to set the output filter on a splitter to the deconstruction planner. This is useful when you only have one side of the splitter output connected up, because it prevents items from passing through to the end of the belt on the unconnected side where they would just sit unused. Any item will work for this, but I like to use the deconstruction planner because it would never clash with an actual production item, and it leaves a nice big red square on the splitter, which to me reads symbolically as β€œno exit”.

With the deconstruction planner becoming an abstract item, will it still be possible to use it in this way?

Image
It is already an abstract item. Abstract just means it has no recipe to create it, instead they are made for free with player UI interactions.

____________________________________________________________________
KeithFromCanada wrote: ↑
Fri Oct 06, 2023 8:24 pm
The Problem
  1. Using red & green wires was a useful hack in the beginning, but trying to use them in a complicated circuit can damage your sanity because of how difficult it is to place & trace them. (Yes, hovering over an entity and having the connected wires & entities highlighted would be helpful, but still wouldn't deal with the real problem.)
  2. Using more than two nets requires Rube-Goldberg-level shenanigans at both input and output ends. Not fun and (eventually) hits your UPS.
Hovering over entities DOES highlight the connected wires.
I don't know what your definition of a "net" is. But if you are talking about isolated networks, it sounds like you don't understand the purpose of wires and what has an impact on UPS.

KeithFromCanada wrote: ↑
Fri Oct 06, 2023 8:24 pm
My Solution
  1. Ditch the primitive wiring and go modern: use WiFi. (Could be a tech that needs to be researched.) Use the roboport code and define each power pole as having separate power and WiFi ranges. Each entity within WiFi range has an automatic data connection without needing to worry about connecting wires.
Are you actually saying that wires should be removed completely? :roll: :|
That's just...
You have no experience with using combinators for computations at all then. Just don't make suggestions for a system you've never used. Leave, we don't need trolls here.
KeithFromCanada wrote: ↑
Fri Oct 06, 2023 8:24 pm
  1. Add a 'router' entity to create separate data nets, just as power switches can separate power nets. (Each net can separately be shared through the router or not.)
  2. Add fully named virtual signals, as is done for train stations/etc., instead of just using a single icon. For example, instead of just [...]--which could mean anything involving iron ore, players could use [...], which tells you exactlywhat the signal actually used for, instead of having to guess.
  3. Use the solution that others have come up with (like TSM) and allow players to define separate nets by simply adding a higher-order virtual signal before the main one. For example, [...] would reference a completely different value than [...], even though the final virtual signal is exactly the same.
  4. (Optional) Going a step farther for mega-mega-bases, add a second (or even third) level of nets.
This is not a replacement. Named global signals can't be blueprinted and copied without each instance making interference. You can't connect networks automatically based on physical placement position of the instance. Wires are required.
Also making wires invisible (basically your suggestion) doesn't help with following visually where they go. *facepalm*
KeithFromCanada wrote: ↑
Fri Oct 06, 2023 8:24 pm
This should deal with a lot of the issues both y'all and the players are having with circuits, and should improve game efficiency, to boot.

Does that sound reasonable?
NO! Worst idea ever.
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

mmmPI
Smart Inserter
Smart Inserter
Posts: 3147
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Friday Facts #379 - Abstract rewiring

Post by mmmPI »

Qon wrote: ↑
Sat Oct 07, 2023 10:29 am
KeithFromCanada wrote: ↑
Fri Oct 06, 2023 8:24 pm
My Solution
  1. Ditch the primitive wiring and go modern: use WiFi. (Could be a tech that needs to be researched.) Use the roboport code and define each power pole as having separate power and WiFi ranges. Each entity within WiFi range has an automatic data connection without needing to worry about connecting wires.
Are you actually saying that wires should be removed completely? :roll: :|
That's just...
NO! Worst idea ever.
Waow such a different understanding from me, i read it as an additionnal option similar to "connect to logistic network" , which is wireless and can be activated on many entities and then it interact with signals/logistic quantities. I guessed i didn't read the later part of the sentence as exclusive.

I thought this is somewhat possible to test the gameplay with mods that replicate the wireless transmission, although not removing the wires completly. Not every entity can receive signals wirelessly directly with the differents mods i linked, there is still a need for wire, but only to connect to entities locally, not to move accross the map or a different part of the factory. ( wireless between isolated island of combinators spread in the factory ).
It is easier to make "global network", or semi local and it somewhat uses the same conventions for channels or input/ouput mechanism as was described. And i think there will be something similar to communicate with the space platform or the other planets in the expansion.

I didn't think removing wires entirely is a good idea, and i'm further convinced by your reasons, but i think some degree of wirelessness is desirable imo. I don't expect every player to have to come up with a DIY solution to transmit request of material accross planet or space platform. In SE combinators feels more necessary than in vanilla, almost mandadory and probably too difficult for vanilla expansion. So i suppose there will be something to help in that direction of "transmitting signals accross surface". And if you can do that, you can send also to anywhere on the same surface if you bounce back to your space platform, like a satelite.

mmmPI
Smart Inserter
Smart Inserter
Posts: 3147
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Friday Facts #379 - Abstract rewiring

Post by mmmPI »

coppercoil wrote: ↑
Fri Oct 06, 2023 9:58 pm
No, shadows should lie on the ground :)
With the distance, every shadow becomes blurry because the Sun is not a point light source.
The "alledged sun" of Nauvis, i prefer the term "unknown source of light" , because a sun would'nt set everywhere at the same time :)

And on Earth and Nauvis the height of the power pole and the thickness of the cable, the time of the day, the amount of pollution in the air as clouds or other lightsources or reflective material plays a role but it is possible to find some shadows of electric cable on the ground from power poles : like this one and that one more blurry


Shadow are super difficult, i couldn't find the error. I thought it was ok for some shadow to be darker than other shadow as there are indirect lightings with diffusion and all sorts of weird physics that create the shiny or gloss on some surfaces or angles :
Proof shadow are super difficult to recreate realisticly

FasterJump
Fast Inserter
Fast Inserter
Posts: 218
Joined: Sat Jul 09, 2016 11:43 am
Contact:

Re: Friday Facts #379 - Abstract rewiring

Post by FasterJump »

Togglable belt immunity? Yes please

User avatar
jodokus31
Smart Inserter
Smart Inserter
Posts: 1619
Joined: Sun Feb 26, 2017 4:13 pm
Contact:

Re: Friday Facts #379 - Abstract rewiring

Post by jodokus31 »

A refactoring was imminent!
Glad, you are just doing it!

I love the changes.

When the focus is also more on remote actions with the expansion, I'd really love, that the replay function records the viewing point and zoom, basically what has really been shown on the screen. Otherwise, you just see the character standing around doing nothing, while something on map view happens.

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

Re: Friday Facts #379 - Abstract rewiring

Post by Qon »

mmmPI wrote: ↑
Sat Oct 07, 2023 11:00 am
I thought this is somewhat possible to test the gameplay with mods that replicate the wireless transmission, although not removing the wires completly. [...]
It is easier to make "global network", or semi local and it somewhat uses the same conventions for channels or input/ouput mechanism as was described. And i think there will be something similar to communicate with the space platform or the other planets in the expansion.
The mods are enough for the suggesters usecase of simply transmitting signals far. Integrating the mods into every entity that can interact with signals is kind of pointless, but logistic network signals do something similar instead of adding a logistics network combinator so I can't know they won't just add that kind of feature.
mmmPI wrote: ↑
Sat Oct 07, 2023 11:00 am
i think some degree of wirelessness is desirable imo. I don't expect every player to have to come up with a DIY solution to transmit request of material accross planet or space platform. In SE combinators feels more necessary than in vanilla, almost mandadory and probably too difficult for vanilla expansion. So i suppose there will be something to help in that direction of "transmitting signals accross surface". And if you can do that, you can send also to anywhere on the same surface if you bounce back to your space platform, like a satelite.
Adding Shortwave to Factorio base (nice to have but kind of pointless if you build rail network with blueprints) or Space Age makes sense. Simple and easy way to connect things to a global network.

For Space Age it is obvious it will be added, why would anyone even bother to suggest it? (not you mmmPI)
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

raidho36
Long Handed Inserter
Long Handed Inserter
Posts: 93
Joined: Wed Jun 01, 2016 2:08 pm
Contact:

Re: Friday Facts #379 - Abstract rewiring

Post by raidho36 »

Voting for adding blue signal wire.

Better yet, make signal system not depend on the color of the wire. Simplify the system to "power wire" and "data wire", like mains and fiber. Solve the signal separation by being able to specify an abstract data channel(s) within the data wire to send signal to, and to read from. At that point, you can actually make data wires costly. Or just make power poles contain both wires by default.

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

Re: Friday Facts #379 - Abstract rewiring

Post by Qon »

raidho36 wrote: ↑
Sat Oct 07, 2023 5:40 pm
Voting for adding blue signal wire.
2 colors is almost always enough. It is always enough if you can fit in 1 tick delay and an everything|0 combinator to split a wire up into 2 wires. And you can just have several parallel rows of wired entities (poles, constant combinators) if you need more data transfer. It could make multi channel data bus use a bit less entities. And maybe I'm so used to the 2 color paradigm that I'm capable of working around the issues and always finding my solution with ease, but I don't really see where one more wire color would help me.
raidho36 wrote: ↑
Sat Oct 07, 2023 5:40 pm
Better yet, make signal system not depend on the color of the wire. Simplify the system to "power wire" and "data wire", like mains and fiber. Solve the signal separation by being able to specify an abstract data channel(s) within the data wire to send signal to, and to read from. At that point, you can actually make data wires costly. Or just make power poles contain both wires by default.
If you are suggesting to remove one color and only have this system: This would make network separation invisible. Advanced contraptions would become unreadable. Not just "unreadable" as some say when they actually mean "hard" or "I'm not smart enough for combinators", I mean actually impossible to follow data flow visually without bringing up GUI elements. Or otherwise the name of each channel in a wire must be written on each wire. But that is obviously inferior to coloring the wires.

Adding multiple channels within one POWER wire would be awesome though. And some entity that can take a bundled wire and separate or merge them to and from power poles. Maybe some other better way to handle which entities take power from each power pole. I would like if I could explicitly wire power poles to the entities around them and get rid of the supply area (but default to supply area otherwise). You can then have all entities in a factory get power based on priority. When accumulators get low all production of non-essential materials and all beacons get powered down. Currently possible for some limited cases, but very annoying to do if the different networks are supposed to be close together in space. Basically impossible to shutdown beacons but not the assemblers as it is now.
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

DarkShadow44
Filter Inserter
Filter Inserter
Posts: 330
Joined: Thu Jun 01, 2017 12:05 pm
Contact:

Re: Friday Facts #379 - Abstract rewiring

Post by DarkShadow44 »

Can you also make ertical (straight up) power wires moddable, so mods like Thicker Power Wires can make them thicker?

raidho36
Long Handed Inserter
Long Handed Inserter
Posts: 93
Joined: Wed Jun 01, 2016 2:08 pm
Contact:

Re: Friday Facts #379 - Abstract rewiring

Post by raidho36 »

Qon wrote: ↑
Sat Oct 07, 2023 6:41 pm
All I'm seeing is ad-hoc excuses -not reasons- why [CURRENT IMPLEMENTATION] is overall the best, and shouldn't be touched. Thankfully, the devs don't share your view. Otherwise we wouldn't have had new rails.

I mean really. Creating a huge mess of wires and combinators is a perfectly good solution, and being able to simply assign your signal to a folder is too much work and it's too hard to follow?

pleegwat
Filter Inserter
Filter Inserter
Posts: 275
Joined: Fri May 19, 2017 7:31 pm
Contact:

Re: Friday Facts #379 - Abstract rewiring

Post by pleegwat »

raidho36 wrote: ↑
Sat Oct 07, 2023 7:51 pm
Qon wrote: ↑
Sat Oct 07, 2023 6:41 pm
All I'm seeing is ad-hoc excuses -not reasons- why [CURRENT IMPLEMENTATION] is overall the best, and shouldn't be touched. Thankfully, the devs don't share your view. Otherwise we wouldn't have had new rails.

I mean really. Creating a huge mess of wires and combinators is a perfectly good solution, and being able to simply assign your signal to a folder is too much work and it's too hard to follow?
If any virtual wire can be accessed from anywhere on the map, a combinator-heavy approach which uses many thousands of wires becomes unmaintainable, even when using folders. The only place where I could see this approach working is locally inside an 'integrated circuit combinator', and that is because in that case the virtual signals aren't global.

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

Re: Friday Facts #379 - Abstract rewiring

Post by Qon »

raidho36 wrote: ↑
Sat Oct 07, 2023 7:51 pm
All I'm seeing is ad-hoc excuses -not reasons- why [CURRENT IMPLEMENTATION] is overall the best, and shouldn't be touched. Thankfully, the devs don't share your view. Otherwise we wouldn't have had new rails.
LOL. I gave reasons. You not being able to understand is your problem, it doesn't mean I didn't give any. You declaring that devs don't share my views doesn't make it so. You would have to actually convince them. I never said features can't be added, read again.
raidho36 wrote: ↑
Sat Oct 07, 2023 7:51 pm
I mean really. Creating a huge mess of wires and combinators is a perfectly good solution, and being able to simply assign your signal to a folder is too much work and it's too hard to follow?
If you actually had done some big and advanced contraption then you would know why being forced to assign wires to channels every time you wire things together would drive anyone completely insane. And not having the option of organizing your wires so that they are possible to visually identify would not make things better. Removing the current features for no reason is a bad idea. Make something non-trivial with combinators once and earn your right to write about the topic.
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

User avatar
Tallinu
Fast Inserter
Fast Inserter
Posts: 130
Joined: Sun Jun 14, 2015 8:14 am
Contact:

Re: Friday Facts #379 - Abstract rewiring

Post by Tallinu »

Along the lines of train improvements and UI interaction improvements, I hope that assigning filters to train cargo wagons will become easier. Being able to drag across multiple slots instead of having to click them individually, like you can do when copying and pasting recipes between machines, would be a huge improvement. (And maybe making chests filterable too...?) :D

raidho36
Long Handed Inserter
Long Handed Inserter
Posts: 93
Joined: Wed Jun 01, 2016 2:08 pm
Contact:

Re: Friday Facts #379 - Abstract rewiring

Post by raidho36 »

Qon wrote: ↑
Sat Oct 07, 2023 8:36 pm
If you actually had done some big and advanced contraption then you would know why being forced to assign wires to channels every time you wire things together would drive anyone completely insane. And not having the option of organizing your wires so that they are possible to visually identify would not make things better. Removing the current features for no reason is a bad idea. Make something non-trivial with combinators once and earn your right to write about the topic.
Well I'm not necessarily suggesting getting rid of colored wires. It's a simple solution for single-channel data transmission and it already works. It's just really not ideal for making complicated systems, precisely. I can't quite put it into words, and none of the features are problematic on their own, but together they very subtly make the whole system very obtuse; I think many will find it an apt description. I tried making a PID controller for my nuclear reactor array and I gave up halfway. Though such a trivial system to implement in Lua, it wasn't worth the effort to do in Factorio.

Code: Select all

function pid:step(input)
    local error = self.setpoint - input 
    local speed = input - self.previous 
    local accum = math.min(math.max(self.accumulator + error, self.lowerlimit), self.upperlimit) 
    self.previous = input 
    self.accumulator = accum 
    return error * self.P + accum * self.I + speed * self.D 
end 
Like Zachtronics games, playing with logic gates and hardware routing can be a lot of fun. But in Factorio it feels like a monumental waste of time, it's why I don't usually bother with setups that require more than 2 combinators grand total. I understand that combinators are based off real life relay automation, but actual real life industrial automation using mechanical relays is probably more fun and less headache than this.

Consider CAN bus. Every electronic device in the car shares the same data cable, physically. Any device that need to put data on the network, could. And it's up to receiving device to decipher the meaning of whatever packets circulate on the network. This is not unlike having multiple different combinators feeding into the same wire, and then having multiple different inserters being controlled by that same wire. In aforementioned CAN bus this isn't an issue at all, hence a single wire for the entire car. There's no reason it shouldn't be a good design in Factorio either. EDIT: Why, in real life there is an industrial automation system exactly like that too: profibus. You can already specify what kind of signal to produce, simply adding another box for which "subsystems" to send that signal to and read from shouldn't be a problem. The functionality already exists in factorio, since there is a "red" and "green" subsystems already, it's just you choose them by physically wiring the combinators, not by selecting them in GUI.
Last edited by raidho36 on Sat Oct 07, 2023 10:38 pm, edited 1 time in total.

zer0701
Manual Inserter
Manual Inserter
Posts: 1
Joined: Sat Oct 07, 2023 10:22 pm
Contact:

Re: Friday Facts #379 - Abstract rewiring

Post by zer0701 »

Really excited about the next FFF now. Here's hoping you guys plan on implementing something similar to SE's NavSat. After beating SE I'm currently on a Py run and by God do I miss the NavSat :lol:

Post Reply

Return to β€œNews”