Liberated Pixel Cup styleguide
==============================
Preamble / Rationale
--------------------
The purpose of this style guide is to allow pixel artists to
collaborate on a top-down set of artwork and produce content that is
stylistically coherent. Currently there is a lot of artwork in the
commons for games, but it's hard to get it to work together. We've
been greatly inspired by work by the `Tango Project
`_ and the work they've done. To that
end we've intentionally built a style guide for artwork that should be
easy to collaborate on for both intermediate and advanced pixel
artists.
Inspired roughly by a variety of 16 bit era top-down games along the
lines of Harvest Moon, Zelda: A Link to the Past, Final Fantasy,
et cetera. Many games from this perspective are RPG like, but we hope
this style guide will be useful for a variety of games... indeed, we
chose this style because of its versatility: we hope
farming/simulation games, strategy games, top-down shooters, puzzle
games, and of course also RPGs, will be built from artwork built with
this style.
This guide is not a tutorial on how to make pixel art generally, but
rather a specification for a particular style. If you are new to
pixel art entirely, we recommend you check out the resources at the
bottom first before proceeding.
Grid size
---------
The general tile grid is 32x32 with (possible) sub tiles at 16x16.
The rationale being that the basic size of a square object (eg a chair
or a character) is a 32x32 area. All base assets are designed to work
at 32x32 tiling, and it's recommended that you build yours to be so as
well. However, for versatility tiling can happen at 16x16 resolution.
.. image:: ../static/images/32x32grid.png
:alt: 32x32 grid example
Perspective
-----------
The camera angle is top-down, roughly 60 degrees.
Rendering should be orthographic, which means there is *no*
perspective... things **do not** get smaller as they move into the
distance. If you're using perspective techniques on your props or
tiles, that's wrong.
.. image:: ../static/images/chest_perspective.png
:alt: Chest perspective example
The following image is a 3d rendering
(`source <_static/images/perspective.blend>`_)
demonstrating orthographic projection. For examples of actual
proportions, see existing body of pixel art.
.. image:: ../static/images/60perspective.png
:alt: 60 degree camera perspective example
Lighting, colors, and shading
-----------------------------
Roughly a "toon style rendering" with medium-low levels of texturing.
We want some detail, but not so much that things are so ornate that it
might make collaboration difficult. We don't want things to be
"noisy" either. But detail is good. Texturing should have a
toon-style; this is accomplished with medium to low amounts of
texturing. Details should be used sparsely, so make them count!
Shade in blocks. Begin drawing by blocking out the object first,
paying attention to its volume. Lines should be added afterward, and
generally only around the edges and with very important details.
Details should mostly be implied by form and color, not by outlines.
.. image:: ../static/images/process-scaled.png
:alt: Process of blocking in a sprite
Lighting should primarily come from above. If there is any side
directionality, it should come from the left, but not by much: keep it
mostly center.
.. image:: ../static/images/sunpoint.gif
:alt: Lighting example
An `example scene in blender <_static/images/perspective.blend>`_ with
a sun light pointing in the appropriate location:
.. image:: ../static/images/lighting_direction.png
:alt: Lighting blender screenshot example
*Left example shows from the "top-facing" camera used in this style;
right example shows a sideview. Yellow "sun" with ray is the light
source, big orange triangle on right is the camera.*
Your light to dark color ramps should *never* all have the same hue.
Vary the hue and saturation a bit as you go from light to dark, or
your objects will look flat.
To create shadows or lowlights, once you have the main color the shade
you want it to be move the hue (hsv selector) slightly towards the
closest purple. To create highlight color, do the same but instead of
purple and shade move the hue slightly towards the closest yellow and
lighten it up. Adjust as necessary until it looks "right".
Inside, things will be cooler in overall color, with slightly less
contrast. This is doubly true for things like basements, caves and
other underground areas.
All drop shadows should be done with the color #322125 at 60 percent
opacity. If it makes sense, one may also provide a combined version
of two tiles, so only one layer is needed to, say, put a house on a
grass background.
Dithering should be used sparingly if at all. None of the base
artwork has dithering.
There's no specific palette *required* for Liberated Pixel Cup asset
conformance, but it's generally best to try to match to the colors
used in the base set. So that said, here's a palette that may be
useful in producing matching assets.
.. image:: ../static/images/colors.png
:alt: Suggested palette
Outlines
--------
.. image:: ../static/images/rock_outlinedemo.png
:alt: Rock outline demo
Outlines should be a darker version of the current color, or a dark
color generally, not black. (Extreme circumstances obviously may have
exceptions.)
Tile authoring
--------------
Details are simplistic. There are more details on the edges, and the
center tile should be either one color or a very subtle pattern.
Occasional detail tiles should be thrown in to break the monotony of
having a single repeating tile.
Edged tiles such as walls and floors should be arranged in a similar
manner as the establishing art.
.. image:: ../static/images/tiles_example_scene.png
:alt: An example scene using tiles from the base set
*Demonstrating creating tiles that can be used to make more complex
patterns.*
Characters
----------
Characters should have their own color palettes so that they stand out
from the background. Drop shadows should follow the same rule as the
tiles, #322125 at 60% opacity.
Characters are squashed, roundish, and not realistically proportioned.
Bases are approximately two and a half heads tall and in the same
perspective as the tiles. The base should fit in a 32x48 space and
the clothing should fit in 48x64 space. The outlines should be black
or near black, no selective outlining.
.. image:: ../static/images/characters_nude.png
:alt: Example of unaccessorized characters
We have provided a :ref:`character base ` that
you can accessorize. (Of course, deviating from this base is
perfectly fine if it makes sense; just try to keep your work within
the style as described in this document and squashed stylization we
keep generally for characters.)
.. image:: ../static/images/characters_accessorized.png
:alt: Example of unaccessorized characters
If you are making an animation sheet that has multiple perspectives,
you should generally vertically sort that sheet into rows in this
order: back, left, front, right. Having the sprites arranged this
way simplfies the code side of things a little bit.
.. image:: ../static/sprites/female_spellcast.png
:alt: Spellcasting female to demonstrate direction
These concepts can generally be expanded to monsters and other
creatures, of course accounting for different proportions of said
characters.
Props and other objects
-----------------------
Props should be colored so that they don't blend in with the
surrounding background tiles (vary color, brightness, and saturation
to provide contrast).
There's should be a large difference in lighting between the sides and
the top of objects. Look at these objects as example:
.. image:: ../static/images/barrel_and_bucket.png
:alt: Examples of object lighting via a barrel and a bucket
Props should have shadows, or they will appear not to be part of the
scene. Shadows should follow the same transparency blending rules as
mentioned in the "lighting and shadows" section above.
Things that are important enough to be worth repeating
------------------------------------------------------
* No pure colors!
* Vary the hues of your color ramps!
* Highlighted areas are yellow-ish, shadowed areas are purple-ish.
* Block your art out first, including shadows, before adding detail.
Useful, generalist resources
----------------------------
These articles do not directly apply to the style we are building
here, but may help people get involved:
Pixel Tutorials:
* http://tkool.jp/fancontents/lecture/graphic/ -- It's in Japanese,
but the tutorials are thorough and the art is all you really need to
figure out what they're teaching.
* http://gas13.ru/v3/tutorials/ -- Excellent for teaching the why of
pixel art, not just the how. "So you want to be a Pixel Artist" is
highly recommended.
* http://www.pixeljoint.com/forum/forum_posts.asp?TID=11299 -- A good
general course on what pixel art is and how to start making it.
* http://opengameart.org/content/les-forges-pixel-art-course -- A pixel
art course that's so good that we translated and mirrored it.
Originals in French here: http://www.lesforges.org/tag/pixel%20art
* http://www.natomic.com/hosted/marks/mpat/ -- Decent set of resources,
though most important is maybe the `shading piece
`_ which
describes how to avoid the dreaded "pillow shading" style and think
about lighting placement.
Tiling:
* http://www.squidi.net/mapmaker/musings/m091016.php -- Describes
patterns for reusable tiling
* http://www.codeproject.com/Articles/106884/Implementing-Auto-tiling-Functionality-in-a-Tile-M
-- another tiling pattern, simpler than the "blob" pattern above