https://beyondloom.com/blog/onwigglypaint.html
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:
[simpledraw]
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:
[threeframe]
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:
[framecount]
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:
[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:
[underpaint]
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.
By virtue of being built in Decker, WigglyPaint has another set of
tricks up its sleeve that none of its peers can match: if something
you want isn't there, it's trivial to reach in and add it live. Here
I use Decker's editing tools to create a new brush shape from scratch
in a few seconds:
[custombrus]
I think WigglyPaint's good defaults and discrete choices are a big
part of the appeal of the tool. Many users have commented that it's
great at helping them break out of artist's block and relearn how to
work fast and loose. Your drawings will never be perfect, so you can
just embrace imperfection and make it a strength.
WigglyPaint's initial release was quietly positive, especially within
the Decker user community and on the now-defunct Eggbug-Oriented
social media site Cohost. It was very rewarding to see the occasional
user avatar with WigglyPaint's unmistakable affectation, and the
slow, steady trickle of wiggly artwork left in the Itch.io comment
thread for the tool. As an experiment, I cross-published the tool on
NewGrounds; it's a much tougher crowd there than on Itch.io, but a
few people seemed to enjoy it. If that's where WigglyPaint's story
had tapered off into obscurity, I would've been perfectly satisfied.
After more than a year of quietly languishing, I glanced at my
Itch.io analytics page one day and noticed a massive spike in traffic
to WigglyPaint. As I would slowly piece together, WigglyPaint had
become an overnight phenomenon among artists on Asian social media.
The mostly-wordless approachability of the tool- combined with a
strong, recognizable aesthetic- hit just the right notes. I went from
a userbase of perhaps a few hundred mostly-North-American
wigglypainters to millions internationally.
There is, perhaps, a version of this story where I rode the success
of my scrappy little tool to personal fame and financial stability,
but I simply don't have the heart for it. I often feel that the
people who most stand to benefit from the creative tools I build are
the ones who wouldn't be able to afford them if I charged money.
WigglyPaint is and always will be free on top of its radically
open-source, malleable nature.
I see most of the programs I build with Decker as a sort of software
ambassadors for the future I'd like to see. I offer them as gifts.
---------------------------------------------------------------------
If you search your favorite (or least-despised) social media or video
sharing site, you can probably find quite a few #wigglypaint posts;
countless users are enjoying WigglyPaint and actively posting their
drawings, sometimes streaming themselves or even drawing wiggly
commission pieces for one another. It's wonderful to see this human
creativity on display, and I'm truly happy for those users.
There's one little problem, though. If you know what to look for,
almost all of those videos, streams, and screenshots are visibly of
WigglyPaint v1.3, which at time of writing was released well over a
year ago. Last month I released v1.5. If so many people are enjoying
WigglyPaint, why are so many of them using such an old version?
If you use a general search engine to simply look for WigglyPaint,
you'll see your answer. Right at the top of the results are
wigglypaint.com, wigglypaint.art, wigglypaint.org, wiggly-paint.com,
and half a dozen more variations. Most offer WigglyPaint,
front-and-center, usually an unmodified copy of v1.3, sometimes with
some minor "premium features" glued onto the side or my bylines
peeled off. If you dig around on these sites, you can read about all
sorts of fantastic WigglyPaint features, some of which even actually
do exist. Some sites claim to be made by "fans of WigglyPaint", and
some even claim to be made by me, with love. Many have a donation box
to shake, asking users to kindly donate to help "the creators".
Perhaps if you sign up for a subscription you can unlock premium
features like a different color-picker or a dedicated wiggly-art
posting zone?
I want to be absolutely clear here: NONE of these sites are created
by me, or with anything remotely resembling my permission.
The sites are slop; slapdash imitations pieced together with the help
of so-called "Large Language Models" (LLMs). The closer you look at
them, the stranger they appear, full of vague, repetitive claims,
outright false information, and plenty of unattributed (stolen) art.
This is what LLMs are best at: quickly fabricating plausible
simulacra of real objects to mislead the unwary. It is no surprise
that the same people who have total contempt for authorship find LLMs
useful; every LLM and generative model today is constructed by
consuming almost unimaginably massive quantities of human creative
work- writing, drawings, code, music- and then regurgitating them
piecemeal without attribution, just different enough to hide where it
came from (usually). LLMs are sharp tools in the hands of
plagiarists, con-men, spammers, and everyone who believes that
creative expression is worthless. People who extract from the world
instead of contributing to it.
It is humiliating and infuriating to see my work stolen by slop
enthusiasts, and worse, used to mislead artists into paying scammers
for something that ought to be free.
It's not just websites where you can find stolen copies of
WigglyPaint for sale, either. Plenty of clowns have crudely shoved my
tool into a WebView wrapper and started trying to sell "The App
Version of WigglyPaint" for iOS or Android, carefully phrasing their
app store summaries with just enough ambiguity to imply- without
technically saying so- that gullible users who give them a few
dollars are helping support me. The subtler, deeper insult is the way
these "ports" seal off Decker's editing tools, preventing paid users
from being able to reshape or customize WigglyPaint and make it their
own. As usual, mobile users get a locked-down, mutilated appliance
for their money instead of empowerment.
---------------------------------------------------------------------
No one facet of WigglyPaint is particularly complex; a few paragraphs
into this article you already knew everything essential about
achieving its signature flavor of line-boil. Discounting the
invisibly discarded prototypes and false-alleys I went down over the
course of its development, WigglyPaint's scripts are only a few
hundred lines of code. I hope I've managed to convey here that the
design, while simple, is very intentional in non-obvious ways, and
that the whole of the application is rather more than the sum of its
parts.
It would be fine if people were building their own riffs on
WigglyPaint's ideas; they're just ideas. It would be easy to create
something new from these ideas, but the thieves can't be bothered to
add even the tiniest creative spark of their own.
The only reward I ever wanted for projects like WigglyPaint is a
chance to grow my audience, and share my projects with more people.
Since so much of my hypothetical userbase is unwittingly using stolen
copies of WigglyPaint, and sharing links to the same slop sites they
were linked to- and so on, and so forth- they'll never know about any
of my other projects. They won't see updates I publish, or
documentation I revise. I have been erased.
The most wildly successful project I've ever released is no longer
mine. In all my years of building things and sharing them online, I
have never felt so violated.
That's all.
back