Horrible rendering issues with players far from (0, 0, 0)

I discovered this issue a few years ago but was unable to report it due to not being in the developer forums.
However, I was recently reminded of this issue while I was taking a look at @berezaa’s game creation livestream and watched as he experience the same issue I had years before.

The issue is very easy to replicate and I have attached a place file to easily view the issues at hand.
REP.rbxl (12.3 KB)

When players are far from the worlds origin point of (0, 0, 0), numerous odd rendering issues begin taking place.

In my repro I have a baseplate and spawnpoint set at the coordinates (50000, 50000, 0), when a single player plays this alone, they have no issues and all appears fine.

As soon as you begin to play with others is when the issues arise. The other players are FAR offset from the positions that they see on their screen compared to what you see on yours.


(The positional offsets seem to be caused by how far left/right/up/down the players are from the worlds origin point)

The farther out the position from the worlds origin point, the more severe this issue gets.

Heres a screenshot of the same issue occurring to berezaa during his livestream.

While this issue can easily be avoided by staying closer to the worlds origin point, I don’t think anyone should have to worry about how far they put the players from it and wonder what the hell is going on when they do so.

Fairly sure this is a floating point precision problem. Essentially there are only so many bits reserved for numbers, so the bigger a number is, the less decimals it can support. When you’re far away from the world’s origin, your Position Vector becomes really big and thus things become less accurate, including player positions. The only solution to this is to render things in local world (relative to the player) instead of relative to the world’s origin, but that requires a lot of effort and rewriting to implement. I don’t think a change or fix is really needed because once you run into this problem, your game is either too big and you should just be using universes at that point or there are many optimizations you can make by yourself.

3 Likes

Universes aren’t an entirely perfect solution until we can load places in the background and not require players to wait through a loading screen every time they change worldspaces.

1 Like

This isn’t so much a bug as it is a technical limitation.

3 Likes