Great game and it has come a long way. Even the early versions were quite addicting. For me this is one of the best games in the last 10 years along with Kerbal Space Program (there may be others, time is in short supply these days).
If you are not into computer games, I would still recommend to visit their site. They have "friday facts" where they describe the work they did over the week an what challenges they had to solve. It is very well written and poses interesting problems. Really interesting for software devs, even if you are not in game development.
Factorio is much easier. (Cracktorio a running joke)
Its base appeal/game loop is building new system and then doing optimization and refactoring.
As you progress through game you itch to improve things and do them better at bigger scale.
You build a small setup to produce a wire.
Wire is used to build next thing. Next thing is used as input for another thing, and so on.
But you now need ton of wire. So you have to go back and create more wire production, but there is no space there... so you refactor or build more wire production elsewhere... but how do you connect it... and copper ore is low, need to build train to ship more ore from somewhere else... and so on and on until you realize it Sunday 10pm. Where did my weekend go?
KSP forces you to learn how things work if you want to go beyond mun. Transfer orbits and plane equalization done by feel doesnt work outside of Kerbin SOI. At that stage KSP has a huge step for player to take in order to progress in game.
But also you now understand a lot about rocket science. Factorio doesn't really do that. You might learn some at intuitive level like: planning for future, leaving room for expansion, don't do everything at once, don't forget to build automated death traps outside you home xD
One of the most “high” moments I’ve ever felt in a game was the successful lunch of my first orbital craft.
That first orbit I felt so excited I had to stop the game and run around the house. I tried to explain it to my SO but she couldn’t understand why that was.
Maybe because I’ve been taught the math part of it in school, but when the rocket equation, gravity losses, earth gravity assist, drag losses etc “clicked” I actually related all of those independent things in my brain to make a tough task possible.
I got as far as visiting Jool moons but it was not as exciting. Well maybe except the first time I calculated a hochman transfer orbit to Duna.
Factorio only sort of deals with queuing theory, concurrency, and so on. Probably to the same extent relative to the actual depth of these subjects as Kerbal Space Program deals with aerospace concepts relative to what aerospace engineers do.
But IMO that's not actually the hardest part of Factorio. The hardest part of Factorio is the same as for software engineering: how to build something that scales and where you can still reason about it. One of the big challenges after just "beating the game" is hitting specific scale targets (the community calls it megabase building), and the factory sizes needed to do that definitely reach the complexity limits of human brains, so many of these players start establishing design conventions and start writing down notes and documentation and calculations for themselves.
I've definitely done things like using a stopwatch to measure roundtrip time for a train in order to calculate latency/throughput numbers for a supply chain in Factorio. But you rarely need to do more than back of the napkin math to be effective.
I think it'd be cool if a "joint mod" was created between factorio and KSP. You use factorio to get raw materials, the R&D tree is shared between the games, and when you want to launch something, your available parts are whatever you've manufactured and loaded into the assembly building.
I'm an industrial engineer and have thought about how to teach manufacturing concepts through the game. Tons of great lessons such as one piece flow, problems when you build up inventory, correctly balancing different production rates between machines, factory layout, etc.
And as another commenter pointed out, sometimes you're "refactoring code" and paying your technical debt.
If you are not into computer games, I would still recommend to visit their site. They have "friday facts" where they describe the work they did over the week an what challenges they had to solve. It is very well written and poses interesting problems. Really interesting for software devs, even if you are not in game development.