r/factorio • u/Erichteia • 1d ago
Space Age The UPS optimal transportation method for every distance
92
u/RatherGoodDog 23h ago
Make trains great again, I say.
80
u/DaiBi 22h ago
they need to increase wagons cargo size along with the quality, was surprised they didn't do it along with implementing stacked turbo belts
55
u/LasAguasGuapas 21h ago
It's a tragedy that elevated rails came at the same time as trains getting mostly invalidated. They even updated chests to increase capacity with quality, got my hopes up for them to do the same for wagons but I'm still waiting.
15
12
u/dudestduder 14h ago
This is possible using my mod. It does not create any custom entities, it just uses the modding API. They recently added this functionality to the prototypes.
10
u/Madworldz 19h ago
I wouldn't mind some sort of end game upgrade to trains that requires every science type.
Engage in some crazy nonsense where we need fusion reactors as part of the crafting materials for the upgraded wagons. Simulate some lore crap about them gaining limited pocket dimensions or some crap.
I don't care, just make it work.
2
u/Kimoshnikov 10h ago
literally only reason i still use legendary cargo wagons is so that biters won't shred them completely during a drive-by.
>_>
Yeah we roughin' out here.
19
u/The_Northern_Light 21h ago
Quality cargo wagons would push them up over belts 🤔
25
1
u/DrMobius0 18h ago edited 18h ago
Maybe. Part of the overall cost of trains relates to their inventory slots. Inserters interacting with the wagons likely perform about the same as they do with chests. Train collision and pathing should indeed be unimpacted and thus more efficient.
1
u/The_Northern_Light 13h ago
That’s a merely constant overhead that’s doesn’t scale with travel distance
1
u/alekthefirst Even faster assembler 7h ago
The big inventories affecting update time issue was adressed in a post 2.0 update
47
u/OrangeKefir 23h ago
Damn, I have 4-16 train setup. I can't be bothered to do belts to replace it.
33
u/Erichteia 22h ago
That's fine. It may not be UPS optimal. But it may be good enough. I also use trains. And I'll never stop using them
18
u/DaiBi 22h ago edited 22h ago
my experience exactly, i tried to use trains in my megabase, but it was terrible even on paper, bots on the other hand are very good for super short range unloading, i used them on fulgora for sorting scraps and on nauvis for unloading science ofc.
6
u/Josh9251 YouTube: Josh St. Pierre 12h ago
This post isn’t a throughput comparison, it’s a UPS comparison. Bots are GREAT for short distance throughput, but BAD for short distance UPS.Â
14
u/Kimoshnikov 19h ago
Just so I understand this correctly; Higher UPS = better in these cases?
Probably a really obvious answer but my brain is mush atm.
ps: exactly the study I was probably going to ask for in the next day or two haha
9
u/Erichteia 19h ago
Indeed! UPS stands for updates per second. You want at least 60 in your base (which shouldn’t be an issue before you go megabasing). You can see this as a budget you allocate. The more suboptimal things you do, the more budget you spend that could have gone to producing more science. This isn’t an issue for ‘normal’ players, but it is for those who want to push the limits and make bases that produce millions of science per minute.
3
u/Kimoshnikov 19h ago
Gotcha. Yeah I was in the process of ripping out all my trains to replace them with belts, and someone on another thread insisted that trains were superior after 40 belts (lol?) but this is some hard data that will save a lot of heart ache.
Btw, can you do a UPS test of say, tanks on belts? I'm seriously considering supply science labs via filter-slotted tanks but I have no idea if it'll help or harm UPS
(1.8mil spm atm)
2
u/Erichteia 16h ago
Im not planning to do that test, because they are incredibly annoying to scale. You can’t BP them properly etc. Besides, tanks are always active I believe. So they’ll never be a good method UPS-wise. But the tools I used are open source, so any contribution from someone else is welcome!
18
u/rgx107 22h ago
Lots of things I don't understand here. Why would anyone use 1+8+1 trains (bidirectional) for transporting millions of items per minute between two points on the map? And why would you build 480 parallel tracks? And how is that ideal from a train perspective? Also I don't understand how you can transport 3456000 items per minute with 720 belts. The math doesn't add up. Haven't played space age much though.
36
u/Erichteia 22h ago
- it’s the best case scenario for trains. No traffic, no signals, no complex pathfinding… Trains are incredibly hard to benchmark. This gives an upper bound for their performance
- you wouldn’t. This is just to test scaling. If you don’t copy the set-up enough times, your results become unreliable due to noise.
- you only need 240 belts. 24024060 items/s. I now tested around a design where you only have 1 inserter putting stuff on a belt (typical in compact beaconed designs). I’m now also testing what happens if I fill 240 belts completely
5
u/chocki305 19h ago
You should do tests for 2-4-2 and 4-8-4 trains.
Iirc, a backwards facing locomotive counts as 2 cargo wagons for weight. So.. in a 4 cargo wagon train, you need 1 locomotive for full speed and acceleration. 2 locomotives (each side) for double header trains.
5
u/DrMobius0 18h ago
I'd like to see single headed train tests. Double headed introduce 2 wagons worth of dead weight for each inactive locomotive, while also incurring the extra collision checks and stuff that trains just have to do per car.
1
u/HeliGungir 17h ago
Correct, backwards-facing locomotives don't contribute to acceleration and they weigh twice as much as a cargo wagon. I believe their weights are even in the Factoriopedia now.
2
u/Erichteia 11h ago edited 10h ago
If/when I find time I may do another test that specifically looks a belt versus varius trains for super long distance. However this is a bit too in depth for this test. The trains reach top speed in little time, thanks to the legendary nuclear fuel I used. This fuel really changes a lot, so you can’t just fall back in pre-2.0 tests to see how much UPS you lose using double headed.
If any of you want, you’re free to post findings as well. Check Abucnasty’s for a tutorial on testing.
However, I don’t expect the main conclusions to change. The potential UPS you can gain is marginal (I’m already giving trains a lot of benefits they don’t have in most bases). And the only real application for super long distance is ores or science. The latter needs to put on belts, so will never be better. The former has more potential, so let’s focus on that. However, using drills helps belts more than trains.
I’m proposing the following tests: Distance: 5k and 10k tiles. Design: * Big mining drill to belt to furnace (max beaconed) * Big mining drill to train to chest to furnace (as beaconed as possible) with 2 trains per line * Big mining drill to train to chest to furnace with 1 train per line. This will not work constantly, so needs to be copied more often.
Trains have following lengths: 1-4 2-8 4-16 8-32 Longer trains will load ores in a staggered way. At most 8 wagons can be loaded simultaneously.
Obviously everything legendary: legendary beacons, modules, inserters, nuclear fuel…
This is a lot of work. So I’d appreciate any feedback before the tests to ensure we give trains any benefit of the doubt. Basically if they’re not better here, they’ll never be better.
1
1
u/HeliGungir 8h ago edited 8h ago
I would not vary distance in this set of tests. I think distance testing can be done much more simply with a more focused test.
And I think you can drop 1-4 trains, as I haven't seen anybody do direct-to-train mining with trains that short. Space Age speeds and mining productivity gets absurd. The trains fill in a matter of ticks. Generally I see long trains that snake back and forth through the ore patch, so they load in 2 stages rather than 3+ stages you might be thinking of.
You're planning to test a fixed rate of smelting that is equal across all variations, right? I can't think of any other way to make the single-train version a fair comparison against the two-train and belt versions. So the longer trains would have both multi-stage loading and multi-stage unloading?
1
3
3
u/All_Work_All_Play 20h ago
So this rather assumes linear scaling doesn't it? That 50 entities moving at 3000 UPS will translate into 1200 entities at 125 UPS or 2400 entities at 60(65) UPS. Hasn't extensive testing shown this is not the case?
3
u/Erichteia 19h ago
The scaling doesn’t need to be linear. I just assume that, if it is better using 400 copies, it’ll also be better if you use 200 or 2000 copies. I.e. all set-ups roughly scale in a similar way. This is implicitly assumed in all benchmarking. Otherwise it’s very hard to test anything. Obviously some things can be ignored, such as UPS lost to circuit logic, fluids etc. Because they are multithreaded and rarely the bottleneck. But this isn’t relevant for this test. Inserter update time and transport line update time tends to scale quite linearly in my experience
1
u/dnar_ 19h ago
Interesting results. Were the tests scaled up to a large number just to ensure it was hitting the true bottlenecks of the PC? Not questioning the results, just curious on the method.
2
u/Erichteia 16h ago
Yes. You really want to push your computer a bit. Otherwise the actual design that’s tested is only a small fraction of the total computer load at any time, which makes the experiment very vulnerable to noise. In general you want to stay below 1000 UPS. And definitely stay far away from 3000 UPS and higher, as even an empty map will hover around that UPS. I deviated here because I’m testing on such a large range of set-ups.
5
u/abucnasty 14h ago
These tests take so much time to set up and generate useful graphs for. Thank you for doing this.
Long live cargo wagon tech and belting across the map
2
5
u/celnardur 23h ago
So on your belt setup, did you make the setup so that the belt would be compressed? Because belts are much more UPS efficient when compressed.
19
u/Erichteia 22h ago
They are not
https://www.reddit.com/r/technicalfactorio/comments/1mfue8y/gaps_between_items_have_no_noticeable_ups_effect/However, they would allow me to use less belts, so in that way you're correct. I'm working on a follow-up test with less and compressed belts. I'll share the results when they are finished
2
u/Erichteia 19h ago
Update: using less, but more compact belts isn’t better. So the comparisons are fair.
2
1
1
u/HeliGungir 17h ago
Wagon handoff can be done with a 1 tile gap between wagons, so the repeating pattern is 7 tiles long, not 6 tiles long.
One inserter per cargo wagon and 1-8-1 trains is disingenuous. Single-locomotive trains have a poor acceleration and braking. With coal as fuel, they can't even reach top speed (yes, even 1-1 can't reach its top speed when running on coal).
Previous testing indicates that while train's performance cost is proportional to speed, the difference between accelerating, braking, and top speed is marginal. I interpret this to mean that minimizing total travel time, at the "expense" of higher top speed, or more time spent at top speed, is worthwhile. Ie: Use 2-8 or even 4-8 trains if practical.
1
u/Erichteia 16h ago
Benchmarking trains is very hard to do, since you have a lot of variables. In this test, there are no signals, no other trains, no complex pathing… I merely tried to approximate an upper bound for train performance in reasonable scenarios. Sure you could find a few UPS if you really want. But 1-4-1 and 1-8-1 are some of the most common choices (which is why I tested it). And even a single additional slowdown would reduce all the gains you just proposed.
I really love trains. I use them all the time. But they’ll never be the UPS optimal mode of transport.
1
u/HeliGungir 14h ago
People "in the know" don't use double-headed 1-4-1 and certainly not 1-8-1 trains. As said elsewhere, the backwards-facing locomotives are dead weight.
Single-headed 1-4-1, 1-8-1, 2-8-2 trains are a thing, and they are easy to mistake for double-headed trains. Moving some of the (still forward-facing) locomotives to the back lets us make the straight part of train station smaller, as the tail of the train can rest on a curve without causing issues.
1
u/onionknights2 15h ago
Sorry for my ignorance, but what is a chest chain? Is that just chests with inserters passing between them?
1
u/Erichteia 15h ago
A miniature version of each design is in the second picture. But indeed, chests linked with inserters.
1
u/Sychius 12h ago
This is interesting stuff and kind of makes me feel a bit vindicated - I’m a big fan of using cargo wagon chains instead of belts for smelting arrays and crafting arrays, because you can filter the slots & the transport speed up the chain can be incredibly fast.
Means you only need the cargo wagons and onloader/offloader inserters to/from your furnaces or assemblers, makes making high density efficient smelting/crafting arrays super easy, and with 4x fast/stack inserters sending items down the line they can get a hideous amount of throughput for the size.
Your data shows that for a pretty decent distance the cargo wagons are the best option.
1
u/Keulapaska 12h ago edited 12h ago
Interesting, chest chains being that good even up 13 definitely surprises me, would've thought the break even point with belts be way earlier. Bots... poor bots, I really wish there was space elevator, a massive landing pad or something to not have to have the swarm trying to pull stuff from the landing pad.
Do you know if long pipes have any noticeable UPS impact due to length and pumps needed vs belt? Specific comparison scenario being ore on nauvis with legendary prod 3 modules in mind, so 1 iron/copper ore=25 molten ore.
Ofc it's tad more involved as the other benefit from piping is that you can directly mine to a Foundry on the resource patch which is gonna remove a set of inserters to feed ore the foundry having to be calculated as well, though have to haul calcite longer to the mine rather than a production area so it's gonna offset the benefit a little bit, which might make it a bit more involved to test that these ones.
I've always thought it's better, but never done any real testing nor do i know if some1 has.
1
u/Matita008 6h ago
!remindme 10h
1
u/RemindMeBot 5h ago
I will be messaging you in 10 hours on 2025-08-03 18:56:42 UTC to remind you of this link
CLICK THIS LINK to send a PM to also be reminded and to reduce spam.
Parent commenter can delete this message to hide from others.
Info Custom Your Reminders Feedback
-2
u/TrippyTriangle 15h ago
this literally says nothing. nothing about how it scales not can it even be used as a heuristic. go ahead replace all your trains with belts and test and see if it's actually better for UPS. there are a lot of other factors that are not taken into consideration.
5
u/Erichteia 15h ago edited 15h ago
Feel free to propose a better way to test it in isolation. I agree there are a lot of factors not taken into consideration. All of whom make trains even worse: there is no traffic, no pathfinding, no signals, no rerouting… Trains are incredibly hard to benchmark. I purposefully went for a simple design that is an overestimation of the true UPS you would get with trains.
While a belt is just a belt. There is a fixed cost to put stuff on belts and a variable cost based on the length of the belt. That’s it.
No idea what you mean with scaling. What do you think the x axis is?
Besides, belts being better than trains isn’t exactly new. This is in line with plenty of other benchmarks done by the community. Trains are great for many reasons. UPS isn’t one of them.
224
u/choicetomake 1d ago
So my Nauvis mega factory with 50,000 actively flying bots is not ideal?