Rotating sprites

Much like for scaling, the Mega Drive isn't able to rotate sprites in hardware and the CPU certainly isn't up to it. Ergo, we're going to see a way to cheat "good enough" rotation for sprites.

Prerendered rotation

As was the case with scaling, the most common approach is to have multiple versions of the same sprite at different angles. Again, this can eat up a lot of memory, and doesn't look smooth when it isn't spinning fast enough.

Example: a cogwheel which rotation is made out of four frames. Even though each frame only spins about 11 degrees, it's still not enough to make the rotation seem smooth.

This isn't much of an issue for something that spins all the time (looks like a nice hand-drawn animation), but it can be a big deal for stuff that tries to aim towards a target or the like and there's a high chance to get stuck between steps.

Going smoother

Something also brought up in the scaling page is splitting up a sprite into smaller parts, and this becomes relevant again for rotation. The trick is to split a sprite into smaller pieces that can be moved around individually, having rotated variants for each pieces instead of the sprite as a whole (much like the bosses in Alien Soldier).

The cogwheel is made out of multiple sprites. There's a large sprite making up the wheel itself, and then individual sprites for each cog at different angles.

As we can see, this allows for much smoother perceived rotation, since even if the individual pieces still suffer from lack of frames, because they're moving the brain perceives the whole object as rotating and you have to be explicitly looking for the issues to notice them.

(the red box is the wheel and the white boxes are the cogs)

Animation of the cogwheel assembled, with the wheel in the middle and the cogs moving on its circumference. If you pay attention you can see when the cogs change sprites, but since they're constantly moving the brain perceives the cogwheel as rotating.

Other examples

The Sonic 1 special stages are essentially this effect applied to the whole foreground (the GIF below used game genie codes to remove the artificial clunkiness the special stage rotation has). Every block is a sprite.

animated GIF of Sonic sitting on a corner in a special stage in Sonic 1. Every block in the foreground is a sprite and they move together to create the rotation effect.