[1.1.42] Inconsistent maximum circuit wire reach

Bugs that are actually features.
Post Reply
BurninSun
Inserter
Inserter
Posts: 44
Joined: Fri Mar 16, 2018 4:54 am
Contact:

[1.1.42] Inconsistent maximum circuit wire reach

Post by BurninSun »

In the attached screenshot, I've put in some examples of maximum circuit wire reach between objects. Any combo using an inserter with anything, or 2 medium electric poles is limited to 8 tile gap that can be crossed by a circuit wire. Any other combo of items I tried, the wire can reach across 9 tiles. This is true both vertically and horizontally. I feel as if the reach should have been limited to 8 tiles as that is the max reach of a power wire between medium power poles, but that would obviously break some existing builds. Barring that change, I would expect the wire reach when going to/from an inserter to be able to go across 9 tiles, the same as between other objects.
Attachments
Inconsistent circuit wire reach
Inconsistent circuit wire reach
Untitled.png (2.99 MiB) Viewed 1656 times

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

Re: [1.1.42] Inconsistent maximum circuit wire reach

Post by boskid »

Thanks for the report however i am not considering this to be a bug.

Case where you have 2 power poles is special because this one case has different condition for the circuit wire reach: in this case distance between entities is measured as a straight line distance between centers of electric poles. In this case the wire reach is exact as a wire length of 9 gives you 8 empty tiles in between.

When at least one of those entities is not an electric pole, then the wire distance is measured using distance between entities selection boxes*. Inserter behaves differently because its selection box does not cover entire tile so the distance from electric pole to an inserter is slightly reduced. If you check a wire reach between electric pole and a chest (both have full tile selection boxes) you will also get the slightly larger wire reach. Offshore pump also has a selection box which is not based on full tiles and it has simillar behavior: wire in one of the directions will give you only 8 empty tiles in between.

Whatever, wire reach of 9 in most cases is expected to give you at least 8 empty tiles in between. In some cases you get 1 tile extra. I am not going to reduce selection boxes of everything or change the selection box distance to use `<` comparison (instead of `<=`) as it would be breaking change for many blueprints.

BurninSun
Inserter
Inserter
Posts: 44
Joined: Fri Mar 16, 2018 4:54 am
Contact:

Re: [1.1.42] Inconsistent maximum circuit wire reach

Post by BurninSun »

Fair enough, but that doesn't make much sense from a users standpoint. In my case, I have 2 chests 9 tiles apart being fed by inserters that are also 9 tiles apart. I can wire the chests together but I cannot wire the inserters together. I would expect to have them both work the same.

mrvn
Smart Inserter
Smart Inserter
Posts: 5709
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: [1.1.42] Inconsistent maximum circuit wire reach

Post by mrvn »

Wouldn't the center of the box make more sense? By taking the gap between boxes you gain half the size of each box on the wire reach. Center to center would have the same spacing for all entities. Less gap for big entities but that's live.

Or distance of the actual connection points? Although I see a problem there with rotating entities, especially tanks.

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

Re: [1.1.42] Inconsistent maximum circuit wire reach

Post by boskid »

The issue with the entity center approach would be that a larger entities would have a distance penalty like a storage-tank since it is a 3x3 entity. Increasing a circuit wire reach on a storage tank would not be sufficient because the reach limit is based on the smaller reach of the 2 entities to be connected: if a storage tank would get a wire reach of 10 and player would try to connect it to a electric-pole with a wire reach of 9, a limit of 9 would be used. Trying to fix this by giving a storage-tank a "+1" reach bonus would essentialy mean the distance would not be counted to an entity center but to a circle with a radius of 1 centered at the entity position. Current approach uses selection box as its more likely the circuit connector graphics are within that area which is more likely to allow to have a 9 tile long wire when it visually should be able to.

mrvn
Smart Inserter
Smart Inserter
Posts: 5709
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: [1.1.42] Inconsistent maximum circuit wire reach

Post by mrvn »

The center would give you equal spacing. A inserter every 9 tiles, a tank ever 9 tiles, a chest every 9 tiles. Given 2 equal entities with the same rotation the wire would always be exactly 9 tiles. Not quite so with different entities as the connection point can stretch things.

The box gives you equal gaps. 8 tiles empty between inserters, 8 tiles empty between tanks. But the length of the wire changes with the size of the boxes and the position of the connection point.

So neither way gives you exactly 9m wires. But the center has less factors breaking the wire distance limit.
boskid wrote:
Mon Oct 18, 2021 11:40 am
Current approach uses selection box as its more likely the circuit connector graphics are within that area which is more likely to allow to have a 9 tile long wire when it visually should be able to.
That assumes the connection point is at the side of the box facing the other entity. On the other hand the connection points can be on the opposite side of the box giving you a 15 tiles reach with tanks. And on average 12 tiles. The box method never fails for (reasonable) entities with 8 tiles gap but it does allow longer wires to make that happen.

Center to center would have fewer extremes but can fail where it visually should be possible to draw a wire.

Post Reply

Return to “Not a bug”