Monday, 02 May, 2005

What idiot wrote that?

Have you ever looked at a piece of code and wondered "What idiot wrote that?", only to realize later that the idiot was you?

In 1998 and 1999 I worked on the world editor program for the Genesis3D graphics engine.  The company had acquired a level editor from somewhere and I was tasked with extending it to support the 3D graphics engine that the company was developing.  Considering what I had to work with and the short timeline I had to get it done, I was pleased with the result.  I'll be the first to admit that the editor has a number of quirks and a few embarrassing user interface atrocities that it would have been nice to change, but when you're working on a schedule you have to set priorities.

I mention this because a large part of what I'll be doing with my new assignment involves writing a 3D world editor and associated tools.  It's instructive to look at what's been done before in the way of features and user interface to see what works well and what doesn't.  In my case, I can look at the Genesis3D editor dispassionately after six years to see what I did right, what I did wrong, and what features should be added or removed.

This is going to be an interesting project.  I have no illusions of creating the perfect 3D world editor, but I think I can do a whole lot better than I did before.