I had to step away from this project for a bit, but I've recently had a chance to make progress--most notable of which, I've added a level editor!

The level generator still has a few bugs. The shadows, for instance, don't always draw properly. But the editor works! You can test it
in the demo. One major caveat is that it's not very user friendly, yet. The tiles have little tooltips, but the editor does not catch any mistakes. For instance, the tile called "solid wall" does not define a walkable surface. To have a real floor, any tile with a black underscore _ must be placed.
Also, if you place a gate, there's no way to place and configure a switch. So,
gates are just fancy walls for now.

Commands:
Press "1" to load my level.
Press "C" to copy your level to the clipboard. You can then paste the data in a text file. (At the moment, there is no load functionality).
Use the arrow keys to scroll.
In the game, you can press shift+K to kill yourself. You can also press "3" to open all gates.
One chore I've been putting off for a while is redoing the character art. The existing sprites are mostly throw-aways from another project. I think it's about time to work out something more permanent, and not take so many shortcuts. There are about 300 frames total, but many (more so than I'd like) are duplicates.
Here's one draft that's based off of the original.

I also started making new terrain.