Some Words on WigglyPaint
In early December 2023, I wrote a drawing program called WigglyPaint and published it on Itch.io.
All the drawing tools in WigglyPaint are animated, providing a live, automatic Line Boil effect:
Internally, WigglyPaint maintains three image buffers and edits them simultaneously, with different types of randomization applied for different drawing tools; many tools apply a random position offset between stroke segments or randomly select different brush shapes and sizes:
We cycle through displaying the buffers at roughly 12 frames per second- a familiar speed for limited animation- though the drawing itself is processed more responsively. Three frames is something of a sweet spot: using only two frames produces an unpleasant jittering effect, and more than three frames offer a diminishing addition of fluidity:
WigglyPaint is far from the first example of a drawing program that automatically introduces line boil; as I note in my Readme, it has some similarity to Shake Art Deluxe from 2022. The details of these tools are very different, though; Shake Art is vector-oriented, and continuously offsets control points for line-segments on screen. Individual lines can have different oscillation intensities and rates, with continuously variable settings for every parameter and a full hue-saturation-value gamut for color.
In WigglyPaint, I chose a design philosophy of strongly discretizing choices: good defaults, a few interesting options, no infinite combinatoric landscapes. Every drawing tool has a distinct personality. Instead of offering the millions of subtly varied colors available in a general-purpose drawing program, WigglyPaint offers five colors at a time- lineart, background, and three “markers”- with a range of striking, opinionated preset palettes:
Instead of an infinite undo history, WigglyPaint has a single “Oops” button. From a technical perspective, more undo levels would be easy to furnish. No undo levels at all can be truly infuriating, especially on touch-based devices that occasionally register spurious lines. A single undo level is just enough: it encourages a sense of committing to forward momentum on a drawing.
One particularly clever- if simple- idea I incorporated is to make the “markers” always draw underneath lineart:
This offers the kind of drawing workflow that an artist might normally accomplish through layered drawing tools like Photoshop without the complexity of a UI for creating, reordering, flattening, grouping, or destroying layers, nor the mental overhead of switching between layers over the course of a project.
... continue reading