Improve your pixel art sprites!
In this tutorial, I will explain you how to use a couple techniques I used to improve Planet Centauri’s sprites before implementing them into the game (or before animating them).
Some of the rules shown here are very easy to use, and/or are purely methodical;
so even if you aren’t very skilled, follow those simple guidelines to make your sprites cleaner.
A lot of basic mistakes will ruin the quality of your art.
Thankfully, they’re also generally quite easy to fix with some experience, and
by paying attention.
Too many colors
Pixel art is all about constraints. When two colors are very close, merge them into an intermediate one, so you see if it improves the result.
Using a small palette will help you improving your skills much more easily, and will make creating sprites also easier.
It also will make it easier to identify unwanted artifacts (i.e. misplaced pixels).
If you are constructing a palette with gradients, avoid at any cost independent gradients (i.e. only dimmed/lighted base colors). Use gradients that depends on each other.
You can also try to use yellow-ish or cyan-ish saturated light colors, and blue-ish and purple-ish desaturated dark colors. However, avoid using an over-saturated or an under-saturated palette.
This usually ends up bad and breaks contrasts.
You should also use gradients with outspread tints to avoid washy color contrasts.
Remember never to use more colors than necessary, and use gradients with contrasted brightness.
Feel free to try using other generic palettes on your sprite to compare it with your palette so you can improve it.
Avoid as much as you can excessive contrasts between neighboring pixels.
For example, a black line over a white background usually won’t look natural.
A line that fits the background color well gives a realistic volume effect.
This is as true for outlines, which has to fit with both the inner color and the umbrage of the surface.
NB: Obviously, this doesn’t work with any graphic style.
Pillow shading is a nasty effect that occurs when the light source comes from the front.
Avoid pillow shading, unless you really know what you’re doing.
Lines and curves
Perfect line: A line that has a constant vertical and horizontal step.
Perfect curve: A curve made of perfect lines which step always depends on the other parts of the curve.
Dirty line: A line that has at least one sub-segment with more than one adjacent pixel on one end.
As you may have noticed on the pictures above, dirty lines should be avoided.
You should use as much perfect lines and curves as possible.
A cluster is a group, a pack of connected pixels with the same color.
Cluster shapes will greatly affect the final image.
Bony and crude clusters will give a sketchy aspect.
Round and straight lines are preferred so you get a precise, smooth and nice image.
Avoid lonely pixels. If one pixel is inside of a different color cluster without
any adjacent pixel with the same color, remove it.
Dithering et texturing
Contrary to popular belief, dithering isn’t as great as it seems. A lot of dithering between heavily contrasted colors will often give a dirty and noisy image.
It is also a very bad idea to use dithering when animating a sprite, because keeping coherent dithering will be awfully hard.
If you art style lets you do it, use texturing instead (the difference is that texturing does not induce color limitations).
But don’t forget, texturing means harder animation and worse clarity.
Again, it’s a matter of style.
If you want a cartoon-ish look, do not use dithering nor texturing.
Antialiasing a technique that reduces the staircase effect (aliasing) which is clearly visible on two lines between two contrasted surfaces.
There are two use-cases for internal AA :
Simply separating two surfaces, and using lines or curves cutting through two different surfaces.
In the first case, you may just need to insert an intermediate color where aliasing is visible to reduce it (generally, when the curve abruptly changes).
In the second case, you may just need to add a small intermediate color cluster between every horizontal or vertical sub-segment.
Its size directly depends on the sub-segment size.
External AA suffers from an important restriction, unlike internal AA: The background color in a game will constantly change, so you need to have an effect that looks good on both dark and light backgrounds.
This rule is quite easy: You only apply the effect inside of the sprite.
The end of an outline that neighbors with the background should never be modified.
In this image, the internal AA effect applied on the outer part of the sprite unveils some nasty artifacts, while external AA, even if it isn’t as efficient, gives a great effect on any background type.