WASD to move, click to shoot. Change the slider to change the smoothing amount. 0 = no smoothing, 1-4 = different levels of smoothing. Level 0 and 1 are functionally identical. This is a tech demo and as such there is no objective. Normally, Scratch only renders sprites at integer coordinates. This means that when sprites are moving slowly, they only appear to move every few frames. This is very noticeable and becomes even worse in fullscreen mode when the stage appears 2-3x larger. This project makes the effect not as bad by having multiple costumes for the bullet sprite, each of which is at a small offset. It then keeps track of the precise position of each bullet, and chooses a costume based on it. For example, if the precise position is (12.5, 132) it will move to (12, 132) and switch to the (0.5, 0) costume. The effect can clearly be seen if you shoot a continuous stream of bullets and toggle motion smoothing on and off. v2 update: It now uses a single asset with different rotation offsets. Thanks to @MonkeyBean2 for pointing this out. The smoothing amount now goes up to 4 instead of 2.