Skip to content
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
161 lines (108 sloc) 5.72 KB

Issue tracker and tutorial for Spritify.
Spritify is a tool for the procedural generation of 2D pixel art.
It transforms input images consisting of conditional pixels into many distinct output images with varying properties, such as gradient, noise and color.



Possible output:


Bugs / Ideas

Please use the issue tracker here to report bugs or request features.
I'd love to hear your feedback, so don't be shy :)


Written for version 1.11.2 of Spritify.

Brushes / input pixels

Spritify offers several pixels for the creation of input images.
There's two categories of brushes or input pixels. Solid or final pixels, and changing or evolving pixels.


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

Solid Input
(black: Border, red: Body)

Solid Output
(Border pixels are all solid black, while Body pixels vary)

Changing pixels

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 Border or Empty pixel.

Or Input
(green: Border|Empty, cyan: Body|Empty, blue: Border|Body, magenta: Border|Body|Empty)

Or Output
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 Border or Empty. These pixels can be used to toggle entire groups or have growing structures.

Conditional Input
(first row: many Border|Empty if neighbour next to Body|Empty, second row: many Border if neighbour, third row: solid Body)

Conditional Output
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.

Walker Input
(A Body walker within a Body box)

Walker Output
(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.

Filler Input
(A Border filler close to Body pixels)

Filler Output
(The empty space has been filled randomly with Border pixels)



The controls are grouped within a panel.

  • <- -> Undo/Redo
  • ++ -- Zoom In/Out
  • + - Add or remove columns and rows
  • v ^ Import/Export
  • Clear the drawing area


Mirror right/down

Mirror the input to create symmetrical shapes.

Mirroring off
(Mirroring disabled)

Mirroring right
(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 off)

Border on edges on
(Border on edges on)

Remove lonely

Removes as final step all pixels which don't have any neighbours.

Sprite size

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.


The Noise value defines how noisy the Body pixels of the output will be.

Noise off
(Noise set to 0)

Noise on
(Noise set to 0.85)

Scaling factor

This factor scales the entire image once the smart pixel logic is done.

Scaling factor of 1
(Scaling factor set to 1)

Scaling factor of 4
(Scaling factor set to 4)


The colors of Empty or Border pixels can be set here.

Image as color source

As default 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.

Color source off
(No color source set, the colors are chosen at random)

Color source on
(Image of flames used as color source)

You can’t perform that action at this time.