About Random Computer-Generated Comics

by John Pound

The comic pages and cartoon images shown here were created entirely by writing computer programs that use randomness. The programs randomly combine words, colors, shapes, figures, objects and scenes into comic images and pages.

The programs also make random text stories, random cartoon drawings, and random comic books. Some of the program's comic strips have been printed in newspapers. Several of the pieces shown here have appeared in art galleries and art competitions as large format art prints. While using the visual language of comics, the main focus in these works is on relationships, conceptual issues, and graphic design more than on jokes, characters, or linear storytelling.

The programs I write are not commercially available. They are personal tools I use to create experimental comics, cartoon graphics, and other generative art.


Why random comics?

As a cartoonist I wondered what kind of comics a computer program could make. What if you used a program not as passive tool, like an airbrush, but as an active partner in making creative decisions?

I had seen programs that made random sentences by combining basic words, and I had seen programs that drew random figures and scenes. But what if you combined them? Would you get nonsense Sunday comics pages?

To make random comics, what are the minimum elements needed for comics? Perhaps a few simple panels with nonsense word balloons? I found it is simple to make a computer program that spews out random text, or that draws random scribbles, but it more challenging to work randomly with figures, stories and page layouts.

Something about the idea of randomness seemed important to this project. Perhaps it was the idea of flirting with total nonsense, or anarchy, in an artform known for its clarity and unambiguity. Perhaps it was the element of surprise or discovery. Perhaps it was the sense of collaborating with something beyond my conscious mind, something that occasionally comes from doing automatic drawings and writings, with the "third mind", as described by William Burroughs and Brion Gysin.

Using randomness challenges both the artist and the viewer to think abstractly, to see the patterns behind events and images. What systems of writing and drawing and thinking lend themselves to random choices? The program's random choices create unexpected combinations. Is it meaningful, or is it nonsense? Or is it both?

Randomness in these works approximates the unseen forces that shape our lives. We may see meaning in events independently of the actual causes. We try to make sense of life, and hope to have some control over events. Is there free will or destiny? How much of our lives are under our conscious control?

Programming with randomness also allows me to generate a large number of detailed variations quickly.


How random?

Early on, I thought making random digital comics would be a sort of "free lunch", a way to get a lot of surreal comics written and drawn with very little effort. You can have the program spew out a large number of comic pages, and you can cover the walls with the results. But reader boredom may quickly set in. To hold the viewer's interest is the real test.

Random elements seem to work best set against non-random elements. Complete randomness looks chaotic. While momentarily fun to create, like a loud noise, it does not reward viewing for any great length of time.

I've found I have to do extensive editing and revision on each page's program until what it creates with randomness has clarity, mystery, humor, and feeling. (Of course this is true for making my non-random paintings as well.)

The program can create random page layouts. However, the examples shown here use page layouts specified by the artist.


Other examples of randomness

  • Racter (1980's) random text conversation software
  • John Cage's non-intentional music and art prints
  • Harold Cohen's AARON drawing program
  • Scott McCloud's "5-card Nancy" game
  • Dial-a-face wheel
  • "Mad Libs" fill-in-the-blank sentences.
  • "Choose your own adventure" books and videogames
  • William Burroughs' cut-up collage novels (Naked Lunch, etc.)
  • Wind-chimes
  • Slot-machines, casino games
  • The stock market
  • Brian Eno's ambient music and environments, using tape loops of differing lengths. (Also see Eno's "Oblique Strategies" cards)
  • The Surrealist's "Exquisite Corpse" drawings

Random Art and Random Comics web links


Program history and development

The program is written in the PostScript programming language. I chose PostScript because, in addition to being a full-featured programming language, it was designed for creating text and graphic art files that can be used on any computer platform. PostScript is widely used in commercial printing and publishing. PostScript's vector artwork may be easily scaled to any size.


1992: First test strips (unpublished). Basic grid layout with title box above. Panels have simple figures with nonsense sentences in the balloon or caption.

July, 1993: First published random strip in an entertainment tabloid newspaper Edge City, reproduced from a black and white laser print.

1994-1995: Strips published in Anthem Monthly (example below). Some people enjoyed the random digital comics. There were also puzzled reactions from other readers expecting standard stories and punchlines. Brief description appears in The Comics Journal #171.

1996: Program revised to allow scripting, complex page layouts, and multiple pages. Can create both random and non-random pages.

1998: Script is written using program to create a booklet (unpublished) showing program's non-random page layout and drawing features. Booklet is used as a reference for further programming, and is later revised.

1999: Color added for LOOP, an endless on-screen display.

2001: Begin using program and scripts to compile more booklets (unpublished) of random digital comics sketches, fragments, and works in progress, to use as reference in making more complete pieces.

2002-2004: Begin series of full-color poster-size pages and art prints, shown in art competions and gallery shows. First one is called "RAN DUM COMICS". Acrobat Distiller is used to make non-random printable PDF file version of random page.

2005: RAN DUM 1, a 28-page color catalog of random digital comics and random digital art prints is printed. RAN DUM LOOP program is updated, with more use of figures and fewer abstract elements, for a gallery show.

22" x 33" digital color print, 2002
newspaper color "Sunday Comics" page layout

On this page, the balloon text, artwork, and colors were all chosen randomly. A few of the titles were random. I chose the page's title and programmed this specific page layout. The idea of doing a random "Sunday Comics" page goes back to my earliest vision of random comics.

22" x 33" digital color print, 2003
newspaper daily comics pages layout

51" x 88" laser print, 2003
wall installation, on 6 sheets by 8 sheets of paper

The large face is a non-random drawing I converted to pixels in Photoshop. My program used each pixel's gray value to make a smaller random face -- there are 3888 faces. Some are better likenesses than others. I haven't found any that are alike yet.

(screen shot), 1999

This program runs on a computer in the gallery. It writes and draws random comics and cartoon art onscreen endlessly. The colors, compositions, poses, words and sentences change constantly. Because it uses random combinations of many basic parts, you will probably never see the same drawing twice. It is rather hypnotic.

48" x 17" digital color print, 2003

The print has many cartoon characters in rows, fading into the distance. Each character mutates from the previous one.

Using the Program

This PostScript digital comics program works as a simple vector drawing or page layout program. It does not have an interactive graphic user interface. I have to write text files to make the program draw, or for it to compose random text. As I write and revise the script text file, I decide which elements of text and art on the page should be made by random choices, and which ones should be non-random.

I use a text-editing program to write the PostScript text files. I use Ghostscript (freeware) to preview the results onscreen.

I make one or two changes at a time, save the file, and preview the results again. I do this many times in making a page. It takes a lot of revision, and some debugging, until the page or story works well, both visually and conceptually. It's not the most intuitive way to make art on a computer. But by now I am comfortable with the process, and it is quite satisfying working with software tools that I've made myself. And I like being able to re-use program elements from previous projects.

In making art by programming, I deal with a lot of small details. I get ideas for program parts and words and images that don't relate to the main piece I am making, so I write them down for later. On each project I have to ask myself: What was the "seed" idea? What's the overall picture? What's the overall feeling?

When a page or group of pages is complete, I use Acrobat Distiller to convert the PostScript files to non-random PDF files for printing. (Ghostscript can also do this.) You can also open and view a PostScript file in Adobe Illustrator. If you edit it in Illustrator and save it, it will no longer be random.


Program Organization

The main program is organized internally into many procedures, grouped into these main areas:

  • Document -- handles multiple pages
  • Page Layout -- sets paper size, page bleed size, page trim size, page art size, goes to art origin on page
  • Panel Groups -- divides a panel space into subpanels: 2 rows, 2 columns, or a grid of panels, with a specified space between panels
  • Panel -- do border, caption, branch for various kinds of panel contents, or for sub-panels
  • Lettering and Text -- sets caption text, text in word balloons, titles, sound effects
  • Random Text and Word-Forming -- word lists, changing words (single nouns to plural, etc.)
  • Math and Random Numbers -- return random numbers in a range, or an item from a list, or modify a number
  • Shapes -- draw simple or compound paths, open or closed
  • Painting Shapes -- add colors and outlines to a shape's path
  • Colors -- grayscale or CMYK, define and blend colors, groups of colors, random colors
  • Objects -- groups of shapes
  • Figures -- groups of shapes, faces, feelings
  • Scenes -- do layers of art, from small in back to large in front

In addition to using the main program, which stays relatively unchanged, I write a script file for each new project. The script file contains some more definitions and usually some new procedures. I define specific things like the title, page size, page layouts, any new shapes or new characters, colors, words, and story structures. At the end of the script, a command tells the program to use all the preceding information to draw the pages requested.

Below is an older description of how the program works.

Early random comic (laser print), 1993:

example of random comics

How It Works

The Program: I developed the program in the PostScript language, which can create high-quality text and graphics on almost any computer (I was using an Amiga at the time).

It is more challenging and less intuitive to use than Adobe Illustrator, Photoshop, or desktop publishing programs, as it does not have a GUI (graphic user interface). Working directly in the PostScript language requires using text-only files to make a visual image. (My wife Karen said, "Programming comics is like carving a pencil each time you want to draw something".) You have to be both a cartoonist and a programmer. But one advantage is that it is possible to create complex random graphics with the interaction of relatively few simple re-useable parts, somewhat like a Lego kit.

1. Random Story: One part of the program acts like a writer, creating a script for the comic strip. It choses characters and scenes for each panel, from those available, and it builds grammatically correct sentences for titles, captions and word balloons. Sometimes the sentences in panels are completely random, and other times, words and ideas from one panel link into the next. The script also decides the character's feelings and overall pose in each panel, and how far away the view would be.

Each month I changed the program to write a different kind of story or sequence of panels. Usually, the first and last panels were handled a little differently from the ones in between.

2. Random Art: Another part of the program uses the script as the basis for drawing the strip. It divides the page into panels, and then draws each panel's art, and letters the captions and word balloons. Simple rules for composition, perspective, and anatomy combine with random choices for other things, such as a character's size and position, and background art details. The characters and scenes can be drawn at any size desired.

3. Printed Output: The pages were then drawn by a PostScript laser printer. The final comic strips emerged from the printer as black and white camera-ready art, serving the same purpose as a cartoonist's pen-and-ink original art. Because of the many random decisions made by the program, each printout was different from the next. I enjoyed the element of surprise and discovery this contibuted to making comics. Each month, from the various pages created, I selected the most successful strips to be published.