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
If the boffin head-space consumed by Factorio never happened, we may have been building factories on distant planets by now.
When all of your factory bits are randomly wearing down, causing speed mismatches and stochastic outright failures, large and complex chains become limited by your ability to run around and diagnose and fix things. Things also tend to fail in novel and unexpected ways; redesigns can help mitigate some failures, while new failures may be introduced. And as reliability improves, you start seeing failures that occur on longer timescales, which more trivial failures would initially mask.
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.
Can't forget dwarf fortress, the freeware game that inspired Minecraft. Written by two Asperger's brothers. It was super heartwarming when, after times they had to stop working on the game and move down lawns to make a living, they finally published on steam and became independent.
I haven't followed Dwarf Fortress in awhile but don't they have a publisher now?
It seems like KittiFox Games was what they needed. Hooked them up with graphic artists, helped them publish the game, make the updates more regular and "meaty" (I'm guessing working as a sort of an agent). I'm guessing not everyone in the industry is an EA or that french assasins creed studio.
I might not be 100% correct, but the game is now even somehow multithreading, improving performance and introducing some bugs.
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.
There are fun twists on this idea, I am currently re-playing Star Factory in which you start with infinite supplies of four ingredients and even the ability to make clones of those infinite supplies. The goal of course is converting those four (marble, gold, dark oak, ice) into everything you need and it's important to automate everything, don't make 64 sand, make a machine which makes 1 sand per second and leave it running forever. Don't make 64 glass from the sand, make another machine which makes sand but this time feed it into a furnace and fuel the furnace with infinite oak wood, now you've got unlimited glass. And so on.
You can still get your preferred play style with a mod: https://mods.factorio.com/mod/bring-back-space-casino
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.
Michael Hendricks: Next time ...
Or, if energy/space isn't of huge concern to you: a lot of foundries with quality, and just dump anything that's not legendary into the lava.
Interestingly different - for DSP and Factorio it suffices to do legality using CP-SAT based packing and then routing separately (geometric line routing/etc). Large blueprints in DSP are complicated and sometimes require hierarchical decomposition.
Satisfactory is actually much more complicated not just because of the significantly more 3d nature, but because of the blueprint designer size limitations and the desire to not just have things clipping through other things everywhere (which the game allows for the most part but people try to avoid).
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.
For me, the individual placing of items gets pretty tedious. Solving nuclear power is interesting once but placing the same thing a second, third or tenth time is pretty dull.
The challenge of Factorio shifts throughout the game - initially you're worrying about individual metal plates and then you're dealing with belts full and then it's entire sections of your factory. This is why the Space Age DLC is so fun, it adds an entire new dimension of worrying about getting things between planets in a timely fashion.
Eventually the final boss is UPS (basically the performance of the game on your computer). Suddenly "the factory must grow" stops being the solution to your problems and usually makes things worse.
I don't think it ever reaches "vibe coding" levels - true, you can end up not knowing how part of your factory works but it's still a lot more active than just typing in a bunch of prompts.
I use exactly 3 exceptions between saves:
1. First generation ship to just get me to space
2. Second generation ship to get me to the other planets
3. Third generation ship to get me to the Shattered Planet
Everything else, I'm with you. I don't use blueprints between saves.
With how much of a pain it is to deal with building in space, I'd rather just use the same blueprint.
So the first iteration of the design is always slightly wonky, so it remains fun :)
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 inefficient 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.
The planets in Factorio have new buildings, new mechanics, and certain resources are cheap while others are more scarce.
In Angel's Mods, much more than in the base game, there are so many of these points where your old factory process line is obsolete and your best option is to completely dismantle it and build the newer process you just unlocked, although the old one can keep running until you get around to that. It's a nonstop circus of redesigning and rebuilding. They haven't introduced any fundamentally new mechanics mind you - that all just comes from expansions in the set of recipes and machines available (and there's a reason every Angel's modpack includes Helmod). I've never tried Pyanodon's. Bob's Inserters also makes you want to redesign your layouts every time you unlock new inserter directions.
Part of the game is designing copy-pastable layouts that you can just repeat in a row, or tile in a grid - once you get to the stage where that's practical to do. You don't build each copy individually, you let your bots do it. If your bots can't do it then make it so they can, before you can say you're at this milestone. Also trains make grid patterns or "city blocks" very practical.
Not a factory game, but the designers of Portal 2 talked about this. They noticed that in the first game there were puzzles where people would figure out what to do, but then get stuck on actually being able to do it, which was frustrating. So for the second game they endeavored to make it so that the challenge was always in the solution to the puzzle, never in executing the solution.
My point was: I play Factorio for fun and it reminds of me of what programming was like before AI coding. In Factorio, all the automations you build are proper abstractions that you yourself actually designed.
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.)
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.
https://www.reddit.com/r/factorio/comments/1weddwd/tired_of_...
I love how factorios quality system models engineering in real life. It’s so much fun having a game be about building things end up being about how to manage the endless quantities of sub-par quality items, literally thousands of times more items to destroy. Factorio became a trash management game! Endless loops of backlogged, jamming garbage and effluents because you get one Lincoln from 2800 explorers.
There is a mod to just give everything legendary stats. Fuck quality.
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)
[1] Cu -> Circuits -> LDS <- Steel <- Fe
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.
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.