Comic making using MyPaint, GIMP and Inkscape ![]() Introduction Comics, or 'graphical novels' are perfectly suitable to do using only open-source software. This tutorial relates how I currently go about creating a comic page on the computer. It's a workflow guide; I will not go very deep into comic-making theory here since you will probably use a different style anyway. If you want more help on the craft of comic-making, I have given a list of litterature at the end of this tutorial. I use the following programs: GIMP - this is used for all bitmap manipulation of the image InkScape - I use this for text and frames, since it currently gives much more control over such things than GIMP does. MyPaint - This is my main program for painting/drawing the comic itself. For this tutorial, I'll assume you already have a decent knowledge of GIMP, but will try to give some useful hints on using Inkscape and Mypaint. I use a graphics tablet for this, and I recommend it, especially for quickly and conveniently writing a graphical comics script. The example comic I'm showing is a black&white&red story I call Where Red Apples Lie (you don't need to know anything of it to follow the tutorial, but you can find it here). Planning the comic First things first - you need to have an idea for a comic, and some rough feeling for the style you want to draw it in. For your first few comics I suggest you plan short! Think up a short-story that is finished in a just a few pages and that you know you'll be able to finish. It's very tempting to start that big, epic saga on your first try - avoid this; making comics is quite different from "normal" artwork, and requires a whole complementary set of skills. Do short stories first to train. The Script There are basically two ways to write the comic's script. The first way is to do it in classic script form, the same way a movie or theater scriptwriter would do it. This is a time-honoured style and a common one, especially when the author and artist are two different persons. In such a script you define in words how each page and should look, detailing in words the action and dialogue. The second way (and the way I do it) is to do a graphical script. This means that we'll sketch each page on a small scale and scribble down the text directly on the sketch. If you don't have a graphical tablet, you are best off doing this part with pen & paper. I'm using MyPaint. Using Mypaint to create a graphical script ![]() (comictut01.png) MyPaint (http://www.mypaint.intellinux.com) is a minimalistic, open-source painting application. It focuses solely on painting and has no "photo-manipulation" features at all; you are directly encouraged to use GIMP for all such things. Its main appeal lies in its vast range of artistic brushes and its very fast work-flow that allows you to paint with no distractions. ![]() ![]() (comictut03.png) (comictut02.png) Brushes in MyPaint are ordered in groups, such as "Experimental", "Deevad" etc. There is also an initially empty section called "Favorites". Above you see the four brushes I've pulled into favourites and which are the only ones I use for this tutorial. ![]() (comictut04.png) MyPaint has an "infinite canvas", which means that there is no fixed edge to your painting - the saved area will expand to fit whatever it is you are drawing. It also allows for different backgrounds to be repeated on the canvas. There is a a special background called comic-script which I created especially for the purpose of comic-scripting; it comes with Mypaint by default (it's one of the backgrounds with a + on it). ![]() (comictut05.png) Having selected the right background, you will have an endless tapestry of comic pages before you, with ample space between them for giving notes. Each page also has faint guides for marking up panels. Remember that this is a script, so work fast and sketchy. The idea is to quickly try out different page layouts. Change your mind, try different pages - mistakes are cheap and fast to fix at this stage. ![]() (comictut06.png) Above I show a few pages of script. I sketch the placement of each panel and each person's rough position and expression. Text frames are simply marked with letters, the texts are scribbled directly next to each page. ![]() (comictut08.png) ![]() (comictut09.png) ![]() (comictut07.png) The pages ended up in a long column, but since MyPaint has not special form to its canvas, I could just as well have expanded sideways or made a big square. Save your script as a png file. Time to move into Inkscape for setting up the pages proper. To be able to refer to your script, keep MyPaint open or, which might be more convenient, open the sketch in a normal image viewer next to your open Inkscape window. Inkscape for frames and lettering ![]() (comictut10.png) Inkscape (http://www.inkscape.org) is an open-source vector graphics program and as such is quite different from both MyPaint and GIMP which both deals with bitmap graphics. An example of the differences is to look at a straight line drawn at an angle. In a bitmap program, this line will appear jagged once you zoom in enough. In a vector program, a mathematical function describes the line, and no matter how far in you zoom, the line will always be perfect. The line is also identified as a unique object and allows you to modify it at any time (in a bitmap program, the line is where it us unless you undo). Whereas GIMP will come with better text facilities in 2.8+, Inkscape have several other advantages over GIMP for lettering, such as text effects and easy creation and moving of frames and speech bubbles at any time. This is not a tutorial on using Inkscape, I will briefly to through just the things we need for now. ![]() (comictut11.png) The most important requester we'll need is the Fill and Stroke requester. It allows you to edit the colour, outline, transparency etc of the currently selected object. ![]() (comictut12.png) The Fill and Stroke window (FaS from now on) opens next to the canvas. To test things out, use the rectangle tool (from the left vertical toolbar) and make a rectangle. You can adjust this at all times by pulling at its corners. In FaS, go to the Fill tab and clear any eventual fill (alternatively, make sure the Fill is a solid white). Next head to the Stroke paint tab and make sure it's a solid colour - this controls the outline of the rectangle. The actual colour is easiest picked from the row at the bottom of the window. If you don't see anything at the point, it's because the outlines (the "Strokes" in Inkscape lingo) have zero width. Read on ... ![]() (comictut13.png) Finally, head for the Stroke Style tab and pick how wide you want the outline to be. When you add width here you should see the rectangle's lines updating in real time. This is all you need to know to create all panels of a page. Next we will mention how to make a speech bubble. First, use the circle tool to make a oval of the size you want. Like the rectangle earlier, use FaS to adjust its look. A speech bubble traditionally has a little "tail" on it connecting it to the character speaking. We'll create that next. ![]() ![]() (comictut14.png)(comictut16.png) The pen tool will allow you to make nice arcs and lines on the page. Drawing with it, you can place "nodes" on the page that you later can pull around to adjust the line shape using the adjust node tool to the right. ![]() (comictut15.png) Using the drawing tool, make an open-ended "tail" and make sure it overlaps with the oval. ![]() (comictut17.png) Next select both oval and tail by clicking on them in turn with the selector (the arrow tool at the top of the toolbar) while holding down Shift. You could also drag out a selection around them. ![]() (comictut18.png) While they are still both selected, go to the menu Path->Union. This merges the selected shapes into one. ![]() (comictut19.png) One nice speech bubble object. ![]() (comictut20.png) Now that we know how to do rectangles (panels/captions) and speech bubbles in Inkscape, it's time to organize stuff on the page, based on our script. Text is added with the Text tool (duh). It's often easier to write in all text first and then put frames around them. Experiment with using FaS to have the rectangle filled with white. In the Object menu you can move objects (such as text and rectangles) to different "depths" so as to have the right thing appear in front of the other. Once you are happy, you can "group" the text together with its frame using the menu Object->Group. That way you can move text and frame around as one item. Warning: Since we want to import this into GIMP later, there is a text incompatability you should be aware of: When adding new text, do NOT pull out a text area with the text tool before you start writing. If you do, it seems GIMP will import that text area as solid black, completely useless. To avoid this, just click a single click with the text tool and let the text area expand as you go. ![]() (comictut21.png) Here I have placed a rather complex layout of frames and captions on a page. ![]() (comictut32.png) Once you have placed all frames, text and captions/bubbles, we need to export this to a bitmap that GIMP can read. Use the File->Export Bitmap... to save the page at a high resolution (at least 300DPI). I save as PNG to avoid any data loss at this point. Next, close Inkscape and open GIMP. GIMP for prepping the page ![]() ![]() ![]() (comictut24.png)(comictut21.png)(comictut22.png) Loading the exported PNG page into GIMP, I now want to create a "mask" out of the captions. The idea is that we shall be able to work on the art without disturbing the text or worrying about drawing "outside the frame". The solution for this is of course to make it a separate layer. In the right page I've used GIMP's select-region tool to delete the areas of the comic where art will be, while filling white in the areas where there will be text or margins. ![]() (comictut23.png) This is another, more straight-forward example. ![]() (comictut25.png) Next we open our comic script in a new window. I simply cut out the script page I want and paste it onto a new layer under the frames. From there I simply scale it up to fill the page. This is just to be a rough guide for the future art, so the exact positioning is not critical (you could also just look at the sketch and work from that if liked that better). I also lower the opacity of the sketch layer a lot. Since I want to do the actual paint work in MyPaint from here on, we need to save in a format that preserves layers and which MyPaint understands. This format is called ORA (OpenRaster) and is an evolving standard. GIMP cannot save ORA by default, but there is a special plugin MyPaint devs released to do just that: http://registry.gimp.org/taxonomy/term/797 This requires Python support in GIMP; just drop it into a place where GIMP looks for plug-ins (it's settable in preferences). Back to MyPaint now. MyPaint for the artwork ![]() (comictut26.png) Here I have loaded a previously prepared page into MyPaint. On the left you can see the three layers I'm using; All art will go into the Ink layer, underneath the Frames (which contains all text and panels) but above the sketch (which I'll hide once I don't need it anymore). I only use very few different brushes for this - those are shown in the brush list on the right. I have moved them all into "Favourites" to make them easily accessible. The exact brushes you need will depend on your style, if you want colours or not and so on. In the following examples I'll just show some examples. ![]() (comictut27.png) Here we see an almost finished art piece in black&white&red. The sketch is still visible on the layer below - it's quite clear here that the script is really just a sketch! Greyscale is mostly done with a flat brush, using a blending and modelling brushes to make smooth areas. ![]() (comictut28.png) Faces in greyscale can very effectively be created by filling the eye sockets with black and then gradually brighten them a bit to show the eyes. Above is a "cinema-style" sequence of images, conveying a passage of time. ![]() (comictut29.png) For close-ups one might need a finer brush, like the kabura inkbrush. But a hard, flat brush works well too. ![]() (comictut30.png) This is an example of first showing the scene (with background, to show the surroundings), then move in on details. Note that in the second panel there is no background to emphasize the character details. A background is not needed since the position is clear from the previous panel. ![]() (comictut31.png) GIMP for final adjustments Once a page is done, save it in MyPaint and move it back to GIMP for final adjustments. GIMP can do lots of adjustment operations that MyPaint cannot, such as cropping the image to a suitable size and with wide enough margins. We are done! Save your image as PNG for printing or a high-quality JPG for web publication. Good luck with your comics! . Griatch Appendix: Suggested reading There are many books to read on the craft of comics and I can recommend a few of them dearly (and in this order):
are not instructions on drawing. There's a plethora of books on anatomy, drawing and painting out there if you want that. |
Tutorials >