Thank you for the feedback! We'll work on some of the bugs after voting ends.
Interesting thing, we actually didn't use any shaders! The submarine itself just alternates rotating 1 degree and -1 degree over a 4 second period, and the background is just a sprite I made in Aseprite using the built in dithering in gradients, which slowly moves down as the game progresses and moves 24 pixels left then resets on a loop to do the movement effect.