Beacons need to be altered.

Place to discuss the game balance, recipes, health, enemies mining etc.
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Beacons need to be altered.

Post by ssilk »

I just sit in front of my stove. Inside the meal for tomorrow. Smells wonderful. Is it a wonder that I read "bacon needs to altered"?
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

slpwnd
Factorio Staff
Factorio Staff
Posts: 1835
Joined: Sun Feb 03, 2013 2:51 pm
Contact:

Re: Beacons need to be altered.

Post by slpwnd »

@ssilk :D

Holy-Fire
Fast Inserter
Fast Inserter
Posts: 169
Joined: Sun Apr 14, 2013 9:15 am
Contact:

Re: Beacons need to be altered.

Post by Holy-Fire »

Coolthulhu wrote:
Holy-Fire wrote: You're stating the obvious and have completely missed the point of my comments.
I am stating the obvious only because you claimed it's not true:
Holy-Fire wrote:
Coolthulhu wrote: Productivity modules' effectiveness increases exponentially with the length of assembling machine chain involved.
This is an optical illusion. It isn't what's really going on.
Holy-Fire wrote:I'll say again: The benefits you get from each additional productivity module scale linearly.
This is simply not true. You'll even get different final cost if you move modules from 110% machine to a 120% one.
Say, machine 1 produces wood at 110% productivity (2.2 wood per 1 raw wood). Machine 2 produces chests at 110% productivity (1.1 chest per 4 wood). 20 raw wood -> 44 wood -> 12.1 chests. If scaling was linear, it would be 12 chests. It gets much worse with longer chains.

I can't easily provide a well-explained example here because the formula is huge, so I'll repost what I wrote on the wiki: lvl 3 module is [1473 c, 775 i] (+artifact) base, but [123 c, 95 i] at 160% prod per machine - if the scaling was linear, it would cost 320 copper and 168 iron (productivity 460%).
I have created a lua script just to calculate productivity of chained machines. The numbers above include all the stuff like copper wires in advanced circuits not getting productivity from electric circuits.

I have re-read your posts to make sure I am not missing any points. I am trying not to sound hostile here, but the more I read them, the less it looks like you read mine thoroughly.
I must first apologize for my prolonged absence, real life got in the way.

I can assure you that I do understand what you wrote; the thing is that I don't think the figure you are calculating is important, and unfortunately I didn't make enough effort to explain what it is I am calculating, and why.

So I'll try now and take your wood chest as an example.

If you have +x% productivity in every machine in the chain, then for every unit of input raw wood, you can get (1+0.01x)^2 times as many chests as you would have if you did not have productivity bonus. If the length of the chain is n instead of 2, that's (1+0.01x)^n. This is perfectly exponential, but also perfectly uninteresting.

What you should be looking at instead is how much better off you actually are for every additional module you place.

Let's look at a production line working at full capacity. In this case you have 2 machines doing raw wood -> wood and 1 machine doing wood -> chest. The chest machine generates 1 chest per second. Each chest is "worth" 2 raw wood (not counting assembling energy for now). The ratio 2/1 (raw materials for finished product, divided by time per product) is going to be important.

You now go and put a +5% module on the chest machine. What do you have to show for it? If before the machine generated 1 chest per second, now it's generating 1.05 chests per second, with the same input materials. That's a net gain of 0.05 chests per second. This gain does not depend on what happens anywhere else in your production chain. Since each chest is worth 2 RW, that's a total gain of 0.1 RW/s for your economy (the economic worth of each chest does depend on the rest of your economy, but hold on).

To know how good is it to put your module there, as opposed to putting it elsewhere or putting a different model, you need to compare this gain (0.1 RW per second) with the energy cost.

If instead you put that module in one of the wood machines, you'd get an extra 0.1 wood per second. Each would costs half a RW, so that's a gain of only 0.05 RW/s. The reason you get less benefit for putting the module in the wood machine is that wood has a lower ratio of cost / time. The benefit you get for placing a module in a machine is always proportional to this ratio, so if you don't have enough modules it's best to put them in the machines with the highest ratio.

(Parenthetically, the benefit you get from placing efficiency modules, in terms of energy saved per second, does not depend on this. So the higher the ratio, the more you'll want to put prod modules instead of efficiency).

Now, the crux of my argument - If you put a prod module in the chest machine, you get an extra 0.05 chest per second. If you put a module in a wood machine, you get an extra 0.1 wood per second. If you put a module in all 3, you get an extra (0.05 chest + 0.01 wood + 0.01 wood) per second. This is completely linear. Nothing exponential at all going here.

But to truly understand module scaling, we need to figure out how much all of this is worth in your entire economy. And if we do this, we'll find that it actually scales worse than linearly. It is in fact exponential, but the wrong kind of exponential.

The best way to look at it is to treat raw ores as the unit of currency in your economy, as it all boils down to mining and transporting your resources (including coal for energy) And then the question is - We want X units of a final product. How much raw resources do we need for it?

Suppose you want 1000 wooden chests. How much RW do you need? Without any modules, you'll need 500 RW.

If you put a +10% module in the chest machine, you multiply your number of chests by 1.1, so you need only 454.5 RW - you saved 45.5 RW by using the module.

If instead you put this module in one of the wood machines, then assuming you keep the other one running to finish in roughly the same time, you get 4.2 wood per 2 RW, which is a factor of 1.05 over normal - so you'll need only 476.2 RW, savings of 23.8 RW.

But if you put modules in all 3 machines, the factor is 1.21, so you'll need 413.2 RW. That's savings of 86.8 RW, which is LESS than 45.5 + 23.8 + 23.8. The more modules you put, the less each will save you in terms of how much resources you need to extract in order to generate what you need.

A more accurate calculation will factor in the "embodied energy" in each item, reflecting the energy needed to run the machine that produced it from its ingredient, and how productivity modules affect the number of machines needed to work in full capacity. The result is the same though.

Another point I was making is that many chains in Factorio are exponential. E.g., you'll need 8 machines in the first level of the chain, 4 machines in the second, 2 in the third and 1 for the final product. The cost of the final product is huge, so the benefit you get is exponential in the length of the chain, but the number of modules needed is also exponential in the length of the chain. Thus the benefit per module is not exponential. In these chains the later steps have a higher cost/time ratio, so you get the most benefit per module by putting a module in the last step.

I hope you read this, and that I have explained myself at least well enough for you to be able to comment about it.

(And I hope they didn't break beacons, I didn't play Factorio in a while either.)

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

Re: Beacons need to be altered.

Post by ssilk »

Beacons are not longer able to used with productivity module, since v0.7.3
https://forums.factorio.com/wiki/inde ... alancing_3

I would like to have this explanation as mathematical formula and as example-factory, so that everyone is able to follow this arguments. Because I'm not sure, if that is really correct. :) sorry, no offencement.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Holy-Fire
Fast Inserter
Fast Inserter
Posts: 169
Joined: Sun Apr 14, 2013 9:15 am
Contact:

Re: Beacons need to be altered.

Post by Holy-Fire »

In addition to what I wrote above, here's another scenario which might help carry the point across:

Suppose there's a long production chain which is a simple 1-to-1. You have a machine turning 1 item A to 1 item B, a machine turning 1 B into 1 C, and so on. To start, you have a machine in every level working at full capacity, so by harvesting 1 A per second, this chain gives you 1 Z per second.

It seems you claimed that if you put a +100% prod module in each machine in the chain, you end up with 2^n Z instead of 1.

This is wrong. The machine in the end of the chain can only take 1 Y per second, regardless of how much Y you produce. With +100% productivity, it gives you 2 Z per second. The same applies everywhere in the chain, so you don't get 2^n Z per second, you get (in addition to the original 1 Z/s) 1Z + 1Y + 1X + ... + 1B per second.

You could simply run the earlier machines at lower capacity. Then you'll get 2^n Z per unit of A. But you'll still get just 2 Z per second - you'll just need 2^{-n+1} A per second for this (which is effectively 0). So all you really did is save yourself 1 unit of A per second. Hardly impressive.

If you do want to get 2^n Z per second, you need to build enough machines to utilize everything. So you need 2 B->C machines to handle the 2 B/s that the first machine produces, and generate 4 C/s. Then you'll need 4 B->C machines to generate 8 C/s, 8 C->D machines and so on, and finally, 2^{n-1} Y->Z machines to generate your 2^n Z/s. This is a total of 2^n - 1 machines.

But in order for all these machines to work in +100% productivity, you need to put a +100% prod module in each. That's a total of 2^n-1 prod modules. Which is what I tried to say earlier - to increase your end product exponentially in n, you need a number of modules exponential in n. The benefit you get per module is linear in the number of modules.

It's not just the modules, all of these machines cost extra energy and real estate (and the machines themselves, but that's cheap). You don't get exponential amplification for free. Rather, every module you put has a benefit in terms of units produced per second, and a cost in terms of energy. If you put more modules the benefit and costs add linearly. If you put exponentially many modules this cost adds up.

So to balance modules, you need to figure out the cost and benefit of each module at a per-module level. As long as that's balanced, everything else will fall into place.

(PS I didn't say now anything which I didn't say before... I hope I managed to explain what I mean, and that you'll see this while going again over our earlier correspondence.)
ssilk wrote:Beacons are not longer able to used with productivity module, since v0.7.3
https://forums.factorio.com/wiki/inde ... alancing_3
It's a shame. This doesn't solve the core issues (which I explained earlier in the thread), and results in an inconsistent experience.
ssilk wrote: I would like to have this explanation as mathematical formula
The hard part is not the formulas, but how you interpret them.
ssilk wrote: and as example-factory
Once the concepts are understood, they're easy to apply to any production chain.
Last edited by Holy-Fire on Mon Jan 06, 2014 1:24 pm, edited 2 times in total.

BurnHard
Filter Inserter
Filter Inserter
Posts: 519
Joined: Mon Oct 21, 2013 5:08 pm
Contact:

Re: Beacons need to be altered.

Post by BurnHard »

I have made very complex excel-Sheet to calculate my production chains (how much of which assemblers where in the chain i need when I want a definded output/minute of the endproduct) under all possible circumstances and configurations with all different modules etc.

When i want to produce ONE Module type three, the savings are INSANE when i use producitity modules 3 in the whole production chain (2 in the smelters, 4 in the assemblers), You save insame amounts of assemblin machines in the lower tiers. I cant post the formulas here (already too complicates in excel, but think of this:

you start with

unmodified:
100 iron ores => 100 plates => 100 Circuits / 4 => 25 advanced circuits

modified:
100 iron ores *1,3 => 130 plates *1,6 => 208 Circuits *1,6 / 4 => 83,2 advanced circuits
even within 3 production tiers we get more that 3 times the normal output.

The full chain für one module 3 cosumes by hand-crafting: 775 iron ore and 1472,5 Copper ores
and with all assemblers and smeltery stuffed with productivity modules 3: only insane 73,04 iron ores and 95,56 copper ores. thats less than a TENTH. (you need that less smelters and assembling machines for the first tiers eg copper wire)

It consumes a LOT of electricity, but you can save massive amounts of ore in your whole unbelievably small but productive factory (I think most people dont realize how much they could save on reseach packs materials and so on), i managed to create massive outputs on a standard map with really small resource fields. I created all!! my equipement (from buildings to my power suit items, research packs) with modules-stuffed assembling machines, all with the small starting resource field where otherwise i would have had to mine 5-10 other fields!!

The screenshot below basically shows my whole factory (without smelting, ore-storage and railway-station). Feel free to adapt my designs ^^. the biggest part is for sience packs 3, but they are all balanced to nearly fully supply 10 sience labs at full load. most intermediate products are transfered directly, not via belt. The sience-packs part works without logistic robots, slight overproduction of steel, rockets, circuits etc for other purposes.
Attachments
Screenshot 2014-01-06 14.28.28.jpg
Screenshot 2014-01-06 14.28.28.jpg (457.77 KiB) Viewed 7754 times

Luaan
Inserter
Inserter
Posts: 24
Joined: Tue May 06, 2014 5:23 pm
Contact:

Re: Beacons need to be altered.

Post by Luaan »

Nirahiel wrote:But how an electronic tweak of your machine can make it create resources out of thin air ? :)
I have to point out you've got this wrong, and in fact, exploring the logic further also presents the solution to the whole problem.

The basic flaw in your thinking is that you're assuming, that the baseline for any production and processing is 100% efficiency. In real-life, this is not the case. If you follow this logic further, you'll find out that this thing does make sense if you change this - say, if the basic efficiency is just 50% (so, for example, your mining process extracts 50% of the available iron in the soil / rock), then a 100% boost just means you've gone from 50% efficiency to 100% efficiency - you're not creating stuff from thin air, you're just much better at using the whole thing (and in real-life, it means producing less waste).

I assume some people already see where I'm going with the way how this can "save" the multipliers you can get by overlaying multiple beacons. Rather than adding the total amount, you'll be improving the efficiency.

So let's say that iron mining machines have a default efficiency of 80% - the other 20% go to waste. When you add productivity modules, they don't add anything, instead, they reduce the waste. So say you've got a 50% production module - applying one module will lower your waste by 50% (so you're only wasting 10%, giving you 90% output instead of 80%). This means you've improved your production by 12.5%. Adding a second one, however, while lowering waste by 50% again will result in a waste of 5%, which gives you 95% output instead of 90% - still an improvement, but now only ~5% more (~19% improvement over non-improved mining drill). This basically applies what you'd call a stacking penalty - more modules of the same type will give diminishing returns.

Now, this still means that the production bonuses improve a lot if the chain gets long. But suddenly, it's not "stuff out of thin air" - it's just a better use of resources, less waste. Now, using this simple scenario, where everything starts at 80% efficiency, a simple three-link chain will mean the last item in the chain will effectively be wasting almost 50% of the materials in the whole chain, compared to 100% efficiency. It also means that it pays more to improve efficiency across the board, rather than just at the last factory - adding three of those 50% productivity modules to the last factory will give you a total yield of 62% (a waste of 38%). Spreading them across the chain, one in each of the factories, will give you a yield of 73%, a waste of just 27%.

And of course, different machines and different recipes can have different base efficiencies, further increasing the complexity of the whole production. A circuit production, being relatively high-tech, might start at efficiencies of 30% or 50% or something like that, and as a result, benefiting massively from productivity chips.

Any thoughts?

User avatar
FreeER
Smart Inserter
Smart Inserter
Posts: 1266
Joined: Mon Feb 18, 2013 4:26 am
Contact:

Re: Beacons need to be altered.

Post by FreeER »

Luaan wrote:Any thoughts?
Why does this sound so very simple but it took until now for someone to point it out so very clearly? (or maybe I simply missed it when someone else did...) :lol:

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

Re: Beacons need to be altered.

Post by ssilk »

That's a good post. :)

Edit:
What I stumbled upon was the word efficiency. It was mixed up with productivity. That happens often...

Replace all "efficiency" upon with "productivity" and we are at the right wavelength. :)

And there is another word, which is not so good: effectivity.

Now one point when I added it to the wiki (https://forums.factorio.com/wiki/inde ... tle=Module): it is in my opinion "efficiency" not "effectivity".

http://en.wikipedia.org/wiki/Efficiency
http://en.wikipedia.org/wiki/Effectiveness
http://www.usingenglish.com/forum/threa ... evant-word

And this (lol): http://de.urbandictionary.com/define.ph ... ffectivity


And as said some month before: in German productivity means something very different and efficiency is better described as effectivity, because there are different types of efficiency.

http://de.wikipedia.org/wiki/Produktivit%C3%A4t
http://de.wikipedia.org/wiki/Effektivit%C3%A4t
http://de.wikipedia.org/wiki/Effizienz

For English speakers this might sound not very important, but indeed it is a problem., cause I'm nearly sure, this is also for other languages the case.

My suggestion is to change the glossary here. But I've no idea how. :)

Hm, I'll put that into suggestion. ;)
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
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Beacons need to be altered.

Post by ssilk »

I've moved the posts about this issue to https://forums.factorio.com/forum/vie ... f=6&t=3436
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Post Reply

Return to “Balancing”