Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

improvements to Productivity Module Payoffs #388

Open
Akuukis opened this issue Mar 20, 2024 · 8 comments
Open

improvements to Productivity Module Payoffs #388

Akuukis opened this issue Mar 20, 2024 · 8 comments
Labels
In Discussion Discussing the issue to formulate a plan needs-refinement Needs further thought or looking at

Comments

@Akuukis
Copy link

Akuukis commented Mar 20, 2024

Hello maintainers,

Background

This great spreadsheet together with ratio calculator is all I need and use for my factorio builds and blueprints. Thank you! But the more I use it, the more I notice room for improvements, so I'd like to contribute back to it and it even more greater.

I noticed three problems with the Productivity Module Payoffs section and solved them. The rationale and attachments follows.

Improvement No.1: per output, instead of per machine

In the original MadZuri's calculations ROI is based on per machine. I'd argue that more usual concern would be to calculate it per output, as myself and every single streamer I've watched are concerned about input/output ratios and saturating the belts, instead of amount of machines per se. Hence I scaled up the payoff rate, assuming that players will just build more machines to compensate for their slowness due productivity modules and return to an saturated belt, like I would.

Improvement No.2: complete upfront cost

In the original MadZuri's calculations, only module cost is taken into account. I improved it by including module cost taking into account the extra machines (see previous point), and the cost of those extra machines.

Improvement No.3: tiered payoffs

In the original MadZuri's calculations, only "nothing -> T3" upgrade was analyzed. I'd argue that's a simple yet impractical comparison, because module tiers get both unlocked in order, as well produced by consuming the previous one. Therefore I compared them in order in these 3 steps:

  • nothing -> T1
  • T1 -> T2
  • T2 -> T3

Takeaways

  • nothing->T1 breakeven times are very short between 2-45mins, as well payoff rate is twice of the next T1->T2 upgrade, that after looking at these numbers I think it's obvious to spam T1 modules asap, and/or upgrade to T2 only after all machines already have T1 modules.
  • despite roughly ~6x time difference in upfront cost, the next T1->T2 upgrade has only slightly shorter payoff time than last T2->T3 upgrades.

Discussion

Please let me know what you think of this approach, and then I will do similar to beacons as well.

Attachments

image
Factorio_0.17_module_efficiency.ods


P.S. Credits to MadZuri's ROI calculations that served as inspiration and a good starting point for my calculations.

@deniszholob
Copy link
Owner

deniszholob commented Mar 21, 2024

Looks really cool.
I have been using MadZuri's ROI calculations as a blanket for everything when playing TBH haha, as they are all pretty much so close. So i use the order as a general guide, not specific times. I can however see a play through with megabasing or speed-running where more detailed approach is necessary.

I have no problem in putting these numbers in as a replacement (or approving a PR with those changes). But would be nice to get some peer review on this before i do. Have you put this up on Reddit or any other communities? As I am not as familiar with details of these calculations, nor do i currently have the time to study them, i would need to rely on the community for feedback. I doubt much discussion will happen on github as this is more code oriented, so i would think reddit or discord or something like that would yield more discussion.

@deniszholob deniszholob added In Discussion Discussing the issue to formulate a plan needs-refinement Needs further thought or looking at labels Mar 21, 2024
@Akuukis
Copy link
Author

Akuukis commented Mar 24, 2024

@deniszholob here's the post on reddit, good feedback on the approach, but no explicit review confirmations

@deniszholob
Copy link
Owner

@Akuukis
Copy link
Author

Akuukis commented Mar 26, 2024

I've calculated the beacons as well that took a while, and also found and fixed formula in previous calculations. Here's the updated takeaways:

Breakeven time comparing best configuration at each tier, ignoring 2 best (rocket, late science) and 2 worst (varies)

time  from vs to
2min-50min T0 vs T1
20min-13h T1 vs T2+B8x4(T1)
36min-15h T2+B8x4(T1) vs T3+B8x4(T1)

Takeaways

  • prod mods increase output/input, use prod whenever possible.
  • speed mods in beacons are alternative to more machines, so gotta calculate which way is cheaper.
  • T1 prod – ASAP spam them everywhere because breakevens times are really short.
  • T2 prod – use with 8x2+ and 4x2+ beacons are both similarly 2-4x cheaper than no beacons.
  • T3 prod – use with 8x2+ beacons are only 1.5x cheaper than 4x2+ beacons and 3-6x cheaper than no beacons
  • T1 speed – the best choice for beacons cost-wise.
  • T2 speed – neither UPS-efficient nor cost-efficient, although at T3+B8x4+ are on par with T1 speeds.
  • T3 speed – 3-6x more expensive than T1, otherwise best in minimizing updating entities for UPS friendly megabases.

Takeaway differences from MadZuri

  • cost-wise best to build with T1 speed mods instead of implied T3 speed mods
  • more detailed and granular
  • based on design, both 8x (full sandwitch) and 4x (either onesided or sparse sandwitch) are equal enough

Attachments

image
Factorio_0.17_module_efficiency_2.ods

@infogulch
Copy link

These numbers make me suspicious, why does chemical science have such a long payoff time?

@Akuukis
Copy link
Author

Akuukis commented Aug 5, 2024

@infogulch what's suspicous about it? Chemical science beakers are in the middle of the table, nothing anomalous about it.

If you meant labs, then it doesn't matter which science it researches and it's second at the top of course.

@infogulch
Copy link

Looking closer it seems fine, I just expected the payoff rate to be faster. But maybe that's why it's important to do the calculations. :)

Is there an overview / justification for the general formula anywhere? Of course the cell formulas are there in the sheet, but there is one unexplained magic constant (0.04) and it's not super clear why these factors are used and combined in this way.

@Akuukis
Copy link
Author

Akuukis commented Aug 12, 2024

Yup, I was surprised about some of the results as well :)

Not really, it's worth a whole essay.. but for you specific question, the 0.04 constant (and 0.06 and 0.1 for that matter) are the productivity constants of the productivity modules taken from the game.

@infogulch If you could peer-review the calculations and conclusions as @deniszholob asked above, I'm happy to explain your questions and try to write down those explanations along the way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
In Discussion Discussing the issue to formulate a plan needs-refinement Needs further thought or looking at
Projects
None yet
Development

No branches or pull requests

3 participants