@frankstellabot

This bot grew out of me getting bored (frustrated?) with the repetitive process of making physical copies of Frank Stella works. I thought, I could teach a computer to do this. Which then lead to me exploring techniques for how to make the pieces more glitchy and also more naturalistic.

It was really my first engagement with digital and glitch art.

In the process of making this, I discovered how quickly a bot can bore you. I saw Kate Compton speak a few months after I turned this off, and she said something very smart about how the infinite “spigot” of a generator tends to be boring. I was relieved to hear the queen of generative art validate my feelings.

In working on this project, I got overwhelmed trying to hold onto every idea I had, every code path, every glitch, and trying to string them together in ways that would be surprising and random. I think treating it as code that had to produce repeatable output for a bot, rather than as a weird scratch pad for making one-off pieces really hurt my ability to stay creative with this. It became too much about code organization.

And now, I really understand what Kate meant about how what makes bots interesting often is turning off the spigot. Looking back at this project two years later, I really value all the outputs I did save, and I really regret not taking more in-progress outputs along the way. I am particularly sad about a desktop full of outputs from that wavy glitch that I loved that I deleted one day thinking that I could just make more in the future.

This bot got shut down when I let my virtual host lapse.

Initial Explorations

Interesting Glitches

In the process of developing the bot, I discovered that the logic mistakes in the code were really beautiful. I also discovered really quickly that the repetitive perfection of the lines in the simple versions were really boring.

Naturalistic

I started experimenting with using Perlin Noise to make more naturalistic looking brush stokes, and was mildly shocked at how well it worked.

I think if I remember correctly the final version takes the basic line drawing algorithm, and jitters the position with some perlin noise. It overdraws the line a few times to make even noise? to prevent gaps? It’s been a while since I wrote this code.

This is what the noisy lines look like

Glitch Attempts

The best part about the glitches that had happened in developing the code was that they were surprising and the worst part of the bot being done was that it was boring. So when I wanted to get it to glitch, I didn’t just want glitches, I wanted glitches that felt unpredictable to me, the author.

My initial, hilariously misguided attempt was to write a program that ingested the javascript program and messed with the numeric constants in the code. The hilarious part here was when it broke the for loop exit conditions so the program would run in an infinite loop. I ended up needing to make the glitcher program a lot more specific to the input program than I expected or wanted.

They’re surprising? but bad?

The version in master/ glitches by introducing branching glitch logic into the core code of the drawing loop, but I didn’t like how fragile and repetitive it made the code

At one point I wrote a version which shimmed the canvas 2d api, to make the glitching transparent to the core logic, so it could be cleaner.

and … now I’ve realized I lost the version of this that I thought was really the prettiest and I don’t know why I abandoned it or where it went. It made these beautiful curves.

Animations

A Whole Gallery of Bugs

I really wish I’d saved more of these.