It's proved very handy to start implementing a desired feature -- in this case, I wanted an automated cExplosion class which, when given an entity, would construct an animated explosion of the lines that make up the entity flying apart in an amusing fashion -- and then backfill the needed engine features. For example, to do this correctly I needed more sophisticated matrix classes and functions, as well as better systems for accessing shape geometry, so I did my best to implement them in a reusable way.
It's worked out very well for me. As an example, the input system I wrote to handle the ship controls is elegant and reusable to an extent that, when I realized I really needed a pause function (because the window screenshot hotkey functionality in Mac OSX is so weird and broken) it took literally less than a minute to knock out a cGameControl class that -- purely by having an instance of itself created! -- hooked into the input system, caught the appropriate keypress, and paused the game, without having to hack any random extra keyscanning into the main loop somewhere. I'm pretty pleased about this.
In other news, I did want to mention that while visiting my uncle and his family on Thanksgiving we watched Indiana Jones and the Kingdom of the Crystal Skull, which I never got around to seeing when it came out in the theater. And, well... Honestly, I liked the first part, because right now I am a total sucker for a lighthearted '50s period piece. But man, did that movie ever fall apart once they left the US. Ugh, what a mess. I will say, though, that I was amazed and impressed with how not annoying Shia LaBeouf was. Unlike Transformers, not once did I want to stove his head in with a broom handle. And no, I don't hold the "Tarzan" scene against him personally -- nobody involved with this production has clean hands, okay?
In summary, at least it was better than Temple of Doom.