Well done lad! A game full of twists! On the first level where the flag was still neutral, it felt weird to climb over it. But then seeing it move around with rows of teeth... disturbing lad!
Also, as a fellow Godot user, may I share a small tip?
- In regards to the audio as time passed the music stopped. I just make a loop in one of my Global/Autoloaded scenes by going to the Audiostreamplayer, Node-> Signals, and emit the finished() signal to your script. Then $Audiostreamplayer.play() and you create an infinite music loop!
- In the dark level I perhaps using the Audiostreamplayer instead of the Audiostreamplayer2D will stop the issues with sounds playing from different parts of players audio devices. Lately I've gotten used to using Audiostreamplayer for effects. If its a game where you can move the camera around, and you have to explore or something approaches, I use Audiostreamplayer2D. Try them and see!