My friend and I routinely have conversations about factory design.
His ideal factory ships every ore in its raw state to a single building, which can then move the ore to different floors/sections for processing. He goes further than most and separates each product into its own “room”, so all steel bars are made in one room then shipped to the steel beam and steel pipe rooms. Importantly the factory should be designed so that you can “infinitely” expand a room if you need more of that resource.
I prefer what I call “microfactories”, where each component is created in a small, independent factory and the result is shipped to a main repository for builder use and for the space elevator construction. If you need modular frames, for example, you would find a group of ores and build a small factory on it and build every sub-component you can in it. Ideally, it would not rely on any other microfactory’s outputs, but sometimes that’s easier said than done. Often I will have a small cluster of microfactories all dedicated to shipping their output to a final microfactory for processing.
So what do you all use?
Note: He claims his design is more analogous to microservices (from software architecture) than mine, and that mine is something apparently called “pirate architecture”. I think he’s out of his mind on that one.
Is “Flying Spaghetti Monster” a valid answer?
I did both… never could settle on one or the other.
But finding areas suited to intermediate components (such as oil to plastics, fuel byproducts, etc in one area) then using trains to send them to be used in more complicated factories was fun.
So extraction to intermediate for some things across the map and then all those shipped to a mega factory for larger and final products could be a compromise
I used to be at your extreme where I would have huge microfactories building e.g. screws and train them all over the place. I was also at your friend’s extreme at one point, doing only a single item on each floor, ending up building as high as the top of the space elevator.
The last playthrough before 1.0 dropped (and the one before it), I have adopted more of a hybrid approach where the only micro factories I tend to build are aluminum, oil processing, and energy production… plastic/rubber, coal plants, fuel processing, turbo fuel, etc.
Then I train it to the megafactory. I also haul in all raw resources except the ones mentioned. The hybrid approach I am liking is to smelt on floor 1, constructors on floor 2, assemblers on floor 3, etc. So I mix things on different floors. It makes it harder to manage, so I have to keep the megafactory smaller. Then I go build another megafactory somewhere else.
If on-site production reduces increases stack size of a raw material by a considerable margin I will do that, which means basically everything except aluminium (I did the math… I think). All those products are then shipped to the main factory to add to the chaos.
I got halfway through the post before I realized it wasn’t about over-engineering a Java application.