Got some neat things done this week!
First of, I finally finished the wind level, and am very happy with how it ended up. Some of this was just writing cut scenes and hooking them up. But part of it was writing the core mechanic for the level, which I think turned out really well.
The wind level, see, is structured like a race. You actually meet the boss first thing in the level, and then he zooms off. You have to reach the end of the level before he does, or else he gets there and gets bored, and you have to start the level over. The way this plays out in game terms is that there is a little meter on the side of the screen showing both your and his progress. He moves steadily along the track at a constant rate. You move faster or slower depending on where you are on the screen.
So if you stay at the bottom of the screen, he'll outspeed you quite handily, and you'll end up in trouble. On the other hand, if you manage to stay near the middle or top of the screen throughout the level, you'll easily overtake him.
It should go without saying of course that the top of the screen tends to be more dangerous, since that's where enemies spawn from.
Anyway, there's a visual cue as well - the background scrolls faster the faster you are going - so it's fairly easy to tell when you're going fast vs. slow. But I really like what it does to the level. I don't think I've actually lost yet, but I've come close a couple of times. It's actually not that hard to outspeed the boss - when you're at the top of the screen, you're moving 2-3 times faster than he is. But it's easy to end up behind, either because you're worried and hiding from enemies in the level or whatever. (Or because I was mean, and made the miniboss fight stop you in your tracks, while the boss runs on ahead. >
It ends up feeling a little like the final fight in Portal - it's not that you have to do anything especially hard, but having a meter there threatening you makes the whole thing feel more tense, even if the meter doesn't actually go fast enough to be a serious threat. Just the fact that you know that the game is timing you about something makes things scarier somehow.
In other news, I finally got around to making built-in screenshots, rather than relying on shift+printscreen. This is good for a couple of reasons. First, it means I no longer have to deal with editing out the window-frame if I want to have my screenshots just show the game-screen. (Since I can just save out the frame buffer directly.) It also means I no longer have to go load up a paint program to paste images into. And the inclusion of some basic code to increment the filenames means that I can just hit the screenshot button whenever something is neat happens and make sure everything goes into a separate file.
But it also means that I can set up a neat "screenshot mode" where it just takes a new screenshot every couple of seconds. Which makes the game kind of annoying to play (screenshot taking takes around 1-2 seconds, during which the game pauses) but means that I end up with a lot of screenshots that I can then go sort through looking for good ones. (This is a much better system than what I used before, where I would try to play the game and hit alt+printscreen mid-game, to catch neat things, and inevitably end up dead as a result.) So, all in all a win!
Since the only pictures I had of the new shader in action were of the wind bosses, I figured I'd use this as an excuse to take some more screenshots of the fire bosses, so that's what the screenshots for the week are of.
In other news, I think I have a couple of new weapons to play with that I haven't talked about in this dev blog yet, but I'll probably save them for another entry, since they're kind of neat, and I will probably want to sit and talk about them for a while. And this post is getting long enough as it is.