Helmod: Assistant for planning your factory

by Helfima

Assistant for planning your factory. Can calculate required ingredients, products, machines, modules, and beacons. Can also calculate power production / consumption.

Utilities
8 days ago
0.14 - 1.1
368K

i Assembler:beacon ratio

4 years ago
(updated 4 years ago)

Currently, to factor in beacons, you have to enter a ratio of assemblers to beacons.

Sorry in advance for the text description but I don't know how to put images in here so hopefully you know what I'm talking about. I'll try my best.

Let b = beacons, a = assemblers, and C = beacons:assemblers ratio (inverse of what you enter in the UI). The problem is, one of the most common arrangements of beacons is not representable by b = C*a, it's representable by b = C*a + D, where D is another constant representing some fixed number of beacons sticking off the end of the block.

For example, you may have 8 beacons on 1 assembler (4 on one side and 4 on the other, offset by a tile so all 8 hit the assembler). But then adding an assembler only adds 2 beacons, not another 8. So the ratio changes. In the current UI that means the ratio you have to enter changes based on the number of assemblers (1/8 or 2/10), but you can't enter that correctly because the number of assemblers isn't fixed -- it's calculated by helmod.

On the other hand, that configuration (a single row of assemblers and two rows of beacons) can be accurately represented by b=C*a+D where C=2 and D=6.

There are other common arrangements, too, e.g. two rows of assemblers and three rows of beacons with the center row shared, again it cannot be represented by a ratio, it requires a constant term as well (b=1.5*a+9).

What all this boils down to is: It's exceedingly difficult to get an accurate count of beacons (and therefore an accurate energy usage estimate) because you have to finish all your blocks to get the assembler counts calculated then go back and enter math equations for all the ratios based on the assembler counts, changing it if you change a value somewhere.

To that end I'd really like to see two changes:

  1. Instead of assemblers per beacon, use beacons per assembler instead (this makes more sense to me anyways), and
  2. Add a second field there for a fixed number of additional beacons that is independent of the number of assemblers.

Then, you can e.g. enter 2 and 6 (like in that above example) when you define the block and never touch it again unless you change your mind about your beacon arrangement, because the beacon count will always be updated to 2*assemblers+6 (or whatever), and will be correct even if you tweak product amounts and such.

Let me know if this makes sense or not.

Edit: Oh I just discovered this is markdown. Let's see if this works, here's the first common example configuration:

+-++-++-++-++-+...
|B||B||B||B||B|
+-++-++-++-++-+...
     +-++-+...
     |A||A|
     +-++-+...
+-++-++-++-++-+...
|B||B||B||B||B|
+-++-++-++-++-+...

As you can see; adding another assembler adds 2 more beacons but the relationship isn't representable by a ratio alone, it needs a ratio and a constant.

4 years ago

If this change were made; in order to update existing configurations, btw, you'd just have to take the saved assemblers/beacons number and change it to its inverse, and set the constant term to 0.

4 years ago

hello
not bad idea
if it's not easy here go my Discord https://discord.gg/mKEeAKb

New response