Well, its March and the great Canadian winter has started to subside (for now), I figured it was as good a time as any to talk about Pixel Art! Specifically of the 256 color VGA variety. I’ve talked a little bit about this in the past but I think it deserves a dedicated article.
Most of the time I hear that letting a programmer make art will lead to disaster, but somehow I couldn’t deter myself. Despite being a programmer I was very lucky to grow up in a house where art appreciation and technique was instilled in me from a very young age, my mother is an oil painter and she taught me everything I know about light, shadow, perspective etc. All essential concepts for making 2D art.
The art of an adventure game is particularly important, great art in a game can even make up deficiencies in other areas. It’s one of the reasons I still love Sierra games despite them making me want to throw my computer out a window because Graham just got killed AGAIN with no warning and I have to reload my savegame! The style I decided to go with was something inspired by Monkey Island 1, specifically the VGA version. I thought it was a good compromise between the impressive but limited 16 Color EGA games like Space Quest III and Loom, and the more “painterly” hand drawn style of Monkey Island II and the Sierra games after Kings Quest V, that I don’t think would suit Chuck Jones: Space Cop of the Future.
This means that art would be drawn primarily in the computer pixel by pixel with a paint program. What paint program is that you ask? Well I actually use two, I usually start with GIMP because I’m very used to it and can work very quickly. However GIMP falls apart a bit when you start working with true 256 color VGA art. When I need to mess with palettes or draw dithered gradients I switch to Pro Motion NG. Pro Motion is and excellent program for working with genuine 8 bit indexed images that picks up where programs like Deluxe Paint left off in the 1990s.
In the picture above you can see both of these at work, I started by drawing the basic outline with GIMP, using a 3d Model I had prepared as reference for perspective (something I’ve always struggled with). The image was then brought into Pro Motion to do things best done in a true 8bit image editor, such as defining the 8bit palette and fill in the basic colors and shading, with liberal use of dithering. The image was brought back into GIMP where I worked on the fine details such as anti-aliasing around the text.
If you are unfamiliar with the technical aspects of old school pixel graphics you might be wondering why I keep stressing the fact that I’m talking “true” or “genuine” 8 bit graphics. The reason of course is that most modern pixel art games while often containing some great art don’t share any of the same limitations with as the games they try to emulate, they usually have a relatively low resolution but they’re not held to any specific limit and they tend to use whatever and as many colors as they please. I will also stress that this is a perfectly valid way of making game art and it is practiced by many artists much more talented than myself.
CJ: SCotF on the other hand is a true 16bit game that runs natively on hardware from the 80s. The graphics are truly 8bit (8bits per pixel, 256 colors). When I make graphics for the game I’m limited by hardware constraints to a resolution of 320×240 and 256 colors, that’s it.
So now that I’ve given you an overview of what I’m working with and talked about drawing static backgrounds, lets talk about moving pictures, animations, the realm of the real Chuck Jones! Going with the whole 16bit DOS game thing, animations can’t have very many frames due to memory limitations. Although the timing of a frame is variable, most animations in CJ: SCotF run at around 8 jiffies per frame (1 jiffy = 1/60 seconds) which works out to the ridiculously low rate of 7 frames per second! While it seems like that would suck, I kinda like the result and its very much in line with the way things were in the early 1990s. Animations in the engine are simply just a list of frames with offsets and timing information, I usually make them by drawing layers in GIMP similar to the cels in traditional animation. These get exported to a custom image format and then I prepare a frame list kinda like this:
left: chuck/left/chuck0.l4b -5 0 8 t right: chuck/right/chuck0.l4b -4 0 8 t leftwalk: chuck/left/chuck0.l4b -5 0 8 t chuck/left/chuck1.l4b -6 0 8 t chuck/left/chuck2.l4b -7 0 8 t chuck/left/chuck3.l4b -7 0 8 t chuck/left/chuck4.l4b 0 0 8 t rightwalk:
This gets converted to an internal engine representation and then we’re good to go. We are then treated with this walk cycle:
Well I suppose that’s all I have to say about that, if you wanna know more about adventure game art and pixel art in general (and I hope you do), I highly recommend this 2016 GDC talk by the legendary Mark Ferrari: