Please use fullscreen. The demo is intended to showcase how normally (the bottom sprite) movement can be jagged, along with how this method resolves it (the top sprite)! You may want to use a higher FPS on TurboWarp to get an even better perspective of the difference Dango Cat by @littlebunny06 I was discussing this concept with @SpinningCube, with the impression that it would be performed by using many duplicates of sprites offset by some pixels. Because of that assumption I had mentioned Single Costume Game 1.1 ( https://scratch.mit.edu/projects/1249414438 ) by @360Genius, before Cube expressed surprise that actually the notes already said it used "sub-pixel positions", mentioning that it performs an offset using rotation and scaling. From here, I took that concept and instead of using it for offsetting pixels for rendering with one costume, used it to offset pixels for more precise movement! The "center offset" is the offset from the middle of the sprite to where you actually want it drawn. If you align your sprite with the right edge, this will be 240 - (sprite width / 2) This method is by no means perfect, but it *drastically* improves as you keep moving the sprite away from the center. This can be understood as scaling relatively increasing the x coordinates more while not increasing the y coordinates more, and rotation changing the y coordinates more while not substantially changing the x coordinates Feel free to use this! A mention of the people behind this may be nice but in the end it is just math. Also please try to improve this if you can!! This linear approximation is quite good, especially as you get further and further out, but it's by no means perfect! My primary hope with this is that it can be combined with the tricks you use for fisheye stretching, allowing for that to be smooth as well! I didn't want to put that into the project as it felt a bit out of scope compared to this, and might've taken away from the core concepts it's trying to showcase (that you can use this technique while still being able to smoothly change all of the basic manipulated values which go into it!)