I wrote fade-out code for explosion particles in a Pygame project, and it looked fine to me for months. It never faded once, and the reason is a quiet rule about how Pygame draws.
The guided version of Asteroids moves the ship directly: press a key, move; release, stop. I wanted it to feel like space, which meant momentum, and momentum turned out to need a compromise.