Spritify.com is a tool for the procedural generation of 2D pixel art. Since I’ve already written a documentation for it, I’ll include parts of it below. It nicely demonstrates what
Spritify can do.
Spritify transforms input images consisting of conditional pixels into many distinct output images with varying properties, such as gradient, noise and color.
Brushes / input pixels
offers several pixels for the creation of input images.
There’s two categories of brushes or input pixels.
final pixels, and
Solid pixels (Empty, Border, Body)
These pixels don’t change during the procedural generation.
This pixel does nothing and will later turn into the given background color.
This pixel will later have the defined border color.
This pixel will later vary in color, shading and noise level.
Solid pixels example
Border pixels are all solid black, while
Body pixels vary)
By Chance (A | B)
These are pixels which have the same chance of becoming an A or B pixel.
Boder|Empty has a 50/50 chance to either become a
The first column’s pixels either become background or the solid border color.
Pixels within the second column became either the varying color or background.
Conditional (if neighbour)
These pixels are only non-
Empty if they have a neighbouring pixel.
Border|Empty if neighbour will be
Empty if it has no neighbour, otherwise there’s a 50% each for it becoming
Empty. These pixels can be used to toggle entire groups or have growing structures.
(first row: many
Border|Empty if neighbour next to
Body|Empty, second row: many
Border if neighbour, third row: solid
Note how the first row which could also produce
Empty varies in length, while the second row is either fully presend or not.
These pixels leave trails while moving randomly. They either stop if hitting another pixel or by chance.
Body walker within a
(The walker generated a random path)
Filler pixels behave similary to walker pixels. Instead of walking or spreading into one direction, they spread radially. They stop at other pixels or after a random number of iterations.
Border filler close to
(The empty space has been filled randomly with
The controls are grouped within a panel.
-> Undo/Redo -
-- Zoom In/Out -
- Add or remove columns and rows -
Clear the drawing area
Mirror the input to create symmetrical shapes.
Mirror right checked)
Border on edges
On the final image all edge pixels will be turned into border pixels.
(Border on edges off)
(Border on edges on)
Removes as final step all pixels which don’t have any neighbours.
Sprite x and
Sprite y define how many images are within the output sprite.
The shading settings add a brightness gradient with the provided strength and direction.
Noise value defines how noisy the
Body pixels of the output will be.
Noise set to 0)
Noise set to 0.85)
This factor scales the entire image once the smart pixel logic is done.
Scaling factor set to 1)
Scaling factor set to 4)
The colors of
Border pixels can be set here.
Image as color source
Body pixels will be assigned any random color. If a color source is set, its pixels will be used to define the
Body pixels’ color.
(No color source set, the colors are chosen at random)
(Image of flames used as color source)