In Neon Galaxy news: I have been continuing to work on Neon Galaxy, I just haven't been posting about it.
I more or less wrapped up the current phase of AI implementation by making the enemy robots able to use the navigation graph to drive around the maze. So I can spawn a horde of enemies programmed to chase the player and no matter where you go in the map, they'll track you down. They're pretty fun to watch as they meander around, too.
After a bit of noodling around I decided I wanted to implement the rest of the weapons in the game. I started creating some additional classes for things like spread guns and lasers, then I remembered how well the XML stuff worked with the AI and in a fit of orthogonality made it so the weapons are defined in XML as well. They're loaded into a resource library and then instanced just like geometry or sounds. With this, it's easy to set up various spread counts, different colors, damage levels, and so forth, and I could quickly implement most of the game weapons including a shotgun that fires a crowd of pellets and actually applies recoil to your ship.
However, this did make it clear that the game's graphics are just not keeping up. It's not possible to implement cool-looking superbright bullets and stuff like in Asteroids. I finally am having to bite the bullet and reimplement the vector glows as a post-processing bloom effect; this should also have the benefit of being enormously faster than manually drawing all the glows, and eliminate all the tedious messing around with blend settings. I found this tutorial on OpenGL bloom effects, but it's not all I'd hoped for as it seems to spend all its time explaining how to generate the offscreen render buffers -- a fairly trivial task -- and none of its time explaining the precise mechanics of copying the texture around and actually applying the bloom shader. Oh well, I've been putting off learning how OpenGL shader programming works for months; might as well bite the bullet and finally get educated on it.
I also decided that I need to start documenting all the hojillion XML properties in my configuration files as I'm already forgetting what half of them do. I figured Wiki would be a good approach, but my research on what Wiki-like things were available on the Mac wasn't too positive. My options appear to be:
- Feeble Notepad-like applications which are either missing such complex features as boldface or else require you to pay a $15 shareware fee to unlock them.
- Reasonably feature-complete open-source projects which are a) broken b) abandoned or c) both.
For those not familiar with it, MediaWiki is the engine that runs Wikipedia. So I guess the only thing I can do for my tiny little personal game project is to actually install a Wiki application beefy enough to run a colossal open encyclopedia with millions of users daily. Awesome. Well, I can't say there won't be room for growth there.