Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • The systematic and scientific approach is absolutely warranted if you want to produce legendary quality at scale. I brute forced my way to legendary mech armor with manually steered recycler loops and wasting millions of iron and copper in the process. Since playing on a Linux developer laptop with 0GB VRam and an onboard GPU (at 60FPS!) I couldn't have scaled it much larger anyways but the entire game, it's a fever dream of optimization and I love it.
  • > Factorio pretty much founded the factory video game genre.

    I’m pretty sure Zachtronics predates Factorio. SpaceChem 2011, Factorio 2020. I like Factorio more… but SpaceChem is the more demanding puzzle and the better game.

  • “Space casino” is gone from Factorio 2.1 as asteroid reprocessors don't take quality items anymore. Motivated by devs that it was 'just too easy' to get legendary items this way.
  • Computing an infinite sum of matrix powers seems a bit nasty, but actually reformulating the problem as a transfer matrix (where legendary -> legendary with probability 1) let's you express the state of the system after N loops simply as $A^N x_0 = x_n$. Then, A^N can be readily computed by diagonalizing the matrix so that $A = V diag(\lambda_1, ...) V^T$. The matrix exponential means that different eigenvalues decay at different rates. The largest should be lambda_1 = 1 which will survive in the infinite N limit, and tells you the steady state solution. This machinery is a bit more general than the expectation based equations that the author solves with Gaussian elimination, and is a nice application of SVD/matrix diagonalization.
  • The difference between Washing and Upcycling is enormous. That does fit my observations, it's nice to see it quantified.

    Another aspect that is nice to see quantified is how big the effect of better quality modules is. You likely underestimate that initially since it's not linear.

    The Space Casino mentioned in the post is not possible anymore in Factorio 2.1. Which is experimental at the moment, but I'd assume will be released soon. And experimental Factorio tends to be as stable or more as the stable versions of other games.

  • > Factorio pretty much founded the factory video game genre

    I feel very nerd sniped by this one! Factorio was heavily influenced by minecraft mods like industrialcraft2 which create factories inside of minecraft. Here's the factorio creator discussing it in 2013 https://forum.industrial-craft.net/thread/8845-factorio/

    As usual, the ouroboros of culture continues, and now minecraft mods spend lots of time imitating factorio, as well as iterating from the same original seeds.

  • Oh boy, this is a rabbit hole I've gone down pretty hard as well. I made a python script and a separate js app for running linear solvers on the upcycling problem. I really like the author's exposition for how to setup the solve matrix, as it's the first step when understanding the quality math.

    Speaking very high level, probably the most interesting and counter-intuitive thing I learned from doing these projects is that adding just a touch of speed modules can go a long way, especially at the lower quality levels. Of course, if the only thing being optimized is legendary outputs per common input, then speed is always bad. But because an upcycler works much better when the buildings and modules are themselves legendary, usually the limiting factor is the (very expensive) crafting machines, rather than the amount of input lines. Adding a touch of speed can give way more throughput for the same number of legendary crafting machines, at the cost of some wasted inputs, which isn't a big deal when you can slap down a few more cheap miners.

    Python script: https://github.com/scottmsul/FactorioQualityOptimizer

    JS source: https://github.com/scottmsul/upcycle

    JS app: https://scottmsul.github.io/upcycle

  • If anyone is interested I made a build that can make most items at the highest quality possible using a single assembler by switching the active recipe on the assembler. You just throw in the basic resources for the base items in the recipe and it just builds the whole thing at legendary quality.

    https://www.reddit.com/r/FactorioBlueprints/comments/1gl5v50...

    It takes a bit of setup for each item you want to make though and doesn't work if the process takes more than one fluid. The default in the blueprint is to make blue circuits.

    Unfortunately factorio has this mechanic where if you switch the item an assembler is making it loses progress for productivity bonuses, so this setup is not really practical for many items. Plus it takes a lot of space. But it is fascinating to see it work.

Explore Birbla archives

Solving Factorio Quality · Birbla