Stipple Effect

Pixel art editor that supports animation and scripting


Onion skinning

Stipple Effect is a pixel art editor that has the potential to revolutionize 2D indie game development with its approach to scripting. It has all the standard features of a raster graphics editor, along with a host of features specifically intended to facilitate the creation of pixel art for video games or online distribution.

Such features include:

Scripting

Stipple Effect really shines when users harness the power of the scripting system.

In Stipple Effect, there are three main applications for scripting:

Automation

Users can write and run automation scripts to automatically execute a series of program instructions.

For example, imagine there are 20 projects open in Stipple Effect. For each of these projects, the user wants to add a static black background layer. Instead of manually (1) adding a lowest layer to each project, (2) linking its cels, and (3) filling it with the color black, the user can write and run the following automation script once:

() {
    for (p in $SE.get_projects()) {
        p.set_layer_index(0);
        p.add_layer();
        p.move_layer_down();

        ~ layer l = p.get_layer();
        l.link_cels();
        l.set_cel(0, black_bg(p));
    }
}

black_bg(project p -> image) {
    ~ int w = p.get_width();
    ~ int h = p.get_height();

    ~ image bg = new_image_of(w, h);
    bg.fill(#000000, 0, 0, w, h);
    return bg;
}

Read more about automation scripts

Previews

Stipple Effect has a preview window, where the contents of the project can previewed alongside the primary workspace.

This can be used in various ways, including:

On top of that, users can write preview scripts to override the content displayed by the preview window. A preview script takes the flattened project contents as input and returns an image or an array of images as output. Users can define the transformation from input to output however they want, or even ignore the input entirely and generate preview output independently.

A preview script in action

For example, this GIF showcases a preview script that takes its input from player-head-textures and uses the intermediate textures head and head (projects 2 and 3) to define a lookup texture relationship. The pixels in player-head-textures are then mapped onto a spinning head animation sprite sheet and sliced into separate frames for each direction. This array is then returned as the output and shown in the preview window.

Read more about preview scripts

Development

Technologies

Java

The source code for Stipple Effect is written in Java 17.

Delta Time

Stipple Effect is built on top of my Delta Time library. Delta Time handles actions such as the program execution loop, text rendering, and UI element logic.

DeltaScript

Stipple Effect uses its own domain-specific language for scripting. This language is an extension dialect of DeltaScript.

More information