Waterfalls! Note, work in progress ~ I could still be happier with how it looks under the water line. Things are becoming tricky, as I have like 4 different shaders colliding and overlapping here. The dark bubbles under the surface would be a lighter color if I could choose freely, but I have to draw them in the default sprite layer, and then they'll also get the default underwater color. I'll try to mess around with it some more in the future, but this seems good enough as a place holder to get James started with the new watery area.
The left one is a standard waterfall, as I imagine most of them will look. The right one is a weaker one that's a bit broken up, I want this for cosmetic purposes. The standard one looks very square, so the weaker one can be used to make a room look more alive. Both of them could use some more work though! Let me know if you have any tips
Right now the waterfall affects you while you're in the water - if you're close to the surface it'll pull you in and push you down, further down it will push you down and away. Above water it's purely cosmetic, you don't collide with it but move "in front of it". I'm contemplating making it so that the waterfall hits creatures above water as well, and pushes them down. There are a few things to consider here though. First of all, could I make the creature/water interaction look good enough to be happy with it? It'd want some kind of water splatter, and that seems very difficult to implement in a way that looks good. Also the waterfall should probably be affected somehow. This could probably be accomplished by breaking the sprite up in two where the creature breaks the waterfall, and use the weak shader (right in the images above) below that point. But there are also gameplay implications. Waterfalls generally cut rooms up horizontally, and if they are (somewhat) an obstacle, rooms might feel claustrophobic as you'll find yourself locked into little cells without freedom of movement. This might be okay for the player, but lighter creatures such as bats will get pushed around more by the waterfalls, and be even more limited as a consequence. Bat movement might be incredibly limited if the room is cut up by vertical barriers that the player can move through but the bats can't. So, still thinking about that one. Will consult with James and get back!
In shader news, you might notice a some water glimmer on the walls. Adds some atmosphere according to me! I'm really going crazy with the shaders here, but this one is actually not baked into the main shader, it's just a sprite that's placed on top of everything. So some graphics options can easily be implemented where that sprite is simply not created, and the GPU can be spared some pain and suffering. The effect is not for an entire room, but only above water surfaces and extending a few hundred pixels upwards.