Saturday, May 27, 2006

Things that go "Bump!"

Some of you might remember a long-ago post about whether or not you could make work interesting. I've worked out a bit more about why I think I feel certain ways about certain kinds of work.

I think the big feature of work is progress. Juicy progress. Progress you can see and feel and know is a sign of you moving forward.

At the beginning of a programming project, every hour brings a juicy new reward. Oh! Look! Sprites on the screen! Oh! Look! Hit points!

As time continues and the program gets larger, the rewards tend to shrink. Oh, look. The fiftieth unit. Just like the first 49, but with slightly different stats. Whee.

This is true of most jobs. If you have a repetitive job, then the first iteration is probably fun but after half a dozen you start to feel like you're just treading water. "Oh, another vent design?"

Artists can get around this by injecting huge amounts of oomph into their works. Try something different! Put something new in! I'm sure that not all of them do, but they can.

On the other hand, technical writers, most engineers, and McDonald's employees are stuck doing literally the same thing over and over, with microscopic variations. There's simply no juice to be had.

I don't know how to solve those problems - haven't really thought about it.

But when it comes to programming, I think the problem can be solved.

By rearranging the order of your goals.

You want the juicyness spread throughout the course of the project. The parts that feel really good when you finish them. Between the juice is the fiddly details. Once you start to get bogged down in fiddly details, just jump the juice.

So, if I've been making new units for two days straight and I'm at a low excitement level, I can stop making new units and, say, switch to early AI implementation. Watching the enemy move around on their own is very juicy.

The opposite is also true: if you don't have any fiddlies, the juice doesn't taste as nice. There's a huge difference in the ooomph you get from seeing a dozen different kinds of units moving around on their own rather than one placeholder kind of unit moving around on its own. So, those early juicy accomplishments should be followed by some fiddly accomplishments while you're still high on juice. Then the next hit of juice will feel even better.

Also, each person feels differently about what is juicy and what isn't. For example, I know some people who could happily implement new units for weeks and think it was juicy-juice. And me, I can do fiddly AI balancing for weeks without getting bored (as I evidenced over the past few weeks with Kampaku).

I think it's probably more important to figure out each person's individual juiciness ratings before assigning them a part of the project. Assign them less of the things they consider fiddly, and more of the things they consider juicy that other people consider fiddly.

So, assign Anna to character art, with background art as her fiddly. Bob can have the terrain generator as his primary, with his fiddly being level generation. Coco can do the plot writing as the primary and the plot scripting as the fiddly.

The problem is, you probably can't just ask. They probably don't even know.

I didn't really know what my fiddlies were until I started watching for periods of low excitement. I always thought I liked designing characters and units.

And I do. I just think implementing them is as fiddly as it gets.

Anyhow, this seems pretty simple to me: have a system for measuring employee boredom. Punch it with something juicy when it gets dangerously boring, and assign fiddly work while they're riding high.

No comments: