Classes have been a bit of a mess lately. I haven't gone to many of them, and my grades are kind of suffering as a result. The major shocker was the 62 I pulled on a Data Structures exam. That's embarassing, considering that the test was on sorting algorithms and iterators. I mean, really. Somehow I've got to pull above a 2.0, or I'll face academic suspension next semester. I'll do better after that, I promise.
Not much going on in my life, despite the insanity the world is currently experiencing. I've almost changed my view on the war--I'm becoming less and less opposed to it over time, as long as we're careful about what we bomb and whether we repair it later.
I saw the Oscars last night, and--more notably--Michael Moore's tirade. He was booed off the stage, and rightfully so, after making some really inappropriate remarks about the Bush administration. I happen to agree with him on most of what he said, but it was so clearly not the time and place to say it that I winced as he spoke. He's been demoted in my mind from credible voice to left-wing screwball. Truly a shame, since Bowling for Columbine was such a masterpiece.
Classes began again today, and I celebrated by bombing a Physics test. It also turns out I missed a Japanese exam right before vacation--that's going to take some serious smoothing over.
I've been playing with the idea of keeping a journal for a while now. I had one for years at my old site, but it seems that certain cable companies have decided that they don't like people doing anything with their service: no web servers, no email, no databases, and no fun. The only computer I have at my university is a Windows XP box, and whenever I'm not at school, it's not connected. Not much of a way to run a web server. So I guess that this will do for now.
My current project is a 3D game engine written in C++ using DirectX 8.1. Why Direct3D? Simply because I've never written anything remotely related with 3D graphics or game engines before, and there's tons more documentation out there for D3D than for anything else, and OpenGL is too much of a mess to make any sense of right now. At least when a single company has control of an API, things are much easier: there's only one vertex/pixel shader toolkit (not counting ATI and nVidia's offerings), and having sound, input and networking capabilities in the same API is definitely a plus. Maybe someday, I'll learn Mesa and all that, but I'd also like to think that if I write a game, people will choose not to play it because it sucks; not because it's on an OS they've never heard of requiring them to install libraries they'll never want to understand. Besides, I honestly don't think MS API's (in their current state) are that bad, and I've heard horror stories about X.
In any case, the logic is the hardest thing to build; apps can always be ported. I'm playing with sprite animation right now. I ripped a set of sprite bitmaps from my copy of Final Fantasy Tactics using tools that some guy with way too much time on his hands developed. Like all complex sprites, they come in little pieces that must be assembled at run time. That's not hard. What's hard is finding a way to make them flexible enough to eventually be scripted without actually integrating a script engine first. One cool idea I've seen is to use finite state automata. Hmmm... Any suggestions from either of the people that will end up reading this?