Inkscape for Games

I’ve been using Inkscape, a freely available open source 2d vector drawing package, to do my 2d art for Solaroids and it has been working out quite nicely.  The limitations of vector art have given Solaroids a distinctively smooth style that I kind of like for a game such as this.  It has a certain modernized retro-feel to it that fits perfectly considering its graphics originated many many moons ago in a different computer era.

playershiplarge2

Redux

playershiplarge

Original

Here’s a comparison of the original player ship done in Deluxe Paint III on the Commodore Amiga vs. the new version done in Inkscape. Of course the original is being linearly interpolated by the web browser, and actually looked pretty good at it’s designed for resolution of a whopping 320x200x5bit, but the Inkscape version looks crisp and beautiful. Due to the nature of Inkscape and svg, the new version is actually resolution independent, so I can export it at whatever resolution is required.  Solaroids supports 1080p and so my graphics are exported large enough to support full detail at 1920×1080.

A couple of tips when using Inkscape for game development.  I export my images as png files, and unless you go into the Document Preferences and set the background color to something suitable (black instead of white in my case) you’ll get sub-pixel halos around your images when positioning, scaling, and rotating them in XNA.  This appears to be due to the graphics hardware using the neighboring (fully transparent) pixel color during interpolation.  It may also have something to do with the sprite sheet content processor I’m using as well.

Another cool thing about Inkscape is it remembers the export filename based on the set of shapes selected, so if you have multiple sprites in your document, you can repeatedly re-select various ones and it will remember your last filename for the selection as well as other export settings such as dpi etc.  Very nice.


Leave a Reply

Your email address will not be published. Required fields are marked *