Creating Unit Art
Here's the information needed to start doing units art for Wesnoth. Please update the wiki with links to examples and other tips and tricks realted to unit art. This page started from this forum thread.
The medium used to create unit art is known as 'pixel art'. If you do not understand what pixel art is, or if you have only a general understanding of what it is, I suggest reading The Pixel Art Tutorial by Cure. It is a tutorial comprised of a series of sequential forum posts on the www.pixeljoint.com forum and gives an in-depth overview of pixel art, explaining in detail what pixel art is and what it is not. Using other mediums (such as brush art) to create unit art is fine if you are creating unit art for UMC add-ons (although it is still strongly recommended that you use pixel art for the sake of consistency with mainline units), but only units drawn in pure pixel art will be accepted into mainline.
Basic unit image specifications
Wesnoth can only use two kinds of graphic files: PNGs, or JPEGs. JPEGs aren't suitable for unit images, because they can't store transparency data (and are lossy). Because of this, we always use PNGs for unit images.
- Final format: transparent PNG
- Color depth should be 24-bit (8 bits per RGB channel). This may be listed as "PNG-24" or "8-bit RGBA".
- Be aware that "Indexed color", "color map", or "PNG-8" is a different format. Although it might work in a buggy way, we strongly recommend you not use these.
- Canvas size is 72 x 72 pixels (it can actually be slightly wider, and can fit in the area of a hex and its immediately surrounding tiles, but try not to do this if at all possible, because it has performance and graphical glitch issues).
- All but exceptionally large units should be contained in the hex if possible (the white in the attached template)
- Compare the size of your unit to the size of similar existing core units
- Light comes from the artist's (not the unit's!) upper right (for shading and highlights)
- Unit must look in the lower right (again, the artist's lower right, not the unit's) direction
- Units are centered horizontally
- Unit's feet are positioned around 55 pixel down from the top edge of the canvas, lower for taller units if necessary
- Shadows at 60 opacity, using a specific dark blue color (see Creating Shadows Under Units).
- Outlines should be used, made with a darker, but similar color to what they're surrounding, this makes the unit feel bigger then the amount of pixels you'd use for the same with a black outline. Note that pure black (RGB #000000) should never be used to outline a sprite.
- Use consistent names for your files, beginning with the unit name, so that they are kept together when browsing the files. Try to imitate the naming scheme used for mainline units.
Unit animation specifications
You can have as many frames for animations as you like, and in fact, for any given cue, you can have more than one animation, which will be randomly chosen by the game. Images and animations must be done for:
- base frame (1 frame)
- attack for each type (at least 4 frames, about 6 frames is optimal depending on the type of attack and the weapon(s) involved)
- directional attacks (generally are desired for any attack that's a straight motion, rather than a slash. I.e. spears and thundersticks)
- defense (usually 2 frames long not including the base frame, separate animations may be drawn for ranged and melee defense animations)
- Test early with different backgrounds. Go to your game terrain files, pick, say, 3 terrains, preferably with different colors, and have a look what they look like against the background, because that way if you have used alpha channels, it may look better in game than as the average standard sprite.
- Test your unit early in the game. Replacing an existing unit graphic with yours is the fastest way (be sure to make a copy of the originals so you don't lose them.)
- Test your unit next to mainline units in-game. This will help you ensure that your unit matches the style and proportions of the mainline units as closely as possible.