Today was particularly productive. First I added in dodging and and restricted character movement/rotation while attacking . This took far less time than I thought it would and I didn't really have to spend much time looking stuff up, which was gratifying. I knew what I needed to do and after a couple of experiments I just did it. Thie biggest timesink was making a spritesheet with a dodge animation (turning the player into a circle) because I was having some trouble figuring out transparent colors in graphicsgale. I also implemented player health so you can take damage and will disappear when it's out, so I could implement invincibility frames. The character's health in this gif is the same as the enemy's attack, so you can see how the character bounces off without taking damage.
Next I added UI. This of course necessitated adding in a water value, making the water whip drain that value, adding in a water regeneration feature, and making sure the player could only use the attack when they had enough water. Again it was fairly easy and didn't take as much time as I thought. At some point in here I got player knockback from damage working too and doubled the attack speed (it was feeling too sluggish).
I decided to end the day on a lighter project since I had already done more than I thought I would be able to and made the basic layout of my first level. The room with the water will be where the character first wakes up, and the next room will be the first enemy. The path to the north from there will be blocked until the enemies are defeated and the player will learn attacks in the room to the east.
Tomorrow I'm going to spend some time figuring out pathfinding for the enemies. I expect this part of the project to be time consuming because of the amount of raw coding and math involved, so if I don't post for a couple of days it's because I haven't made any real progress. Getting the AI working is basically the last barrier to finishing the 1st chunk of my roadmap. Once I've done that I can do some work on the art and a start menu, and then if there's still time I can start on chunk 2.