March 1, 2005

One Trillion Dollar Development Pyramid


I'm glad that I don't have the delusions of grandeur that are spoken about in this article. I know full-well that I'm firmly in tier 4 of the development pyramid. Usually, when I find myself reinventing the wheel, I take a moment and browse through the frameworks I use, and find several wheels in various shapes, sizes, colors, treads and scents.

In game development, however, you've got to have a pretty decent mix of tier 2's, tier 3's and tier 4's. Your tier 4's end up doing the grunt work of getting things to work right, and your tier 3's end up writing the helper code to make their work go quickly. Your tier 2's are your engine gods.

Let's take 3D pathfinding, for example. It's not exactly the easiest thing in the world to make happen. Getting a character from point A to point B on a 3D mesh is like trying to get a blind drunk man to walk from New York to California using only, "You're getting warmer," and "You're getting colder," as commands. It's not exactly easy. If you've got a tier 2 guy working on it, you're in heaven. If you've got a tier 3 guy working on it, it's going to work. If you've got a tier 4 guy working on it, you'll be lucky if you ship within the next seven years.

Let's take level scripting as another example, specifically making it so that a door opens when a button is pressed. Your tier 2's would be making the engine properly handle vis cases when the doors are open vs. closed, stream in the geometry as needed, etc. Your tier 3's would be making the open/close functionality exposed to your scripters. Your tier 4's would be writing "open door" commands in script, or making it happen automatically in the level editor.

Point is that all coders have their "tier," but the best coders are the ones who have the drive and desire to move up a tier. I'd love to move up to tier 3 eventually, but right now my drives and desires are sending me down a different path.

No comments: