December 14, 2008

I've learned several important design lessons from my work in various non-design jobs. See the full introduction, here.

Job: Envelope stuffer

When I was 10 or 12, one of my neighbors started hiring me to help him mail out thousands of checks for his company. It was something to do with oil well royalties, if I remember correctly. I'm pretty sure this was the first job I ever had.

1 - Know when to use technology

After licking about 50 envelopes and stamps, I finally caught onto the brilliant idea of using a damp sponge. I still remember the awful taste, and the first time I gave myself a paper cut on my tongue.

Always keep an eye out for how much time a repetitive task is taking you. It's almost always worth creating a tool or script to do tasks like that over the long run.

2 - Think like a factory worker

Every time I showed up for this job, I'd find an overwhelming stack of envelopes, stamps, checks, letters, and names of people waiting for me. I soon realized that it was awkward and slow to take each package from beginning to end, and that I could take the entire stack through one step of the process before beginning the next step.

I'd label all the envelopes, stamp all the envelopes, group all the checks and letters, fold and stuff all the envelopes, double check everything, then seal all the envelopes. This was by no means a new idea, but I remember being pretty proud of myself at the time.

Unfortunately, game design is filled with lots of large repetitive tasks. When you can't automate them, tackling them like an assembly line is the next best thing.

Job: Admissions assistant

One of my jobs in college was processing applications to one of Carnegie Mellon's graduate programs.

3 - Never destroy information

Occasionally, an alumnus would email us to request a document, or would send us something relevant to their file. I was constantly amazed at how many storage rooms filled with old data from past students we had. There were separate rooms for applicants, current students, and recent graduates. Eventually, alumni files were moved to another and then yet another more obscure storage room.

Migrating files once a year was a few days of hassle, but the rest of the year we always knew where to find things. Also, the current files were kept close by where we could deal with them easily, while the older (usually irrelevant) data was a longer walk away.

When writing a design doc or doing any other design task, never delete your data. Move rejected ideas to a special section of the doc, or keep a file of things that would have been nice but there wasn't time for. You never know when some days in the schedule will open up to go back and add new features.

4 - Be grateful for good infrastructure

Universities have a huge amount of people making sure that day to day operations run smoothly, and even more that they bring in to pull off special events like graduation. My office started preparing for graduation 3 months ahead of time, ordering diplomas and frames, caps and gowns, and special regalia for students who seemed on track to graduate with honors, etc. The week of graduation, we spent hours setting up receptions and events.

Be nice to your IT and facilities people. They are constantly working on your behalf, and when they do their job perfectly, you don't even realize they've done anything.

5 - Rules are really just people

It was very interesting to work on the inside of the admissions process when I'd so recently applied to college myself. What I found particularly interesting was that the day that the deadline for new admissions came, nothing really changed.

If more materials came in, I still added them to the pile of work to do. It was at least a month before all the materials were ready to be reviewed, and possibly several more months before anyone actually reviewed them.

The thing that was strange about this was that the decision for how late to actually continue filing new applications delegated by my boss (who had more important things to worry about) to me.

The fact that some random undergrad would be placed in charge of enforcing or not enforcing the graduate admissions deadline changed the way that I see rules and tradition. There's always a person or group of people that is in charge of a decision, and you can change just about anything if you can convince those people.

The implication for game design is this: always be questioning things. A decision that was made arbitrarily and can be changed looks very similar to a decision that was made very deliberately and is set in stone. When it comes to improving your game, be sure you're not working within a box that's too small. Some walls are flexible, or destructible, or completely imaginary.