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.
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.
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.
The dynamic between speed and energy was already interesting and counter-intuitive (often you wanted efficiency even though slower, because it greatly reduced POWER needs which could decrease your base size significantly).
“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.
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.
Some folks say: "if you don't like it, don't use it?" same holds for LDS where you can also argue that throwing a piece of legendary plastic in lava shouldn't produce legendary steel and copper.
Well, I guess we'll have a small mod that reenables it for those interested; and the standard game can be the guide on gameplay balance.
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.
The difficulty with that is that there are people in the real world actively breaking the systems. Not maliciously, it's just how capitalism works. You can make money by seeing and exploiting inefficiencies in systems, and that changes the system. In a game like Factorio the systems are complex but they don't change under you, which makes analysis much more straightforward.
Malicious actors currently don't seem to behave much more careful than biters in Factorio, so this should align pretty well. To be fair, biter are usually not inside your base / in office.
I wonder how much we could optimize real world agricultural and industrial processes if we reallocated just a tiny fraction of the energy that goes into this game.
Highly doubt it as games themselves are designed to produce this energy and motivation. It's not like we have super geniuses who are wasting their potential on games, but rather games provide a sandbox that encourage exploration, experimentation, and create intrinsic motivation loops. I feel confident saying that playing games like Factorio is a much better use of time than using social media or passively consuming media.
The real world is filled with industry know-how, real-life constraints, and monetary risk. I'm almost positive these people don't have millions of dollars lying around to invest in agriculture R&D.
If they don't, someone does, and a different reality would have them give them the money to go do that R&D. There are definitely super geniuses out there not being utilized to anywhere near their full potential because they're off on some distraction or other, but they get to choose to do that because we're all about self determination.
I'm sure they would choose real factory building instead if it was just as easy (at least, I would)
- no bureaucracy/planning conflicts, you are the sole dictator
- full vertical integration, no supply costs or land costs
- building is near-instant and perfectly reversible
- machines don't have 6 month lead times or go out of stock
- maintenance is done by magic, machines never break down
- infinite research and information to build every machine from scratch
Trouble is, these factory games are fairly deterministic and are nowhere near as opaque as the real world.
Kind of like how the Travelling Salesman Problem is near impossible in a static network, it's truly impossible in real life as changing conditions constantly make the solution different, so even an instant answer isn't good enough.
I realize as I'm typing this that your thoughts are almost exactly what the more optimistic Communists thought in the Soviet Union (very laudatory towards you by the way), I really should get around to reading Red Plenty, I have a thing for bureaucratic tragedy.
I played Factorio a fair bit before Space Age came out, it's awesome. I played it for ages with my kid, and it's a great tool for having him think about software decisions.
However I hit a wall with the game that has a relation to how AI has upended the programming world.
Basically, I got bored, and it might be because of the automation.
In the early game, you are running around with an axe, manually putting down inserters and assemblers, manually crafting items. You eventually make some assembly lines to automatically build stuff, and the outputs then go into more and more complex recipes for which you need to organize the flow of resources.
Along the way, you gain the ability to build trains to move goods from faraway places. Along with a number of other mechanics that are introduced, this creates a bit of novelty, because you discover some slightly different requirements and you get to exercise your brain in how to connect things together.
But then at some point, you learn how to make robots. Robots can place factory components as well as just moving goods around. You make a blueprint, plonk it down, and then the robots get all the necessary pieces, and place them down for you. This completely alters the game, because a blueprint can have a huge number of pieces while still being modular. There are people with libraries of square tiles encompassing every aspect of the game, that can simply be snapped together like legos.
I got to a point where I was assembling libraries and caring more about building a good set of components than actually wiring things together into a factory. I got an auto-placement mod, which I figured was a bit like predictive text in an IDE, it saves you from having to put down inserters and turn them, that kind of micro thing that can mess up your factory if you screw it up, but is actually tedious.
Armed with my new library of everything and my auto-placement mod, I destroyed my enjoyment of the game, somehow.
I had played the game enough times to understand what was needed, and so I got to a place where I just needed to place down a mall (a special kind of factory that mainly makes components) along with the bus (assembly lines of outputs), and things kinda couldn't go wrong. I didn't do any more of the typical early-game fiddling with making ad-hoc designs, because I knew what would work, and I didn't want to do the micro. I just satisfied myself that a few belts and rail lines would be enough to glue my libraries together, and that was that.
What does this have to do with AI? Well, I hear a lot of people's complaints with AI is that they were no longer actually coding. Without the need to type out anything, the micro is gone. People were already glueing libraries together, but at least there was some delight in writing the little bits of knitting. Now, you can just execute your architecture with a prompt, and the LLM will just do it all for you. There's still a necessity of checking what comes out, but the character of the work has changed.
I've been playing with Angel's Mods and Bob's Mods (and without Space Age) and it makes the processing chains dramatically longer. I finished the game by launching a rocket many hours ago, and now I'm just upgrading all the factory sections to make it a kind of mega-base. Then it'll be done.
So far I've only been using the world-specific blueprint storage. That seems reasonable to me - you have to make things at least once in this playthrough before copying them. That would happen anyway since of course all the factories are different with the mods. Except I imported a book of balancer blueprints from the internet because spending time designing balancers did not seem fun to me.
Very easy to optimise the fun out of Factorio. I have a hard rule: no blueprints carried forward between saves. It's more fun for me to figure out what I can design quickly that kinda works and kinda supports scaling. A lot of the time I'll just build something as a repeatable unit cell and then use copy/paste, skipping the blueprints. I think it's worth trying this out.
Agreed, and aside from balancers and some train grid blueprints I don't use external blueprints. There are just some things I don't like re-inventing. Sometimes if I do a back-to-back factorio game I'll bring over some blueprints but I learned early that external blueprints are the quickest way to ruin the game for me.
I very much doubt the fun was found in the physical act of placing units. Instead I’d wager it was in the immediacy of the chaos, and correction of it, as you dealt with the smaller problems — and the micro-optimizations you could apply being involved with every minor detail of the system.
When you switch to blueprints, you move up the abstraction chain; there’s still some optimization in constructing blueprints but largely you’re now just plumbing… chaining together higher level components, simply ensuring inputs == output, and all the microoptimizations are hard to justify because they disrupt your blueprints. The patterns and structures have reduced to only what you’ve specified in your library (where previously you were discovering them out of the many operators the game provides).
But the literal act of placing objects wasn’t the point, yet that’s all the game has become.
I've found that for me, I lose interest in a factory game the moment I have to scale up. It's when progressing through the game means copying an existing solution to a problem and pasting it (a bunch of times) somewhere else rather than coming up with new solutions.
In general, I get bored when I've figured out the solution to a problem but it takes a long time to get it implemented. Which is also why building conveyor belts is typically my least favourite part of any factory game and why I very rarely refactor my base.
Factorio is an unreasonably good metaphor for software engineering. I think what you experience is a simulation without a penalty for increasing entropy and complexity too much, something that isn’t possible in the real world: The more you tower up layers of abstraction and increase complexity, the more the failure rate increases, so you’re incentivised to actively lower it or avoid some approaches entirely. In addition to that, you’re bound by natural resources, and money, in a way that you are not in the game. Finally, and that might contribute to the drain: You’re solely responsible for maintaining all the abstraction layers.
>Armed with my new library of everything and my auto-placement mod, I destroyed my enjoyment of the game, somehow.
it takes a very long time to build a library of everything now with the DLC. and then there are high quality overhaul mods with far more convoluted production chains.
When I start a new game of Factorio, I want the run-around-and-chop-down-trees Minecraft-esque beginning to be over as quickly as it can be. I race to get bots and logistics going as soon as possible. Being limited to only building things that are near my character is something I find very tedious, and bots relieve that tedium almost entirely.
And that lets me focus more on the stuff that I do like to work on in the game.
Figuring out a universal assembler that keeps a list of mundane odds-and-ends in-stock. Working out that shipping from the bottomless seas of Fulgora to Vulcanus where oil is expensive can be a net positive, even though many assume that it must be a bust. Sorting out the unusual steel barrel management problems this creates. Tweaking asteroid collection, and conversion, and eventually working the kinks out of the huge space casino ships that start becoming essentially inevitable.
And the best part of those space factories: Once I have a design that is finished, I can copy and paste it. Replication is simple.
There's other parts that I avoid, like: Main buses. They're efficient, but I tend to lean towards organic spaghetti belts because that's more funner-er for me.
Or trains. I don't use them much. They're cool and all; they just don't usually scratch my itch. They promote vast expansion, but when interplanetary logistics and the space factories are going full-swing then my need to expand on any one planet dwindles considerably.
Lots of people play the game differently than I do and that's perfectly fine. Some people like to program in assembler, and some people might prefer to work in Python.
Others can't even get the syntax right. When they need software written, they can get help from a friend, hire someone to write the code for them, or (with enough of the right kinds of supervision) get a bot to do it instead.
Some people enjoy running around and chopping trees.
It's OK to operate at a very low level. It's also OK to work at a very high level. If the results are rewarding, then chances are good that they're doing it right.
Honestly, this is the exact article I needed to finish my Space Age run. I finished Aquilio then started building quality plants on each planet but spent many hours iterating designs. The feedback loop was slow and it was really an exercise in banging rocks together. Basic spreadsheets fail at this mechanic, which is the beauty of it.
I've tried to get into Factorio multiple times because I really love 2D isometric games, but the learning curve is incredibly steep. In my opinion, franchises like the original Command & Conquer were much more accessible for non-hardcore gamers like myself. Factorio feels less like a game and more like managing a complex software architecture.
I can recommend turning off biters, or at least biter expansion. That way you can at least focus on building your factory, without getting distracted by attacks.
Using a main bus where your factory is built in comb like rows on one side (so you can make the bus wider on the other side) is simple and will work pretty well for the starter base (i.e until you fire your first rocket and "win" the game).
I often split my starter factory in 4 quadrants with sufficient space for belts between them:
1. Smelters
2. Main bus based factory
3. Oil processing
4. Personal fabrication and mall (especially once logistic bots become available)
Do not recommend main bus design to new players! The most fun I've in Factorio had was getting to a rocket blind and dealing with my spaghetti factory. Even mentioning any kind of pattern to new players should be avoided.
Would even recommend peaceful mode, biters to me always felt like the least fun part of the game, especially while still learning how things worked. It's like you have a coworker come over and interrupt whatever you were doing, except instead of doing small talk they close half your tabs, clear your browser data so you are logged out of every site, and steal your coffee mug
As a factory game vet, it's always fun to see how the big daddy factorio primes first time players in the other factory games, and you see main busses in Satisfatory (which is sub optimal because the limiting factor is belt transport capacity), and Dyson Sphere Program (viable in the early game before drone logistics, but only in the arctic poles, and irrelevant later on).
Obviously, this main bus pattern does _work_ in all the games, if sufficiently dedicated, as does having no pattern at all, if sufficiently bloody minded (johnson) about it.
I disable expa sion but also biters evolution. Without expansion and evolution biters are just the right amount of pressure for me for casual play without completely losing having to climb half of the game tech tree
For some reason I never had a problem with the biters on the default difficulty. I got the sense they were there as another ball to juggle rather than a primary antagonist. Simply building turrets around structures was enough to fend them off in the early game until I could proactively destroy their nests in the pollution zone. After I started doing that, they never bothered me again.
I had the exact same experience as you until I finally tried it for a third time. After working through the tutorial I was completely hooked. I had quite a few hours of fun until I decided I was playing too much and had to delete it. I would agree the learning curve is fairly steep. It's not complicated, just dense.
My issue with it is the same that I have with things like Shenzhen IO. It’s fun to solve such problems but only with the right tools. Restrictions become very irritating when solving something like a programming problem, especially when it’s “refactoring” related
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.
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
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.
Well, I guess we'll have a small mod that reenables it for those interested; and the standard game can be the guide on gameplay balance.
https://www.factorio.com/blog/post/fff-442
The real world is filled with industry know-how, real-life constraints, and monetary risk. I'm almost positive these people don't have millions of dollars lying around to invest in agriculture R&D.
Kind of like how the Travelling Salesman Problem is near impossible in a static network, it's truly impossible in real life as changing conditions constantly make the solution different, so even an instant answer isn't good enough.
I realize as I'm typing this that your thoughts are almost exactly what the more optimistic Communists thought in the Soviet Union (very laudatory towards you by the way), I really should get around to reading Red Plenty, I have a thing for bureaucratic tragedy.
However I hit a wall with the game that has a relation to how AI has upended the programming world.
Basically, I got bored, and it might be because of the automation.
In the early game, you are running around with an axe, manually putting down inserters and assemblers, manually crafting items. You eventually make some assembly lines to automatically build stuff, and the outputs then go into more and more complex recipes for which you need to organize the flow of resources.
Along the way, you gain the ability to build trains to move goods from faraway places. Along with a number of other mechanics that are introduced, this creates a bit of novelty, because you discover some slightly different requirements and you get to exercise your brain in how to connect things together.
But then at some point, you learn how to make robots. Robots can place factory components as well as just moving goods around. You make a blueprint, plonk it down, and then the robots get all the necessary pieces, and place them down for you. This completely alters the game, because a blueprint can have a huge number of pieces while still being modular. There are people with libraries of square tiles encompassing every aspect of the game, that can simply be snapped together like legos.
I got to a point where I was assembling libraries and caring more about building a good set of components than actually wiring things together into a factory. I got an auto-placement mod, which I figured was a bit like predictive text in an IDE, it saves you from having to put down inserters and turn them, that kind of micro thing that can mess up your factory if you screw it up, but is actually tedious.
Armed with my new library of everything and my auto-placement mod, I destroyed my enjoyment of the game, somehow.
I had played the game enough times to understand what was needed, and so I got to a place where I just needed to place down a mall (a special kind of factory that mainly makes components) along with the bus (assembly lines of outputs), and things kinda couldn't go wrong. I didn't do any more of the typical early-game fiddling with making ad-hoc designs, because I knew what would work, and I didn't want to do the micro. I just satisfied myself that a few belts and rail lines would be enough to glue my libraries together, and that was that.
What does this have to do with AI? Well, I hear a lot of people's complaints with AI is that they were no longer actually coding. Without the need to type out anything, the micro is gone. People were already glueing libraries together, but at least there was some delight in writing the little bits of knitting. Now, you can just execute your architecture with a prompt, and the LLM will just do it all for you. There's still a necessity of checking what comes out, but the character of the work has changed.
So far I've only been using the world-specific blueprint storage. That seems reasonable to me - you have to make things at least once in this playthrough before copying them. That would happen anyway since of course all the factories are different with the mods. Except I imported a book of balancer blueprints from the internet because spending time designing balancers did not seem fun to me.
When you switch to blueprints, you move up the abstraction chain; there’s still some optimization in constructing blueprints but largely you’re now just plumbing… chaining together higher level components, simply ensuring inputs == output, and all the microoptimizations are hard to justify because they disrupt your blueprints. The patterns and structures have reduced to only what you’ve specified in your library (where previously you were discovering them out of the many operators the game provides).
But the literal act of placing objects wasn’t the point, yet that’s all the game has become.
In general, I get bored when I've figured out the solution to a problem but it takes a long time to get it implemented. Which is also why building conveyor belts is typically my least favourite part of any factory game and why I very rarely refactor my base.
it takes a very long time to build a library of everything now with the DLC. and then there are high quality overhaul mods with far more convoluted production chains.
And that lets me focus more on the stuff that I do like to work on in the game.
Figuring out a universal assembler that keeps a list of mundane odds-and-ends in-stock. Working out that shipping from the bottomless seas of Fulgora to Vulcanus where oil is expensive can be a net positive, even though many assume that it must be a bust. Sorting out the unusual steel barrel management problems this creates. Tweaking asteroid collection, and conversion, and eventually working the kinks out of the huge space casino ships that start becoming essentially inevitable.
And the best part of those space factories: Once I have a design that is finished, I can copy and paste it. Replication is simple.
There's other parts that I avoid, like: Main buses. They're efficient, but I tend to lean towards organic spaghetti belts because that's more funner-er for me.
Or trains. I don't use them much. They're cool and all; they just don't usually scratch my itch. They promote vast expansion, but when interplanetary logistics and the space factories are going full-swing then my need to expand on any one planet dwindles considerably.
Lots of people play the game differently than I do and that's perfectly fine. Some people like to program in assembler, and some people might prefer to work in Python.
Others can't even get the syntax right. When they need software written, they can get help from a friend, hire someone to write the code for them, or (with enough of the right kinds of supervision) get a bot to do it instead.
Some people enjoy running around and chopping trees.
It's OK to operate at a very low level. It's also OK to work at a very high level. If the results are rewarding, then chances are good that they're doing it right.
(Anyway, the birds are singing again.)
https://www.reddit.com/r/factorio/comments/1weddwd/tired_of_...
Using a main bus where your factory is built in comb like rows on one side (so you can make the bus wider on the other side) is simple and will work pretty well for the starter base (i.e until you fire your first rocket and "win" the game).
I often split my starter factory in 4 quadrants with sufficient space for belts between them:
1. Smelters
2. Main bus based factory
3. Oil processing
4. Personal fabrication and mall (especially once logistic bots become available)
Obviously, this main bus pattern does _work_ in all the games, if sufficiently dedicated, as does having no pattern at all, if sufficiently bloody minded (johnson) about it.
There is literally a mod [0] for integrating Factorio with Grafana. Yep.
[0] https://github.com/remijouannet/graftorio2
edit: got it working
edit2: how is it 4 am