March 5, 2002

I’ve posted a review of Boogiepop Phantom DVD 3 to Points of View. This disc contains some of my favorite episodes in the series.

Joel Spolsky has posted another interesting article, entitled “Nothing is Simple.” He makes a wonderfully common-sense argument for designing code before coding it, and manages to address two major arguments against it: a confused Extreme Programming perspective and some issues Linus Torvalds has brought up.

Quite simply, if you’re going to write some code, when you design it first you will save lots of time. If you don’t design it, you will waste a lot of time. There will be exceptions, but they’ll be no more than rare exceptions. Design saves time.

I’m going to illustrate this with a journey into Genesis Animation Co., an animation company that makes animated TV shows. They’ve negotiated a special contract with a network, so that after several years of stellar work, they’re able to develop their own TV show, which the network will broadcast per the network’s approval.

The Genesis Animation staff — Mike, June, Teddy, and Samir — gather in the makeshift conference room and brainstorm ideas for a cool cartoon show. They come up with a neat concept, and scribble down lots of potential ideas for characters and episode stories.

Their next step is to draw character designs, which is Samir’s job. A character design is a set of reference drawings for an individual character, showing that character from the front, side, back, above, below, etc., plus close-ups of the character’s face showing a number of expressions. These designs are used by animators as references when they draw the characters for each scene.

The company has to do this. Without character designs, there would be no way for the animators to know what the characters look like, and in every scene, the characters would look different. Production would be absolute chaos without solid references for each character.

Then, June writes out scripts for every episode. Again, the company has to do this; how else will the animators know what they’re animating, or what emotions to put into the characters?

Once the scripts are written, each episode is storyboarded by Mike and the rest of the crew. An animator can draw a character from any angle and at any distance. Without storyboards, the animators would be drawing characters from odd angles that don’t communicate the story or the scene well.

No animation company would ever think of skipping any of these steps. Complete character designs are absolutely required, as are scripts and storyboards. Anyone in animation can tell you that good, solid design is critical to the production’s success.

Software development isn’t very far removed from animation. A good design will provide the framework within which you can code (or animate). Instead of striking out in a direction that seems sensible, you can put your direction on paper so you will know that it’s the best way.

So, I encourage you to design before you start work. You will save time.

Leave a Reply

I work for Amazon. The content on this site is my own and doesn’t necessarily represent Amazon’s position.