top | item 28725359

Factorio's Belt Bug

185 points| pubby | 4 years ago |pubby.games | reply

63 comments

order
[+] freeone3000|4 years ago|reply
This is a deliberate trade-off for performance, as described in https://www.factorio.com/blog/post/fff-176
[+] pubby|4 years ago|reply
Sweet article but I'm pretty sure the optimization there is independent of the circular belt bug. Presumably one could implement a similar optimization for both algorithms (it just might be hairier for the second one).
[+] bastawhiz|4 years ago|reply
Yeah. There's no way you could build the ridiculous stuff that some folks do if each individual item on a belt was checking positions and moving individually. It's simply too much stuff.
[+] bregma|4 years ago|reply
It's not a bug. It's a game mechanic. If it was a bug Wube would have had it fixed within 24 hours and pushed out a new release. They are an admirable exemplar to inspire all of us.
[+] tomtimtall|4 years ago|reply
The fact that they chose not to fix it does not mean it’s not a bug. It’s obvious to even a first grader that this is not how items on a circular belt should behave.
[+] pyrale|4 years ago|reply
If author is here, I would showcase this behaviour with a mixed material circuit gif, because it is not obvious at all to the spectator that the impression of stillness is due to the belt being still and not to the refresh frequency moving items exactly to the former item position.
[+] lullibrulli2|4 years ago|reply
As with all bugs and edgecases this of course eventually became useful for some setups: https://www.reddit.com/r/factorio/comments/9bs4sx/my_new_kov...
[+] Dylan16807|4 years ago|reply
From the description, it takes advantage of belts being a little weird, but if it actually hits 100% that setup locks up.

Also, as pointed out, that setup can be made more reliable and not-glitch-using by making the bottom left corner of the loop a slower belt.

[+] etempleton|4 years ago|reply
I have accepted this is how belts work and it is intentional for some reason, but on my first build I struggled with this.

My concept was that all of the research would be centralized and wrapped with a single belt that continuously loops with all of the various research types. This kind of works, but everything gets backed up and then no longer rotates, which limits access.

[+] nyanpasu64|4 years ago|reply
A cycle of belt items never moving because each item is blocked by another item (whether moving or not), reminds me of a cycle of reference-counted objects never being freed because each object is referenced by another object.
[+] bloopernova|4 years ago|reply
Factorio is driving me to upgrade my 2015 i7-5820K based computer. I've been playing with 2 sets of mods, "Bob's" and "Angel's" which increase the complexity of Factorio by at least 1 order of magnitude.

To run a base large enough to produce everything I want has dropped the speed from 60 updates+frames per second to about 40, with each addition further slowing the whole thing down.

It would be an interesting exercise to see how much complexity one could add to a Factorio map before the updates/sec start to drop. I'm hoping that a new AMD chip will be able to handle a much, much larger base/map before slowing down again. EDIT: To actually finish my thought here: You could test different CPU/RAM configurations with a series of maps of increasing complexity.

[+] 130e13a|4 years ago|reply
I seem to remember reading somewhere on the forums or the subreddit that for Factorio, memory speed is a lot more important than CPU/GPU performance (in terms of the UPS gains you can achieve by improving either of them)
[+] X6S1x6Okd1st|4 years ago|reply
Yeah my K2 + SE run now allocates ~98% of all my available RAM.

I have to upgrade my computer to load the map if any other applications are open (something is also messed up with my swap, it just grinds to a halt)

[+] philipov|4 years ago|reply
What a coincidence. I just spent all day playing Factorio.
[+] alexktz|4 years ago|reply
It's Saturday... What day do you think it is?
[+] kevincox|4 years ago|reply
Tangential: I love the stylesheet. A whole 4 lines to make a very readable website.

https://pubby.games/style.css

[+] Wowfunhappy|4 years ago|reply
It's good on desktop, but when I initially looked at this article on my iPhone, the photos were much too small.

I sometimes think that the rise of mobile, and subsequent need for responsive design, is what truly killed the ideal of an internet driven by readable markup and only the most basic stylesheets.

[+] Evansbee|4 years ago|reply
I bet you just nerd-sniped them into their next FFF post.

This is almost certainly a side effect from their belt optimization from years (?) ago? Strangely I do sushi belt science sometimes and I’ve never noticed this bug, I’d wager the splitters and circuit network stuff changes the behavior enough to avoid the problem.

[+] mbrodersen|4 years ago|reply
Hello my name is John and I am a Factorio addict. I have so far managed to go two days without playing Factorio. But I fear that my resolve is slipping away. I dream of belts and factory layouts in my sleep. Of killing biters with long range artillery while laughing like a crazy person. Of witnessing yet again the launch of a mighty rocket as it race to the heavens. My name is John and I am a Factorio addict.
[+] tullianus|4 years ago|reply
Is the "Merges" section true? In factorio, since belts have two lanes, a T-intersection merge like the one pictured doesn't zipper; instead, the left belt feeds onto the left lane of the central belt and the right belt feeds onto the right lane. If the central belt already contains an object, that object has "right of way" over merging objects.
[+] marcosdumay|4 years ago|reply
So, for having a problem with this bug I need not only circular belts, but also letting them fill-up with mixed materials?

Well, I for one don't care about it. If you are letting belts fill-up with mixed materials you already have enough problems that you won't even notice this. And circular belts just aren't useful.

[+] pjerem|4 years ago|reply
Circular belts are useful as fast buffers.
[+] fimdomeio|4 years ago|reply
What would happen in the real world? If fully compact means full of material, then would corners have more material that would spill over after the turn? Or would this cause so much friction that materials would stop moving?

I think we need a mythbusters style investigation on this.

[+] VortexDream|4 years ago|reply
In the real world, the items aren't moving, it's the belt that's moving. So the belt just keeps spinning even if it's completely filled with items.

The cause of this bug is the fact that items move while the belt is static (despite the animation) and their moving requires a free spot in front of them. Once the belt is full, there's no empty spot for items to move into and the items stand still. The loop is stuck.

[+] Joker_vD|4 years ago|reply
I... don't quite see how it's a bug, honestly: if the belt is full, you should not be able to place another iron plate on it. And indeed, you can't. What's the bug?
[+] ericpruitt|4 years ago|reply
The problem isn't that you can't put more stuff on it, it's that the contents aren't moving. When the contents of the belt are perfectly homogeneous, this is less of an issue, but if you had a belt full of mixed materials with grabbers configured to pickup only certain materials, those grabbers may never have the opportunity to pick up their configured target because the belt contents don't move once it's full.
[+] francoisdevlin|4 years ago|reply
Here comes 1.1.42. I'd expect it cob Monday, even Wube would get the weekend
[+] aenis|4 years ago|reply
Any article referencing Factorio should warn how insanely addictive it is.
[+] mbrodersen|4 years ago|reply
Yep :) I have played Factorio more than any other game. By far.
[+] tz18|4 years ago|reply
this is like coinduction