Factory gamers, which kind of input/output system is better: belts that go right into buildings, or inserters/arms?
Disambiguation:
Belts going straight into buildings a la Satisfactory, Create in modded MC, or Mindustry. Buildings usually have slots that allow you to plug a belt into them.
Inserters/mechanical arms that take items off a belt and insert them into buildings like Factorio, or Dyson Sphere Program
My own thoughts:
Inserters and mechanical arms are generally a cleaner system since setting up assembly lines you just have belts running parallel to machines. The case for belts that directly go into/out of buildings is that it makes the math for throughout a lot simpler because there is only 1 rate in the distribution to worry about. Games where inserters have stacking, different speeds, variable throughput depending on destination, etc... have annoyed me a fair amount so I like the straightforwardness of having a belt that carries 120 items/min no matter what.
A pretty important thing to note is that 2d factory games are gonna struggle with a direct belt access mechanic since it means belts have to go through each other a lot, diagram below
[12] [12] [12]
-/|---/|---/|
--/----/----/
The belts in the 2nd line have to cut through the first. In 3D that's not a problem since you can just stack the lines vertically instead, but in 2D you have to use whatever mechanic the game has to go above or below existing lines. I think this is the main reason the inserter mechanic is most common, but some games like Mindustry solved this problem neatly and allow you to easily pass items in multiple directions. Dyson Sphere Program also has direct belt inputs for a few buildings where only 1 input is needed, but DSP allows belts to easily cross over each other in 3D space, it just doesn't allow stacking assemblers vertically like in other 3D games.
Another solution for 2D games with direct access belts is to allow for the building itself to act as a kind of junction. Final Factory (an underhyped new release) has this system where you run your belts like this:
[1]--[1]--[1]
[2]--[2]--[2]
And as a building fills up, it starts passing the overflow to the next one. This means as long as you feed the first building in the chain with enough items to stock the whole line, you'll be fine. Then you can take the products out the bottom or sometimes you can fit another line through the crafters to take the output from the assembly line.
Also, another thing, some games use neither system because they rely on other systems for transporting items, like units that automatically carry them. I haven't played any games like that outside of modded Minecraft with Thaumcraft golems and Pneumaticraft drones, so feel free to give your thoughts on those (I think Oddsparks works this way? Haven't tried it yet).
I'm working on a 3D voxel game, where I plan to have automation mechanics eventually, so this has been on my mind.
In the current (very possibly changing) plan, the first automation tier will be conveyors that go straight into buildings, but later materials will be too delicate for conveyors and need to use pneumatic pipes, and the final tier will include materials that must be handled with Opus Magnum style swinging arms (which are also inserters).
I like changing the transport system is the best way to do progression in one of these games, because it's directly tied to the map, and thus has the most options for subtlety and cascading changes. And having multiple separate systems feeding into the same process is of course good for adding complexity.
That's actually such a sick idea. I was thinking about how some games have you belting out highly advanced components right next to piles of ore which is just silly. Do you think your game is gonna have big arrays of production buildings (manifolds)? I could see it being a pretty fun challenge to build a large array of production buildings with different styles of inserters if there are Opus Magnum style swinging arms. Like a tiling problem.
Since this is happening inside a multiplayer game, where other players might not be doing automation gameplay, I want to be mindful of how much server horsepower an automation player uses. So giant Factorio-style megafactories aren't a good fit (It'll still be possible as a self-directed challenge, especially if you're running a single player server, but it'll need a hefty computer since I doubt I'll optimize it as well as Factorio.)
Which means I can't do Factorio's thing where an X requires 10 Y requires 10 Z and the massive scale causes problems you need to work through, so I need to add complexity elsewhere to make factory play still challenging. Machines that require inputs from multiple different transport mechanisms are one way to do that. Another might be time-sensitive parts.
I'm up for suggestions on more ways to make particular machines a nuisance to work with.
Right, gotcha. In that case here are some ideas for random challenges:
Recipe that takes its own output for its production (with that output being found in the wild rarely, so something like 2 potatoes + water = 3 potatoes)
Machine that requires cooling during operation like nuclear power plants.
Power generation where there's a central generator machine that needs to receive fuel from multiple inputs (so one inserter arm wouldn't be fast enough to keep it going) but you can also attach separate machines that increase the power generated per unit of fuel. So you balance how many sides you use for fuel input vs. efficiency.
Costly recipes that get cheaper and cheaper the longer the machine has been running with no breaks, which could of course be combined with one tricky ingredient that makes them hard to supply consistently.
Machines that give positional bonuses to machines of another type. For example, an advanced smelter that gives centrifuges near it 20% production speed. You'd normally never really have those together, but make the bonus big enough and players will start to consider changing their layouts.
Nice ideas! Some already on my list, so we're clearly on the same page.
Those last two combine in a cool way. If you have a machine that gives better outputs and requires faster inputs the longer it runs, then wiring all of its inputs to production boosters is good, but also hard because this sort of thing will encourage a very cramped design already.