|
Why
Being A Computer Game Developer Sucks
(cont.) |
|||
|
|
Failed products and harsh economics aren't the only reason why the games industry has become a miserable place. Part of the reason why I fled from Hollywood in the early 80's was because I realized that Hollywood, with it's creativity-stifling unions, bureaucratized studios, and disreputable agents, was not the way to a happy life. Not everyone gets to be a Spielberg or a Lucas, and in fact the vast majority of workers toil away at one narrowly-defined job with no creative freedom whatsoever. The few truly inspired creators, the ones with the really unique ideas, are targets for exploitation and fraud. When I realized, a few years ago, that the whole "Siliwood" thing was a bust, and that Hollywood was not going to take over, I breathed a sigh of relief. Now I find the games industry is becoming more and more like Hollywood itself, where each person has his or her little job compartment or specialty, and must never stray outside of it for fear of stepping on someone's territory. "I don't understand," says the manager, "I thought you said you wanted a position as a programmer. Now you're telling me you want a position as an artist?" Even when they know and accept you as a multi-talented, multi-skilled person, they still have trouble figuring out ways to apply your skills in anything but a single narrowly-defined capacity. I should also mention that the games industry has little respect for experience. What the games industry runs on is youthful energy. It loves to exploit 19 year old programmers who work 10-12 hours a day, get paid less than the standard wage for programmers in other industries, and don't know squat about software engineering principles. There are very few 40-year-old game programmers; I'm one of few who hasn't been "burnt out" by the murderous pace. But more and more I feel like I don't "fit in". I find myself less and less interested in doing the same games over and over again, targeted at an audience of 14-year old males who have been programmed by evolution to enjoy the thrill of combat and the hunt. Quake and Unreal are great games from a design and technical standpoint, but frankly they bore me. (In case you are wondering, my two favorite games are Might and Magic II, and Civilization II). Despite the fact that the games industry has aged tremendously in both it's bureaucratic structure and the sophistication of the technology, the software engineering practices it uses are still juvenile. It amazes me to find managers who have copies of classic works like Rapid Development, Writing Solid Code, and Peopleware on their bookshelves, yet somehow fail to actually apply the principles in those books. The culture of the industry is simply too strong, and trying to take the time to do things right (so that it saves time later) is like slogging through mud. The whole process by which games are budgeted and scheduled, for example, is something that I find amazing that anyone could take seriously. Anybody who's studied software engineering knows that a schedule which underestimates the time needed to develop a project actually makes the project take longer. Countless case studies have shown this to be true. Yet we insist on shipping projects "by Christmas season" so that programmers are forced to waste their time, trying to "hurry up" to meet an arbitrary deadline. We continue to throw budgets and schedules together quickly, so that we can have them ready for a meeting with the publisher, without ever consulting the people who will actually work on the project (most of whom haven't been hired yet). The result is completely predictable: programmers that are under extreme stress who in turn create code full of bugs and defects. Project that end up a year later than they were scheduled. Isn't it interesting that some of the most successful game companies have adopted a "it will be done when it's done" policy? Part of the problem is that our industry labors under the illusion that it is "like Hollywood". Film producers are usually able to turn out a film on time and within budgetary limits. But there's a difference -- film producers don't have to re-invent the camera each time they do a production. There are no "stable" technologies in the computer games industry, and the average useful life of a game "engine" is about two years. The games industry is primarily an engineering industry, which means that what we do is solve problems. But solving problems, especially highly complex ones, knows no timetable. No one can predict how long it will take to invent a particular thing, because every invention is an accident, albeit a fortuitous one. The best you can do is increase the probability of such an accident occuring, a process which I have dubbed "accident husbandry." Despite the fact that constant invention is critical to the industry, game companies still refuse, as far as I can tell, to fund any kind of research. Instead, each new game is itself a "research prototype", full of risks and unknowns. You might as well write "and here a miracle occurs" right on the PERT chart and be done with it.
|
||