Sunday, July 1, 2007

The Business of Video Games: Part 5

Programmers are strange, intelligent beings of semi-mystical origin. They spend hour upon hour writing in strange, obscure languages that only they can understand. You might assume that their primary job is to actually code the game, but in reality, it is to say no.

Can we implement this feature? No.

Can we have fifteen Laser Unicorns instead of twelve? No.

Do you want pizza for lunch? No. Errr, yes.

In actuality, the programmers are simply practicing the Engineering philosophy espoused by Scotty in that one episode of Next Gen. Scotty advises Geordi that he should always pad out his estimates, so he can get them done ahead of schedule. Programmers do this as well. By always saying no, they can then shock and amaze by saying yes. They are a tricky bunch, those programmers.

The other job that starts with a P is that of Producer (or PM in some places). Producers make sure everything gets done. They make schedules, they plan, they talk to the publisher, they have MEETINGS. Meetings in all caps with italics (though not underlined, that would be excessive).

Producers must know what is going on with the project at all times, so they have to talk to everyone else constantly and be involved in dozens of decisions, large and small, every day. Producers, strangely enough, tend to be very calm people. The uninitiated might think this was because they are level-headed and serious. No, it is because they are exhausted from all the meetings and do not have the energy needed to strangle the person next to them.

Tomorrow: The Wrap-Up

2 comments:

Vargo said...

As a programmer, it makes me nervous to hear my kind accused of pulling the Scotty trick.

One of the biggest stresses that a developer faces in his interaction with designers/program managers/anyone with input in the game's design is caused by a large and often nonintuitive variation in the time required to implement given features. Some features that seem painfully trivial are actually a giant ordeal, and vice versa. I remember countless days being harassed by the sound engineer at my company, given advice as to how I should solve various AI issues that wasn't feasible, and yet I couldn't explain to him why without him thoroughly understanding the game logic or engine.

It's true that experience has made me paranoid about giving small estimates though, since things almost always take longer than we expect because of our inability to plan for uncertainties.

But one of my biggest fears is that producers will adopt a mentality that programmers are just being lazy or underselling themselves, and these producers will subsequently think they're earning their paycheck by sitting at the other end of a conference table and telling the dev team to "make it happen," refusing to take no for an answer. Refusing to take no for an answer is easy; doing the work is the hard part. But I bitterly digress.

Jason Janicki said...

I totally understand your concerns, Mike, and I hope my blog (which was meant in fun) hasn't made your life harder :)

A part of my intent with the blog was to underscore that very few departments actually understand what the others are doing. I have seen more than one project grind to a halt because Art and Design (or Engineering or whomever) couldn't communicate.

And unfortunately, I've known a few Programmers who automatically said 'no' to anything. While the vast majority do not, it only takes a few to create a stereotype.

You sound like one of the good ones, Mike. Keep it up :)