October 17th, 2023 Livestream Q&A: Can you explain the Mk.2 Pipe bug?

October 17th, 2023 Livestream

Q&A: Can you explain the Mk.2 Pipe bug?

https://youtu.be/0w6CZ5yCTy8

This question has a related video
Suggested Wiki Reference Code <ref name="yt-0w6CZ5yCTy8">[https://youtu.be/0w6CZ5yCTy8 YouTube - October 17th, 2023 Livestream - Q&A: Can you explain the Mk.2 Pipe bug?]</ref>

Topics

Transcript

can you explain the mark 2 pipe bug, I can try to it's, so I'm sure there are really good YouTube videos to explain this problem better but the root cause of the pipe buug is because of, floating Point errors or floating, Precision errors with floating Point numbers, and really brough really roughly I think it's better to watch like a YouTube video explaining this rather than having me try to explain this because this is a this is a generic problem with Computing, with floating Point numbers, in general but the the the Crux of the bug is that when you have Mark 2 pipes, we're doing a lot of calculations and we're doing a lot of calculations on calculations on calculations right, so one issue when we're using floating Point numbers is that, floating Point numbers are essentially like when you have decibal numbers you like you can have theoretically an infinite amount of decimals right and if you want to represent certain numbers, you need like a vast amount of of decimals to like properly represent like some fractals right, when you're using computing power and like the way that, floa input numbers work is that you want to have a set of n of of values for decimals and when you use floating Point numbers that value like the amount of decimals you have that will shift, depending on the numbers which means there are certain decimal values that cannot represent INF flating Point numbers, and the issue with the pipe bug with the mark 2 pipe ones is specifically is that we are doing a lot of calculations on calculations and when you get to like the higher values of those numbers we shift more and more away from like the Precision and we lose out a littleit of position, and if you have like low frame rates and and we don't have have

[Music]

, like enough Precision we lose out a little bit and you know when we lose out a little bit after time it becomes like visible, sort of so the issue is with Mark 6 pipes is that in certain circumstances they are not you know 600, cubic meters of water like we they're like 597 or something like that, sometimes so it kind of shifts back and forth a little bit so when people have buil setups where they actually required to have the full 600 like if you're overclocking nuclear power plants and stuff like that and for have it to run you have to have like, then you can rent it issues so why not use doubles because doubles are way slower to use than floats that's the main reason why, a lot of calculations, would become very expensive we use doubles, why is it tied to frame rate, it's not really tied to frame rate it's just that like, During certain frames you can get a more precise number of value and certain frames you don't and when things fluctuate back and forth a like, it it can seem as if like it's more off than it actually is, similar Pro problem with fastest belt so, not really because fastest belt is that's a visual thing more so than like actual logic running in in behind the scenes so it's more like representation of items on on belts rather than like actual where things are, belts and pipes work very differently even though they're technically the same thing, they work very like in terms of like transporting one thing from one connection to another, they work very differently, yeah what if you make it pip 611 so that makes it worse actually that's one of we actually didn't want to go up to 600 because that's like sort of the limit for for it cu the the issue becomes worse and worse the higher the value gets, it's a similar problem to I don't know if you guys have ever heard of, or seen this is super specifically game devs but, there's a game called and it the name ISC it's like outer Wilds or outer worlds it's one of the two the one where like moving around in space, and you're like in a little spaceship, and a huge problem with that game was that, the further away you get from the center of the universe the less precise the numbers would become, for like all the the, linear algebra that's going on for like the the the how things are moving right and there's a video where I don't know if he's the one who posted it but there's a video of like a globe or something that's just moving away and the camera follows the globe as just moving away from the center, and like at the further I gets the further it gets the more like it gets all Jagged and because the Precision is lost, not sure if I can I'm sure I can find that video I actually found the video holy okay so I actually found it, so here's a good like demonstration, somewhat I don't know if people will actually get this when you're just looking at this but like this is roughly what that issue is like what's happening in the video is like it's moving further further away from the center of, like when the way you represent the the the position of that object in AUD space is like based on like the 3 axis right XYZ so the further away you're moving from the center, like the higher values, the more of this issue run into, when you're using FL in point that