I experimented using the red gouraud palette sprite bug, which works fine as already known. I also played with another technique that I just call the green gouraud bug, which shifts palettes 32 values, allowing you to interpolate the results. While I'm not using gouraud on the level yet, I'm using flat lightning with palette shifts, so gouraud would just make it all smoother if I can make all the textures fit in 32 colors. Here is the game with both the metal effect (working on real hardware nicely) using both green gouraud shifts (when the metal player is invincible) and red gouraud (both when invincible and not). I (quickly) added global lightning to the maps using per-vertex lightning and averaging the results to get a per-quad flat lightning shifting palettes. I also added back rings and ennemies, but the ennemies are static since I didn't code in an insertion function for the octree nodes.