Scores, Mouse support, and Lag

27 hours 43 minutes remaining

Fixed a lot of bugs that sprouted up when the game states are looped through the multiple levels. Having a working game is definitely a load off -- even if everything else goes to shit, we have a functional, if silent and buggy, entry.

I added mouse support to the main menu, which I think adds a nice touch. It also leads the user to use the mouse on the weapon select screen. It also made me think about adding keyboard selection to the weapon screen, but that is definitely at the bottom of the (very long) list.

I ended up writing essentially some shitty sprite/gui tools to do all my text and icons without resorting to a gui lib. See the previous entries for why I don't want to go down that road again.

To gameplay, I've added a bonus for completing the whole thing, and now it stops the level immediately when you do so you don't have to wait for time to expire while you have nothing to destroy.

The two biggest lag producers in the game are explosions and liquids. On the railgun1 level, there are rows and rows of barrels and boxes in line but behind walls, so you have to line up and blast them with a railgun. This destroys them all and results in a massive fireball of awesomeness (+2 cool). Unfortunately, on my crippled machine this means the FPS drops down below 10, making the game completely unplayable.

In an effort to combat this, I've changed the collision code to only process explosions and liquids every other few frames. It has helped the lag a little, and I think I've got it tweaked so everything still works like it should. I'll probably come back to this area later, especially if some of the testers experience a lot of lag as well.

Next up: music! Wish me luck!