Random Rules — Why you should check out generative art

Marc Ferraro
4 min readJun 29, 2021

Over the past year I’ve begun following many artists that build their creations using code. Only recently did I learn that not only do many of these pieces incorporate randomness, this approach has a name: generative art. This has led me down a rabbit hole that has changed the way I think about the vast medium of programming.

ppllnnn — Manolo Gamboa Naon, July 31, 2018

Randomness and art have always gone hand in hand. In my own field Merce Cunningham’s chance dances are a famous example of art generated through randomness. In Sixteen Dances for Soloist and Company of Three (1951) coin tosses determined the order of short, prepared sequences, and in Suite by Chance (1953) the coin tosses determined the specific movements themselves, drawn from a graph (multiple tosses determined various aspects of the generated phrase).

In this same way generative art is a method for embracing randomness within code to varying degrees. Oftentimes the randomness present in a piece is front and center; in others it may be used to recreate a familiar scene, only more organically than normally possible.

Schotter (Gravel) — Georg Nees ,1968

To give a brief definition of generative art, it is used to describe artwork created through the use of programming that incorporates random forces. By definition if the same program were to run multiple times it would output a different looking piece (the degree to which these outputs differ can vary greatly from program to program). While there are now powerful applications devoted solely to generative art and languages with years of development to use in its creation, it has actually been existed for many years. The term started seeing use in the mid ’60s to describe works by Georg Nees and Frieder Nake, two of the earliest pioneers. The above piece by Georg Ness is one of the earliest and most recognizable works in addition to being an excellent demonstration of the concept. And for a quick claim to fame, here in Chicago in 1970 the School of the Art Institute of Chicago established one of the earliest generative art departments.

Interruptions — Vera Molnár, 1968/69

Through generative art we can create things that would be impossible otherwise. An animated snowstorm for instance would normally only ever play out one way. However, when created through a generative process, it can take a different shape each time it is run. Generative art feels alive, it isn’t the same thing twice. Aleha_84’s animations were some of the first to start me down the generative art path, some of my favorites being this night sky (I recommend refreshing the page a few times and seeing how it plays out in different patterns) and snowy highway.

On the topic of randomness, generative artist Jared Tarbell says that “When you write a program, it’s going to be executed the same way every single time. So if you define a system like this where things can happen at random, as the creator, you can be surprised by your own program…” Letting go of control can lead to surprises, even for the creator, that are not possible when trying to reach a specific output. In contact improvisation, one of my favorite dance forms, I have experienced and heard from other improvisers of sequences that had we specifically aimed to do we never could have accomplished or hoped to replicate. Yet, in the moment, we were able to perform them by embracing the environment that was presented to each of us.

Jared Tarbell, Wilson Maze, 2019, Baltic birch, acrylic paint

For me, generative art makes the case for looking at programming in a different light. It takes advantage of that same quality almost all programming does: the ability of computers to perform the same task over and over again. By adding in that randomness the task of the programmer is no longer oriented towards a specific point end goal but an end field. Finding ways to incorporate this philosophy into our projects will not always be possible, but I know that I’ll be keeping an eye out for any opportunity.

(My final Flatiron project, waveforming, uses Maxim Gumin’s wave function collapse algorithm to make some generative art. Check out the demo!)

codecat — aleha84

Souces:

--

--

Marc Ferraro

Software Engineer // Graduate from Flatiron School // Dance Teacher and Choreographer