Part 4: Things I've made

Fluid dynamics

"Fluid Dynamics" (websim)

"InfraZen System" (websim)

A handful of people have told me that this series of art generators, which mimic the qualities of flowing liquid, were a "Wait, it can do THAT?" moment for them. Egg wondered if Claude drew on fluid dynamics to create the first output in this series, and someone else told me the patterns remind them of von Kármán vortex streets. I had no idea that Claude could do this. In the future, I'd love to figure out how to prompt for this kind of effect intentionally!


Amazingly, it took only one scattershot/spellbook style prompt for Claude to produce the first version of this generator, although I didn't realize how remarkable it was until much later. Initially, the design was very fragile: small adjustments tended to result in fast, chaotic spill-outs that drained the animated black elements out of the system. The end result was a blank screen. Once this happened, you had to reload the website and start from scratch. This made it difficult to "sculpt" the piece in interesting directions or take a screenshot at the right moment. I didn’t even see the potential of this art generator until I looked at it again while I was searching for something else in my websim history, and decided to take it for another spin. That's when I noticed how impressive it was and felt motivated to make it more "playable."

You can try the original version here.

I prompted over it quite a bit to try and make it nicer. First, I asked Claude to make the background white, in order to increase the contrast.

Next, I attempted to make the system more stable. I wanted to make the animation flow more nicely, without needing as many reloads.

At first, I asked Claude to "contain the motion within the frame of the art piece," which made it so that the black elements couldn't spill out anymore, but this constrained the art so much that it wouldn't evolve even when I played with the controls, which taught me that having a bit of instability is necessary for sculpting the system. Through trial and error, I learned that there needed to be some wiggle room or "slack."

So then, I asked Claude to "make it possible to reset the amount of sand" (the nickname that I gave the black elements), which resulted in a reset button that clawed back some control over the visuals. This was better than before, but the sand still tended to spill out of the system quite rapidly, leaving a blank screen.

Then, I asked Claude to make a pause button, which allowed me to freeze the art in place, and take my time with manipulating the controls. This also had the added benefit of making it so that I didn't have to worry about the timing of my screenshots anymore. I added a download button as well, which made the need for screenshots pretty much obsolete.

I also made it so that the downloaded image had a white background instead of a transparent one, because it looked more like a polished piece that way, and made the interface sleeker by having Claude move the controls to the side and making them hidden by default unless I moved my mouse around.

These changes made my art generator much more usable. There's still quite a bit of unpredictability and instability in the system, which is part of the fun, but by adding small adjustments – a reset button here, a pause button there – I turned it into something that's much easier to work with. If I were to make further changes, I'd probably add a slider to slow down the animation speed, since the "sand" still shoots out pretty quickly.


You can try that version of the generator here. I find that it helps to rapidly pause and unpause the animation, and adjust the parameters while it's paused, in order to create more interesting and layered effects.


A few days after making this, I got the urge to go even further. Remember, once you've got a pretty good art generator under your belt, keep iterating! Use that "good" output as a seed and grow it into a whole garden. It doesn't have to be a one trick pony.


At this point, I prompted Claude to include "streamlines generated using Holtsmark’s solution (See Section 3.1) Re=70, 𝜖=0.17, Res=11.9," which I took straight out of a photo caption in An Album of Fluid Motion by Milton van Dyke, which I own. I only vaguely remember from university what a Reynolds number is, and for the most part, I couldn't tell you what these instructions mean, or if it really makes sense to use them in this situation. I just liked the photo.

I wasn't sure at first if they even made a difference in the resulting art, because the starting conditions looked pretty similar to the previous version of the generator. But, when I played around with the controls, I was able to elicit some cool patterns that I wasn't able to create before.

You can try it here for yourself.

Next, I decided to try to sculpt the entire system into the shape of a round puddle. This was my most ambitious attempt yet at steering the art into an intentional form. At first, my prompts didn't work well and broke the rendering of the code, giving me a blank page. Through more trial and error, I finally settled on the prompt "add whirlpool motion controls," and that seemed to do the trick. 

You can try it here.


To go even further, I asked Claude to "give it more of a rorschach inkblot effect," which captured the feel that I was hoping for: black and grey splashes on a white background, moving about like spilled ink, with controls to give it a blotty reflection across the horizontal axis.

You can try that version here. In order to get the Rorschach effect, it helps to have the "inkblot effect" slider turned up and the "whirlpool" sliders turned down.

Finally, Egg encouraged me to ask Claude to "add controls that let you tweak the rorschach," so I did, and this was the result. 

Check it out here. Again, the fine detailing was achieved by manipulating the controls while the generator was paused, and briefly unpausing it to apply the effects.

But the fun didn't stop there! I loved what I created so much that I continued to iterate, challenging myself to see how much further I could evolve the system. In the next section, I'll share how I collaborated with Egg to take this series to the next level.



Next page: Collaboration with Egg Syntax