Monday, August 25, 2008

Blogs Are Silly

This is my introduction of sorts. I'm not of the opinion that every chump on the intarwebs really needs a blog, but I'm also not a web developer and enjoy easily publishing things without having to do any real work. It's a little bit backwards that I can make a game engine in C++ but the mere sight of XHTML/CSS makes my head spin. Incidentally, I don't really have a plan for this blog. I don't actually anticipate (gasp!) readers. Eventually I'll be closer to releasing a game, and I'll announce things here. For now, I may just post random technical updates as I find interesting problems to tackle.

So, a little bit about me. I'm a game programmer (or just "developer", but I'll get to that). Have been since birth, or as near as I can remember. I grew up with BASIC programming, dabbled in animation, modeling, and level design during high school, and finally came back to programming. One BS in Computer Science later, and I was off to the Guildhall to learn what academia doesn't teach about software development and games. Now I'm employed at a very cool studio with two shipped titles under my belt.

But a brief biography doesn't really say all that much about me, and I've still got that "developer" comment to get back to. I'm borderline obsessive about game development. I program games for my job, then come home and unwind by programming games. Couple that with a real thirst for knowledge (increasingly so since I don't have grades that depend on it) and you've got a guy who wants to learn how to do everything in games.

It's not realistic, practical, or anywhere near a good idea that one person could touch every system in a modern game's code base. There's hundreds of thousands of lines of code in even the smallest of engines, and the accumulated knowledge behind any given system could fill books. So we specialize. Gameplay programmers, graphics programmers, AI, audio, physics, etc. And this isn't a phenomenon unique to engineering; artists specialize, designers specialize... There are simply too many kinds of tasks in modern game development for any one person to excel at all of them. But that doesn't mean we put blinders on. In order to do our jobs effectively and to communicate amongst disciplines, the best of us keep informed about other aspects of development.

In my case, that means learning everything about everything in game development, to include tangentially related fields such as music composition. Yes, it's an impossible goal. I'll never even begin to approach it, and that's the point. I'm not a good artist (yet). I haven't designed a good level (yet). I'm actually decent at music composition, albeit woefully out of practice. But I want to be great at all these things, and given enough time, I know I can be. Right now, professionally, I'm a programmer, and I'm very happy with that. But sitting here at my desk at home, I'm just a "developer." I design, I implement, I polish. It's old school. If I need some art, I make some art. And I learn something while doing it.