Lost Memories: Interactive Art Code

Today I was reminded of a piece of “interactive art code” I’d created a couple years ago as a proof-of-concept of what could be done with Khan Academy’s CS platform.

The code and compiled result are shown side by side, so you can edit while seeing the result in real time. Editing is easy: click on a blue number and it turns into a slider, so you can try changing the variable “blowing_shifting_speed_of_change” from 10 to 0 or -129, stuff like that. Only this time, instead of editing this as part of learning to program, edit these numbers to participate in a piece of interactive art.

Lost Memories

You can save your result on the Khan Academy platform if you want (no signup necessary), as well as whatever you might choose to program (though I warn you that the way it is computed in real time does not always reflect what will happen if the code is run from the beginning, especially for cases like turning a speed to 0 when the thing moving has already moved). Variations of programs are linked to the original, which is how I re-found some of the earlier stuff I’d made that day that led to the above result.

It started with a cardioid generator that someone else had written.

Sum Of Circles

I didn’t have any experience programming in javascript, but I do understand cardioids and circle summing, which made the above example a great jumping-off point for me. Watching the thing change in real-time as I messed around with it was fun, so the obvious next step was to animate that action. I learned how to animate and came up with Drowning Bloom.

The embeddable player runs slow when more than one are animating at once, so I just made a slight variation with an integrated pause button of sorts:

"Drowning Bloom" with STOP

Next step, only slightly more complicated, an animation that loops back and forth: Phoenix

"Phoenix" with ASHES

One thing led to another and soon I had a simple animation I called Lost Memories of Desert Sand, and couldn’t stop staring. Here’s where I thought I was on to something, that there’s real power in the artsy interpretation of a simple piece of sum-of-circle code.

Thinking about code as an art form, I realized I wanted to write Art Code, that I wanted the code itself, and not just the resulting pretty image, to be the essential part of the art piece. I wanted writing code, editing code, changing code, to be part of the art. Not in a “coding is art” kind of way, but in an “interactive art code” kind of way. And thus Lost Memories of Desert Sand got a bunch of new variable names, ordering, and piles of comments, resulting in Lost Memories.

It is appropriate to the name of the piece that I’d forgotten it for so long, just one more quick project lost immediately afterward, then found years later, thinking “hey, that was pretty good, I should probably get that down on a blog before it’s forgotten forever.”

I think interactive art code is a genre worth pursuing, ideally by someone who knows or wants to learn javascript, which maybe is you? (If you make something, tweet it @vihartvihart)

My past self also managed to surprise me with this one: “Oops“.

Broken "Oops"

Oh, how I amuse myself.