The GPF site may be down briefly sometime this weekend for planned maintenance. During this upgrade, the entire server will be unavailable and will not respond to requests. We don't know yet how long this outage window will take, but it shouldn't last more than an hour at most. We apologize for any inconvenience.

Behind the Scenes

Last updated April 8, 2011

Attention GPF Premium Subscribers! A much larger, more in-depth version of this "Behind the Scenes" page is now available to you! This exclusive tour takes you step by step through the entire process of making GPF, including detailed pictures and screenshots, as well as a few of my digital image editing techniques. But this expanded tour is only available to subscribers of GPF Premium, so sign up today if you haven't already! Click the GPF Premium link above for more details.

I'll admit it; this page doesn't get updated nearly as often as it should. Of course, while my process for making the strip is an evolving process, it's very slow to evolve and only changes slightly year to year, usually only in the form of optimizations to speed up the process. But I've taken out this ol' page, hung it on the line and beat the dust off it with a broom. I figure I average updating it once every two or three years, so it was about due....

So you're looking to learn a thing or two that goes on around here, aren't you? Well, here's the place to start. :) GPF was around at least a year before its official debut, like many of my projects taking a period of time of growth, development, and redevelopment before actually being unleashed upon the masses. So I wanted to chronicle the history of GPF as it happens, in the strange possibility that it might actually become popular and someone would ask me where it came from. I also wanted to take a little time and explain to the two or three of you out there who are actually interested just what processes I go through to create GPF, the strips and the Web site.

Genesis | Strip Creation (Old and New) | Web Site

Genesis

Figure 1

GPF was an accident, like almost everything else of interest I've done. You might call it inspiration, and if so, God has one strange sense of humor. (I'm convinced of this fact already, but that's beside the point.) When I set myself upon the task of creating something new, raking my brains of hot coals and trying to force inspiration, it never happens. But when I'm usually not looking for it, it hits me like two-ton skydiving elephant whose parachute is full of holes. Thus, my creative process.

I had been working for IBM Global Services for perhaps a month or two when the idea hit me. Fresh out of college, I worked as a consultant to Lucent Technologies on a brand new contract, so processes were still new and a little rough. It took days before they got me a cubicle to work in (everything Dilbert tells you about cubicles is true). It was another week before I had a phone and a computer. So I did a lot of reading, and a lot of drawing. Drawing was always my favorite way of passing time. I draw most often when I'm bored, so I got a lot of pictures done in big meetings.

Eventually, I had all the necessary equipment. But, unfortunately, delays in other processes delayed our work, so there was a period of time where my team did little, if anything, productive. As new team members were added, we grew more and more anxious to do work. We played with our software and got acquainted to it, but without the data we were to be provided, we couldn't continue. So I drew a lot more.

Finally, one day, while my colleague Keith was using my computer to Web surf (he still didn't have a PC yet), I set myself to drawing again, letting my mind wander and to expel whatever demons or angels took possession of my pen. And the result is what you find in Figure 1. As each character emerged, so did their personality and their purpose. Within a half-hour, I had gone from a bored, geeky computer programmer without anything to do, to a bored, geeky computer programmer without anything to do and a new comic strip on his hands.

Now, GPF was not my first attempt at comic strips. I have created at least a dozen unique titles with different characters and situations over the years. "Slinky," "George and Ginger," "Kookamunga Tech," ... the list goes on. I had even submitted one of them to a local newspaper for publishing, but unfortunately I wasn't mature enough to handle the responsibility (that, and I couldn't draw worth spit in those days). My heart truly belongs to comic books, but that's an even harder realm to break into. If only I could come up with a comic strip really worthy of the effort to work on....

Well, what do you know! I have one right here!

Figure 2

I struggled over the next few months to define the characters and determine who they were. It was a lot like getting to know new roommates in college. I lived with them, ate with them, talked with them,.... Sure, other people thought I was nuts, but I truly began to understand them. I began drawing little strips on lined notebook paper (which I had plenty left over from college), four on a side, eight to a page, a lot like the format you see in Figure 2. Before I knew what happened, I had fifty-odd pages lying around. If you do the math, that's over 400 comic strips! That's over a year's worth of material for a daily comic strip. I figured I must have had a winner.

(A note to all you budding online cartoonists out there: For the love of Pete, make sure to develop your project as fully as possible before you ever take it online! One of the biggest faults I often seen in new strips is a failure to develop and refine the original concept enough to know whether or not you have something that will generate plenty of material. Another big problem is many online cartoonists don't work very far in advance, if at all. I had over a year's worth of material before a single strip went online, and I managed to pad that out to about two and a half years. Advanced planning lets your characters grow and mature, so during that awkward phase when you're still new and struggling for readers, you can concentrate on making your strip the best it can be instead determining why a certain character behaves a certain way or just searching for a punchline.)

Strip Creation (The Old Way)

This section describes the historical development process each GPF strip went through up until the beginning of Year Nine, or about March 2008. The current all-digital process is described below.

A GPF strip underwent a great transformation between the idea and the finished product. Each strip would pass through a strenuous process that usually entailed sketches, re-sketching, disgust, crying to my wife about whether or not I should keep it up, inking, scanning, coloring, lettering, resizing, and accidentally wiping my hard drive and having to start all over again. Well,... everything but that last part. That hasn't happened. Yet.

As mentioned above, each strip usually started as a rough sketch on notebook paper, like in Figure 2. For me, notebook paper has always been in abundance. A lot of my early comic strips and comic books were done on notebook paper, much to my art teachers' chagrin. I'm also a creature of habit; since I started drawing the initial sketches on notebook paper, it kind of became a habit to draw everything in pencil on notebook paper first. In the initial scripts, I got about eight strips on a page, front and back, which means three pages could hold four weeks worth of material (assuming the strip ran six days per week, which it did). At the height of this work flow, I could get an entire week, front and back (since Sunday strips are double-sized) on a single sheet. Maybe someday I'll auction these off, if I ever get famous enough....

Figure 3

After the concepts were down, they had to be put in order. Since I just started throwing around strips to begin with, there wasn't a whole lot of order to them. When work began on the Web site, I knew I had to develop a definite GPF continuity. This often meant a lot of note-taking and, in some cases, redrawing and rewriting the strips, especially the early ones. I like to stay ahead of the game, and ideally I have as much as two months lead time on the daily strip. (Actually, this buffer has fluctuated greatly over the years, but I try to keep it around eight weeks. Vacations, injuries, and job fluctuations have whittled that down to four weeks or less upon occasion, but I try to rebuild that buffer whenever possible.) Sure, this means I can't do strips about pressing current events, but I rarely do anyway and I can let the Web site do its thing while I go on vacation. :)

Once the order has been established, it's time to get down and dirty and draw some strips! I mean, pencil and ink those suckers. I drew two daily strips on a standard 9" by 12" (23cm by 30.5cm) piece of smooth Bristol board, turned on its side. A single Sunday strip took an entire sheet of Bristol. (I used to use 8½" by 11" (21.5cm by 28cm) typing paper, but once I tried Bristol board, I was hooked and never looked back.) I lined up the paper with a good ol' fashioned T-square, then marked off the dimensions with a ruler and outlined the strips. (I also used to use another piece of paper with the outline of the boxes already drawn on it, but it's kind of hard to trace through Bristol board.) The strips were penciled using a non-photo blue mechanical pencil, first lettering, then balloons, then characters and surroundings, and each is inked in turn. Typically, lettering was not inked, since it would be deleted anyway to make room for the computer font I use. Eventually, I completely did away with penciling the letters, except perhaps the last line of each balloon just to get the spacing right. You can see me at work during the drawing process with my faithful assistant, Randi the Wonder Kitty, in Figure 3. Once the finished strips were ready, I scanned them on a flat-bed scanner using bi-tone (black and white) scan mode. This eliminated anti-aliasing and produced nice, crisp, clean lines to edit. I scanned them at 600 dpi (dots per inch) to get a good resolution for printing, such as for the books.

Figure 4

Once the strips were in the computer, I edited them using an ancient copy of Paint Shop Pro. I chose PSP over the more popular Adobe Photoshop primarily due to price; I'll confess that the last shareware version I had was 420+ days into its 30-day trial, and the full versions of PSP were at least a quarter of the price of a full Photoshop license, even when Jasc started jacking up the price. Each strip was loaded into PSP, where it was converted to gray scale and edited. I replaced most text with TrueType fonts since my lettering, no matter how hard I try, is completely illegible. I also did occasional coloring, like all those fancy gradient fills you're probably sick of seeing by now. Sunday strips, of course, were converted to full color, where I made that funky color shading you've all come to love. Digital editing was done initially with a mouse, then later using my handy dandy Wacom Intuos3 tablet, which is infinitely better for drawing. Once editing was complete, I retained a copy of the high-resolution original for eventual printing in books, then I made two copies resized for use on the Web: a small version for the regular strip and a slightly larger, less compressed version for the Premium-exclusive High-Definition archive. Figure 4 shows PSP (or an older copy of it, that is) at work.

Strip Creation (The New Way)

All that changed in 2008. Coming off the exhausting whirlwind that was 2007, I was looking at some major changes for the strip. I was leaving Keenspot and moving to new digs, my family was growing and still settling into a new home in a new state, and I was trying desperately to wrap up all the dangling threads of To Thine Own Self... while still retaining my sanity. It was time for me to cut the chains that kept me a slave to the art desk in the bowels of the basement and move myself upstairs with the rest of the family. It was time to go all digital.

It has always been a long term goal to move this process to an entirely digital format, ideally using all Open Source tools. I purchased a Lenovo ThinkPad Tablet PC that let me draw directly on the screen and allowed me to carry my workspace virtually anywhere. Instead of working with pencils, pens, and Bristol, I now begin each strip with a special multi-layered template. The template layers, from bottom to top, include the background, a "sketch" layer, an "ink" layer, a vector text layer, and a top layer that defines the panel boundaries. Additional layers may be added as I go along for special effects and other complex techniques. I paste the text from my script into the text layer first; since this is a vector layer, I can change the text easily, rewording dialog as well as rearranging its layout. Once the text is in place, I roughly draw the initial sketch in the sketch layer using a light gray, pencil-like color. Sketching here can be very free-form, and it's not uncommon for me to move and resize sketch lines digitally to get the exact placement I want. Once the sketch is complete, I "ink" the strip in the ink layer using various sizes of black brushes, roughly equivalent to the different sized pens I used before. When the inks are complete, I delete (or more usually hide) the sketch layer. From this point on, the rest of the process is similar to the above. Colors and special effects are applied, sometimes using additional layers. Eventually, the layers are flattened and the high-resolution "master" version is saved before the Web-friendly versions are created.

I have been experimenting with various Open Source packages such as the GIMP and Inkscape. For now, however, the process above is still the standard and everything else is just an experimental variation. I have a very streamlined work-flow in place with Paint Shop Pro, and relearning a new tool is a long and cumbersome task. That said, Inkscape has become vital for making the panel borders template, as well as for creating logos and similar graphics that need to be resized frequently. So far, neither application has produced satisfactory results as a PSP replacement, but I haven't give up hope.

Along with the changes above came a change in how I script. My free time to actually sit down and draw things is now extremely limited, so the scripting phase has moved from a series of preliminary sketches like Figure 2 to a rather Spartan word processing document. With this I lose the initial pre-visualization step for laying out the art, but the all-digital drawing phase lets me make up for this by giving me ample opportunity to tweak and refine the art before it is finalized.

Web Site

What about the Web site, you ask? Oh, you didn't ask. That's OK. I'll tell you anyway. The vast majority of the Web site is coded by hand. I find coding HTML by hand easier than using some clunky editor, and usually more efficient and less proprietary. The bulk of the site was coded this way during lulls at work... I mean, in my free time. I use various editors for the task, depending on what's handy; everything from vim, Microsoft Notepad, and Notepad++ has been included in my arsenal at one time or another.

The Web graphics are done much like the actual strips. Initially I drew them all by hand, inked them, then scanned them bi-tone into Paint Shop Pro for editing. These days I do things entirely digitally, just like the strip. I save these files as PNG, JPEG, or GIF files (in order of preference) for quick and easy downloading. Animated GIFs, like the link icons, are created using Jasc's Animation Shop, which came with PSP 5 through 7.

When we first started, the GPF site made extensive use of Miva (formerly known as htmlscript), an XML-like scripting language that added CGI-like functionality to sites without many of the pitfalls associated with CGI. Miva was not unlike PHP, ASP, or JSP in that code was in-line with HTML and each page was parsed before being served to the client. Since Miva was free from our original hosting service (and I love things that are free), I quickly taught myself how to code in it. After the move to Keenspot, I let their scripts and servers do the work while I just sat back and relaxed. For the really curious, Keen used a combination of UNIX crons and Perl to build all the necessary pages on a nightly basis. (I have no idea if they still use these same scripts anymore.) I got very adept at pushing the limits of what Autokeen could do, often shoehorning new functionality into it that amazed even its developers. These days, post-Keen, this site runs mostly on PHP with a MySQL database back-end, with supplementary scheduled crons written in Perl or PHP to do automated, time-based tasks. Every line of code on the current site is hand-coded by yours truly and is heavily modularized, so it is easy for me to quickly drop in niceties like Premium-exclusives with only a couple lines of code. All the back-end PHP is optimized six ways from Sunday thanks to XCache, so the database bottleneck is barely visible.

Well, that's about it. GPF, from start to finish. Genesis to Revelation. I hope you've enjoyed this little romp through my mind and my server. Now get back to work before I tell your boss you were here.