26 October, 2009
One of my biggest pet peeves as a game designer and programmer is a simple two word phrase: “It’s easy.” It’s not simply the words, of course, but the sentiment behind them. It’s a dismissal of the hard work it takes to accomplish many tasks.
The rule of thumb is that whenever someone utters those words and then doesn’t personally go do the thing he or she was talking about, it often means that person is full of crap.
The easy target here are the demanding players in a game. They can’t understand why some feature can’t be implemented right now. “It’s easy!” they shout, “It would take five minutes if you would just do it!” Usually there are the followup shouts of, “If only you would do that, then eleven million people would play YOUR game, too!” Thankfully, not every players has this attitude. But, it’s enough to really grate on you if you’re already spending long hours on what sometimes feels like an endless mountain of work.
Unfortunately, this attitude doesn’t apply to just players; sometimes developers can fall prey to it as well. Eric over at the Elder Game blog wrote about a profanity filter gone wrong. I shared a story about how the profanity filter in Meridian 59 could crash the servers at one time. The problem here is that a simple profanity filter doesn’t seem like a big deal. The person requesting it probably saw it as an “easy” (or probably, “low-impact”) change to the game. The person implementing it probably didn’t put too much time into the work (possibly because he or she didn’t get a lot of time from the manager). The testers probably didn’t put a whole lot of effort into testing it because they have higher priority things to handle. So, the system goes into the game and a lot of people are, at best, simply embarrassed at their shoddy system, or, at worst, working to figure out why the servers are crashing so often.
But, why is game development so hard? Why do seemingly simple tasks take so long? There’s no one universal answer here, but there are a few common causes. First, the requirements for a game are pretty high, especially considering that nobody’s life is at stake if the software fails. (Although the board warriors will probably make death threats.) Game developers tend to be a scary smart bunch of people for a reason. Second, game development is complex. There are a lot of different people responsible for a project. Especially at larger companies, there are established procedures to be followed before work can be done. The “easy fix” has to be written up as a proposal, approved by the team leads, allocated in the budget, implemented, tested by the QA team, then patched by the operations team. Finally, game design in MMOs is highly interdependent. Changing a single system could have far-reaching complications as that system touches other systems, which influence other systems, which may affect still more systems. That “easy change” may not be hard to implement, but anticipating how all the other systems will be affected can be challenging.
The lesson here is that everyone needs to respect the fact that game development is not easy. Saying so leads to all sort of problems. Or, at least, me taking down your name just in case we ever meet in person….