5 ms·
Factorio is a is queuing systems simulator. Just like your web server, those little factories process resources (requests) at certain speeds and pass them down
by petethepig 5y ago
Factorio is a is queuing systems simulator. Just like your web server, those little factories process resources (requests) at certain speeds and pass them down to a bunch of other queuing systems (databases). I think it's really good at teaching intuition about queuing systems.
- FPGAhacker 5y agoThat’s an interesting take and I agree. I thought about it more like supply chain management, of which queues are a part.
- amelius 5y agoDid anyone tackle the bullwhip effect [1] in their microservices architecture? [1] https://en.wikipedia.org/wiki/Bullwhip_effect https://en.wikipedia.org/wiki/Bullwhip_effect
- Closi 5y agoUnfortunately it’s nothing like supply chain management in reality! It’s a bit like automated warehouse design but not really (Supply chain & logistics consultant here).
- phamilton 5y agoWhat are some of the misconceptions that make it so different? "I need iron plates but there aren't any available" just feels so intuitively like a supply chain problem, I'd love to learn how the real world is so much more complicated.
- chii 5y agoi suppose supply chain management involves negotiation and business acumen, rather than manufacturing process efficiency.
- quartesixte 5y agoYes. If supply chain management was just efficiency and forecasting, it wouldn’t be it’s own giant department in many manufacturing organizations. There is an entire contracts negotiation side to it. Which is really fuzzy and filled with all sorts of intentional inefficiencies (price-wise) brought about by competing interests and incentives.
- wffurr 5y agoYou don't place orders with your suppliers, forecast demand from your buyers, account for lead time, etc.
- hirundo 5y agoForecasting demand and scheduling production are very much part of Factorio.
- ironSkillet 5y agoYes, but these forecasts can be deterministically computed, whereas in the real world, there are so many unknowns that have to be factored in somehow.
- ShamelessC 5y agoThey can be - but in the context of the game; they only ever are at the advanced level of gameplay. In general people aren't all running excel analysis on their factorio playthroughs (although I guarantee someone does).
- kortilla 5y agoThere is no market in factorio and supplies are produced at nice constant rates. It’s pretty much the exact opposite of supply chain management because the supply chain behaves perfectly. There is no uncertainty.
- ShamelessC 5y agoI think the analogy for the entropy introduced by a "market" is just the player's attention span and long-term planning skills. In a beginner-intermediate session, the player can and will have highly variable production rates due to an inability to grok the complexity of what they have built. It's of course very similar to programming in that way. I agree that the game is not trying to be a market simulator however.
- Closi 5y ago> What are some of the misconceptions that make it so different? "I need iron plates but there aren't any available" just feels so intuitively like a supply chain problem, I'd love to learn how the real world is so much more complicated. It's definitely a supply chain problem, but the way it is solved in Factorio (i.e. build a mine and a conveyor belt) is different to the way it is solved in reality (create a spec for the iron plate, a procurement process, contract negotiations, raising purchase orders, organising freight, managing compliance, all of which may be split across different teams). Then the iron plate company probably has the same thing to do for the iron - they probably don't own the mines where the iron ore comes from, so they also have to procure, contract, raise PO's, organise freight e.t.c. So in reality, SCM is usually more about managing all those relationships and contracts rather than getting involved in end-to-end optimisation (which is sometimes done, but the details are the responsibility of another company - i.e. if a car company needs more bolts, they don't get involved in considering where a mine needs to be opened).
- jhgb 5y ago> It’s a bit like automated warehouse design Don't we call that "production systems engineering"?
- Closi 5y agoI would agree, although typically the companies, technologies and people involved in automated warehouse design are different to those doing production systems engineering. (e.g. automated production has a bigger focus on cells, robotics and in-line production, while logistics automation is often more about automated storage and retrieval systems, sortation, piece-picking systems etc). There is a huge crossover though.
- musingsole 5y agoAre there other data structures that need to be brought in for supply chains? Naively, it seems like it's queues with variable delays all the way down.
- pram 5y agoYep that’s how I see it. The belts are Kafka, factories are microservices, etc. You have to manage backpressure, throughput, scaling and such just like that kind of environment.
- ravi-delia 5y agoI actually used to build all my factories around a huge central belt, until I first designed a few microservices for a toy project. Then I found myself splitting components into separate pods, using trains and logic circuits to manage their independent resource needs. Nothing deliberate, just my mind following the path of least resistance. Factory after that, it was back to the main belt.
- LanceH 5y agoDo people play with unlimited resources? It seems by the time I build a belt system fields are tapped out. It just isn't worth it.
- titanomachy 5y agoI build a belt system, and then bring in more raw resources by train when I deplete the starting-area fields.
- vbezhenar 5y agoYou need to explore around. There are very rich fields far away from your base. You need to setup outpost with train delivery and that'll allow to run for a very long time before those fields will expire. And then with bots it's just a matter of copy-paste new base and connect it to your railway system.
- detaro 5y agoAnd you get research that vastly improves how much you are getting out of a field, at least (post-)end-game.
- 5y ago
- billfruit 5y agoYes, but factorio is largely deterministic, whereas there is randomness in real queueing systems.