Design Help Needed: Wireless Power
Posted: Sun Apr 18, 2021 9:57 am
Hi, I'm the author of Wireless Power, which is a mod for universal wireless power transfer. The tesseracts that the mod adds to the game come with efficiency penalties as the cost for the convenience of wireless power. However, there's a fairly fundamental flaw with the mod: factorio's power transfer is always 'free' no matter how large the network. I understand the reasoning for this: it's quite computationally expensive to calculate the costs for any realistic power transfer that tries to model the resistance of the wires.
So that brings me to my problem. This mod was designed with rail world in mind, where you have some central base and then many mining outposts. I'd like some way to mechanically encourage users of my mod to actually use tesseracts for these outposts beyond just the convenience factor. Thus, I need some UPS-efficient way to cause long chains of power poles to be very inefficient, without causing too much of an efficiency nerf to the normal factory - even if said factory is fairly large.
Design goals:
Initially, I've come up with a few ideas which are, in my opinion, pretty sub-optimal. I suspect some variation of these will end up being the best I can manage, but I'm interested in hearing what else people can come up with.
So that brings me to my problem. This mod was designed with rail world in mind, where you have some central base and then many mining outposts. I'd like some way to mechanically encourage users of my mod to actually use tesseracts for these outposts beyond just the convenience factor. Thus, I need some UPS-efficient way to cause long chains of power poles to be very inefficient, without causing too much of an efficiency nerf to the normal factory - even if said factory is fairly large.
Design goals:
- UPS efficient algorithm. Ideally, only run mod scripts on entity placement/removal.
- Very inefficient to power machines which are very distant from the main power generation.
- Much less inefficient to power large groups of machines which are relatively close together.
Initially, I've come up with a few ideas which are, in my opinion, pretty sub-optimal. I suspect some variation of these will end up being the best I can manage, but I'm interested in hearing what else people can come up with.
- Mechanically cause power drain via a set of modules which are automatically inserted into machines which are far away from power generation.
Drawbacks: Consumes a module slot for any machine deemed 'far away,' adds a bunch of nonsense code to make sure the modules can't be removed or end up in anyone's inventory, fails to hide what's going on from the user. - Mechanically cause power drain via an invisible entity connected to the network. Many such entities would be created to handle different 'tiers' of power consumption, and a script would handle figuring out which one was connected to each electric network.
Drawbacks: tier system is not very fine-grained, can't really handle machines which are off, need to figure out an algorithm to calculate which tier to use. - As a middle ground between the above two, mechanically cause power drain via invisible entities connected to each machine or each power pole.
Drawbacks: many more entities in the game, still can't handle machines which are off or power poles which are unused.