I've been quiet on my game for a week (except for discussing a shader I made for it) but I've still been busy, on two main things. One is a graphical overhaul, involving the shader but also a new way of drawing filled rings and a lot of tweaks to make it work, which I finished last week.
But then I ran into a problem. One benefit of procedural code is the ability to recolour things on the fly, producing a different look much more cheaply than recolouring sprites in a graphics package. I used this a little in Bug Tunnel Defense but this game is built from the ground up procedurally.
But the way I coded it had one constraint: the background had to be dark because of the blends I'd used. And more than anything I could see the benefit of inverting the look, so it was on a light background, both because of the extreme contrast and because there are some effects that work best on a light background.
So I had to refactor the code so it did't depend on blends that could only darken. I also wanted to do it without making the game slower, knowing I would have to draw some things twice but could remove some other draw commands.
I think I've succeeded. There are still a few glitches which I'll have to track down and colours are all very preliminary without even a first pass at adjusting them. But it already looks totally different but looks like and plays like the same game. As a bonus the shader I made last week appears in a couple of places, though it looks about the most broken by the colour inversion.