No, this isn't an article on RPG design. Allow me to wallow in geekdom for a moment, though. In your typical fantasy RPG, you can play a fighter, wizard or thief. Some RPGs also allow you to multi-class (play a fighter/wizard, and so on). You can do the same thing in game development, too. You can hire artist/programmers. (Technical artists.) You can hire programmer/designers. (Gameplay programmers.) You can hire game designer/artists. (Level builders.)
We have a few of these multi-class characters on our team. Both James Chao and Alex Bortoluzzi are highly technical artists. They know some programming, and they know how the engine works well enough to jump through the hoops to actually get new art in the game. Jason Bare, a programmer who owns every game console known to man, makes his game design ideas become flesh. Tomo Moriwaki, who went to art school, knows 3ds max, knows how to program in our scripting language, and knows games. Matt Rhoades is a writer and game designer. And me? I'm a programmer/manager/designer.
The problem with being a multi-class character, in games as in life, is that you will never be as good in a given field as a specialist. Everybody knows how valuable it is to have specialists. We have several twentieth-level coders and artists at Treyarch--they are devoted to their specialty. These are the people who save the company on a regular basis. Without them, we would be nothing.
Still, generalists have their uses. Although in RPGs it's usually a bad idea to play a multi-class character, it's not a bad idea at a game company to have several of them around.
For one thing, they don't have to be dependent on other people to get work done. Game assets go through a lot of hands before they're finished: a modeler models them, a texturer textures them, an animator animates them, designers and programmers script their behavior. And whenever an asset is handed off from person A to person B, one of these annoying things happens:
I personally prefer the third option, but that's irrelevant right now. My point is, if you have one guy who can handle two stages of an operation, there is no downtime or multitasking--with the end result being that the asset becomes ready that much sooner.
Another thing about multi-class characters is that they can do the work that needs doing. As a project goes from start to finish the numbers of kinds of tasks that need doing change. If somebody can do programming at the start of the project, and then switch to becoming a designer at the end, when the engine is locked down and you just need to add content, you're being more efficient.
The third thing about multi-class characters is they quickly become hubs--go-to guys--partly because they're so productive they soon are responsible for a large part of the game, and partly because they understand a larger part of the picture than the specialists, and partly because they can communicate between multiple camps. This sets them up to make ideal leaders. In fact, whether they want to be leaders or not, they will soon find themselves telling other people what to do, and helping other people get past obstacles. It's no coincidence that Tomo is the creative director, Jason is the lead gameplay programmer, and James and Alex are art leads on the Spider-Man team.
If there's a downside to multi-class characters it's that they quickly become overloaded with things only they can do. Both Jason and James have a list of tasks a mile long. They have become bottlenecks. We need more of them, or we need to find some way to break those tasks down so that specialists can do them.
So I've convinced you of the value of these people. The question now is how do you get them? At Treyarch, we just got lucky. We hired people to fill specialty roles, and it turned out they had other talents as well.
But you don't have to rely on luck. And here come my untested theories:
You can hire multi-class characters. Other companies do this. At Double Fine I've seen postings for both Gameplay Programmers (Programmer-Designer) and Special Effects Programmers (Programmer-Artist). At Insomniac I've seen postings for Gameplay Programmers. (My boss wants to know what was I doing looking at other companies job postings. Um, researching the competition, sir!)
And something that isn't done, but maybe should be: cross-training. Teach a programmer to use 3ds max, or send him to art school. Teach an artist how to get around in your scripting language. Send a game designer to management seminars. Cross training works in manufacturing; maybe it could work for us.