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?