This is so great. Another fun trick we used in the 90s was palette animation -- by swapping the palette you can create incredibly cool effects at a low runtime cost.

Changing the pallette mid-frame is fun, too. You have to pay a lot more attention to timing since you don't have a copper (like the Amiga) on the PC, but it's still feasible.

Indeed, and I highly recommend this website for some stunning examples of the technique.

http://www.effectgames.com/demos/canvascycle/

I recall that Diablo 1 (and 2) has a lot of enemies that are essentially the same sprite but different palette. Is it the same trick?

it used to be a hardware thing, so if your pixels were represented by a nibble, and the definition of the color for each of the 16 possible value is in table the hardware references, you just update that table (on a vsync, or even an hsync) and you could get cool animations effects (for the time)

random example from the Atari 800xl https://www.youtube.com/watch?v=uPjLZ4MVKCc (you can see how slow it is to draw a scene, but the animation effect due to pallete rotation is really fast).

Thanks for the tip!

Blue: water. Purple: plasma. Red/orange: blood/lava