I've made a few more additions to Project Nova. Now I've added in a "Master Controller" class for handling all the game objects. At the moment, I've just got some memory mangement for the enemy lists and some simple physics modelling. Here's a screen shot of a swarm of enemies in the midst of "just falling down":
I've changed the background to blue in order to contrast out the enemies a bit. If the screenshot was a video capture, you'd see the enemies accelerate downwards as if affected by gravity.
However, my code for the objects is rather ugly. At the moment I'm using a series of lists to handle the memory, the A.I. updates and the display order, but it will get a bit hard to manage once I link all the enemies together in formations. The physics modelling needs to handle not only linear acceleration but angular acceleartion, as well as rigid and Hooksian spring links in order to get the effects I want. I think I'll need to substantially rewrite the base classes to make that workable (maybe storing all the enemies in an acyclic graph?)
I also figured out (most of) what was wrong with the background stuttering. Firstly, for some reason I'd switched the vertical sync. to "Always Off" in my video card settings (and boy do I feel like a Grade A Muggins for not thinking of that one earlier). That fixed some of the tearing at least in fullscreen mode.
Secondly, there was some slight jerkiness with the scrolling, that I eventually traced down to a floating point rounding error; the fractions I'm adding together for the scrolling background offset are so tiny that I suspect they were causing some weirdness with certain values. The background was scrolling smoothly after I added a multiplier to the offset. However, the background is stuttering again with some of my enemy stress tests, suggesting there's either a new factor in play now or something else. It's not so bad at the moment so I'll leave it until the object code architecture is reasonably fixed.
I've also tried two of the 4E4 submissions, "Ninja Heart Pirate" and "Against the Dead", and I'm extremely impressed with both of them. The artwork for "Ninja Heart Pirate" is spectacularly good, and the rest of the game is very well polished. For "Against the Dead", there's something about the Flash-styled art that appeals to me too. I'm so impressed that I think I'll try to put in the effort to throw together something for 4E5, whenever that is held (when will it be held? Is it the same time every year?)
That's everything for now. Any comments and suggestions are always welcome.