I didn't mean those games specifically, I just mentioned them because they run into the issue with floating point numbers.
Basically floating point numbers are stored like this fo example:
1.234 *10^10
Two numbers are stored. The significant digits and the exponent.
So just for example say it only has 4 significant digits and a two digit exponent you could represent various numbers like this:
10 = 1.000*10^01
192 = 1.920*10^02
1,000,000,000 = 1.000*10^09
Etc.
The result is you can represent a wide range of values but the limitation is the numbers further from zero are further apart. Or in other words, there are more values closer to zero.
For example take 10,000
1.000*10^04
The next higher number is 10,010
1.001*10^04
So with a number that big the closest another different number can be is 10 away. And the distance only increases with bigger numbers.
Now the actual floating point format uses 15-17 significant digits, but in a similar way the differences from one number to the next increases at extremes.
To fix the object distortion subtract the ships position from everything to shift toward zero so the the corners of the object's quad can be placed with higher percision.
As your ship nears the edge of the Galaxy (maximum 64bit floating point number) you'll run into another similar issue. The ship with no longer be able to move by small steps, instead it will jump by larger and larger steps until either a position of infinity is reached or the step exceeds the velocity, at which point the ship will stop moving.