The creation process

I thought some people might like to know how I go about making my comics. I'll step you through everything which went into creating Unity #37.


In a story-driven comic, it's important to have at least some idea of the dialog. Much of the time I spend on Unity is coming up with ideas for storylines. These usually come to me in the darndest of places, like:


Fortunately, I have one of these


so I can jot down my ideas any time, and I also have an ongoing text file which looks something like

text file

I try to keep only a minimum of actual scripted dialog so I can keep it feeling more spontaneous (of course this is more a "try and fail" sort of thing). I also don't normally have the title attributes (which you see as popup text) written in advance but sometimes I come up with it ahead of time, as I did here.

Rough layout

The next step is to lay the strips out. First I load up my handy comic template, which looks like this:


(only is much larger; these images are actually reduced down to 35%) and which basically just has the outer border, my signature (which I update once a year), and my layer schema, which looks something like:

layer schema

The text top/bottom layers just each contain an empty "bubble" layer at this point, which is set with a few effects - more on that later.

So anyway, this is where the dialog starts to really come together. I like to lay out the dialog for a few strips at once (usually a week's worth at once but sometimes I do a few weeks' worth, if something's involved enough). As I lay it out I also do some minor editing to make it fit and flow better.


Next, I lay out the rough bubbles. The two "bubble" layers are set with a couple of effects: a black stroke, and a drop shadow, and their opacity is set to 85%. (Sometimes I tweak this later as appropriate but usually I leave them like this.) Rather than draw the outline and fill it in, I just do an ellipse selection and fill it with the bubble color (almost always white), and so then we get something like:


In the case of thought bubbles I fill in one circle and then use the clone-move tool to duplicate it around a bunch.

Two layers are usually enough, though in a few comics I'll add a third layer if there's something particularly complicated going on (such as Juni's internal dialog running in parallel to a background conversation).


Now I'm ready to start drawing. Because I suck at freehand art and suck marginally less with some sort of rough guideline, I like to do a rough sketch. Sometimes I go through lots of iterations.

rough sketch

I usually tune the sketch as I'm drawing, and fill in the background later.

Anyway, now I know where the characters' heads and extents are, so I draw the panel dividers. Now it's time to complete the bubbles. For this I make a lot of use of complex selection stuff; I get a rough idea of the size and shape and select an ellipse, then I carve it up using the select tool's subtraction mode. Then I fill it in, and then use "free transform" mode to position and contour it as I like.

The end result is that I have complete bubbles:

(some of those tails were created using the polygonal lasso tool)

Now the hard part

This is the fiddly bit which usually ends up making me curse at how crappy an artist I am. First I ink the foreground (and iteratively work on the underlying sketch as well)

and then I'll either paint the foreground or ink the background. In this case I inked the background next:

It's okay that the background lines intersect the foreground lines, as they're on separate layers. (As a result it is also okay that at this point I haven't yet noticed that it looks like Juni is drinking a palm tree.)

Of course, my comics are usually very color-heavy, and a lot of that is because I have a favorite way to quickly fill in large gobs of color: I use the magic wand tool to select large swatches with the same colors, then expand the selection by 3 pixels:

and then I fill it all in using the paint can tool, set to a tolerance of 255, anti-aliased, and turn off "contiguous" and "all layers." So it's just a dumb brute-force "fill in the whole selection" tool. And so then I quickly have the foreground roughly colored:

(For Kali I also use the gradient tool a lot, obviously.) There's still a few missing spots of color but I'll get to those later.

Next I repeat the rough process with the background (turning off the foreground layer so the magic wand tool selects everything, in case I decide I want to tweak foreground elements):

Now is time for the color check. I turn all the layers on, and see where there's obvious spots of missing color:

and fill them in with the brush tool. Then the final bit is doing the shadows, which I again separate into foreground and background. First I do the foreground, by selecting the layer transparency of the foreground ink and paint layers:

Doing this also lets me see any other missing spots of color (which I go back and fix). Anyway, at this point I basically just do the rough foreground shading, then I shade the background, and then iteratively go back and forth between them to get it all going on. The shading is almost all done using black and white (the shading layers are set to 30% opacity).

Along the way I will often create separate layers for transparency and light effects; for example, in this comic, there's a "glass" layer for Juni's glass (set to 50% opacity and multiply, between the ink and paint layers for the foreground), and in several other comics there's one or more "light bloom" layers where I'll select an area of ultra-bright light, fill it in, then feather the selection, intersect the selection with the panel, and fill that in as well. That's how I get the subtle (and probably unnoticeable) haze effects from outdoor light trickling in.

Anyway, at this point I just turn on all the layers and check everything out, then save it out for the web and find out that, once again, everything looks like crapsince I draw it nearly 3x as large as it gets displayed in the end. Someday I'll learn to make faces which can reduce better. And then, finally, we have a comic,

but that doesn't do any good if nobody can actually, you know, see it.


Like most of my sites (aside from my professional portfolio, which is hand-edited), I manage this one with Movable Type. MT isn't really geared towards this purpose (it's primarily a weblogging platform) but I've come up with various templating tricks to really push its capabilities. One of the things that this buys me for free is the ability to make individual comics with as much or as little as I want (extended text, for example), and also its category system combined with cheap stylesheet tricks makes it easy for me to deal with multiple types of content. For example, MT doesn't see any difference between a news box entry, a meta-information document (like this one), or a comic. I also make use of the ability to assign multiple categories for every entry:

The primary category for a comic's entry is the series it's in, and then "comic" is set as a secondary category (this makes it appear in the actual comic boxes). I can also put a single item into multiple series; for example, a Unity fanart primarily goes in the "Fanart" category but also has a secondary tag for Unity (so it shows up in the Unity archive listings), and the same goes for sketchbook entries and what have you. (In fact, this document is also set to show up in the Unity archives as well.)

This system isn't perfect, but it works better than any of the other off-the-shelf systems I've seen, and I really didn't feel like writing my own content-management system.

The other piece of the puzzle in terms of publishing is the automatic updates. To that end, I set the comic's "Authored On" date to when I want it to appear on the site, and every instance of an entry display or link in my templates includes a little template module which wraps it up in PHP to make it only display when that happens. As a result, if you try going to a future comic's daily page, you'll just see a blank page.

Someday I may release my template suite so other people can use MT as a comic-publishing platform, though I'm always working out kinks in it myself.

After publication

Usually I obsessively pore over my buffer of upcoming strips and realize that there are some major problems with an upcoming comic. In the case of this one, I realized that the composition of foreground and background didn't quite work in the first panel, and so after finishing this tutorial but before the posting of the comic I went back and fixed it. This is why it's so vital to keep the different elements on different layers, as it minimizes the amount that I need to redraw and recolor in the end.

And that's how I make a comic.