With the explosion of NFTs and digital art collection in the past few months, particularly through ArtBlocks.io, I'm seeing a huge surge in interest around generative art. Suddenly, many people are trying their hand at creating generative art for the first time as generative art is starting to be taken seriously as an art form. The world of generative art is huge and it can be hard to know what to focus on. The goal of this essay is to lay out some of the pain points generative artists face and how a new generative artist might overcome them.
I expect this to be most helpful for new people trying their hand at the craft, but viewers/collectors may find value in understanding the process better as well.
What makes generative art hard?
Generative artist & designer Louis-André Labadie gave a great response to this question:
I think generative art has two groups of newcomers with very different experiences:
Artists discovering generative art: Oh my god how do I even start coding.
Coders discovering generative art: Oh my god how will I ever call myself an artist.
Code is unforgivingly rules-based. It works or it doesn't; there is no in between. Art, on the other hand, is pure creativity channeled through a tool. It all "works”. This dichotomy makes it a very difficult field to break into. How can it be possible to express oneself with a medium so orderly? We're all working towards the center of the Venn diagram where artists and coders meet.
Some personal background: I fell in love with art when I was younger, and even went to art school for a semester (I didn’t like it and dropped out). I later stumbled into programming during a summer gig, dove in headfirst, went back to college for a computer science degree and started my career as a software developer. It wasn't until several years later that I realized coding and the visual arts could be connected so directly, and bringing art back into my life as an adult has been an extreme joy. This space is where I belong, and I knew it as soon as I entered. That said, I kind of approached it from both angles. I had a background in both art and code, and yet, it was still hard to break into. My work is still improving to this day, and it took a long time for me to be happy with anything I made. So, first thing’s first: be prepared to struggle when starting out, but also have fun with it (it’s not hard to have fun with it!).
artist-first generative artists
Luckily, generative art happens to be a spectacularly low-friction way to get started writing code. My advice for these individuals is light, but doing this will get you comfortable coding quickly.
When I first learned to code, I remember being completely lost and just following along tutorials, never using copy-paste, and I felt like a fraud. But one day, after enough tutorials, something clicked into place and it all started to make sense. This is not an uncommon experience. So for artists new to coding, my first advice is to be comfortable being uncomfortable, and eventually, you will become more comfortable.
For more pointed advice, I recommend the following:
Open the p5.js web editor, which is the least friction way to get your hands dirty. Look through Daniel Shiffman's videos and pick one on p5 that sounds cool. Watch intently and type everything he types. No copy paste. When the video’s done, tweak some of the variables and play around with your sketch. Rinse and repeat. You'll build muscle memory and start to internalize what things mean, and it won't be long until you're able to express some of your artistic ideas in code. Once you're comfortable enough writing some basic processing or p5.js sketches, all of the advice below will apply to you as well.
There’s an overwhelming amount of stuff to learn
Remember that the work you see from the "big" generative artists is built on years, maybe decades, of prior work. Code is reusable, and our algorithms become our style. As a result, trying to replicate complex work right out of the gate will only lead to frustration. Start small, get a foundation under your feet, and build from there. Tyler Hobbs once suggested to me that generative artists should spend a lot more time with a single idea or core algorithm. Famous artists typically have stylistic periods of work. I think, for generative artists, these periods will be defined by our core algorithms. If you find a process that produces interesting art, explore that process until the well runs dry. Create several artworks using the same core. You will naturally run into new questions and build up knowledge in a natural way by doing this, rather than trying to force yourself to learn everything at once. It can be hard to slow the hell down, but it really is the best way to build up expertise and find your niche, unintuitive as it may seem.
Some relatively basic tools I personally use on a regular basis and couldn't live without are simplex noise, flow fields, geometric subdivision, circle packing, Markov chains, Chaikin curves, geometric primitives*, probability distributions, and basic physics. If you're completely lost and don't know where to start, pick one of these concepts and start tinkering with it.
* finding the intersection, if any, of two line segments, for example
Identity crisis: calling yourself an artist
Avoiding calling yourself an artist, and your work "art," is a form of negative self talk. Own your identity as an artist and your work will dramatically improve. You will find yourself thinking deeper about what is wrong with your work when you get frustrated. As an aside, it's completely okay to give up on a program if it's just not coming together. Don't be afraid to throw something in the trash or table it indefinitely. Not every idea is a winner. However, most can be if you're honest and open with yourself about what's not working in a piece.
Practice, study, and explore
Working on art a little every day will pay dividends in the long run. Zach Lieberman and Alexis André’s daily sketches are a great example of consistent practice in this space. Zach and Alexis both work on the same theme for a significant span of time before moving onto something else. This is great practice in remixing your own art and finding out what works and what doesn't. This goes back to what I said earlier - try not to jump around too much idea-wise, especially when you're just getting comfortable. You'll get lost and frustrated, and you’ll lack the deep knowledge to break through to great work.
As for me, I got started with "Generative Inktober" in 2017, in which I challenged myself to make one piece a day for all of October (selection pictured below). I wouldn't be where I am today without throwing stuff at the wall that month. Don't be afraid to suck at first. We all start somewhere.
Practice aside, Piter Pasma also suggests setting time aside to explicitly study color theory. Color theory is tough to pick up naturally, and dedicated study will make your life a lot easier. Colors are pretty much unanimously thought of as one of the most difficult parts to get right in generative art, and I think one reason why is because coder-first generative artists don't have a background in color theory. Make sure to study the technical programming stuff too. Read books and papers to get new algorithm ideas, and internalize computational geometry algorithms so that you really understand them. Read the source code for some open-source generative work. These will unlock new avenues for your art, and it's some of the hardest work, but it pays dividends in the long run.
Lastly, browse a lot of art. Go to museums and art shows when you can. Read art books from your local library or buy them from your local book store. Do not limit yourself to generative art. Look up famous artists on google and scroll through their work.
It's incredibly hard to make something you haven't consumed enough of, across the board. Game designers play games. Guitarists listen to guitar. Artists browse art. Seek out those who inspire you to do better work and strive to understand them. Some artists I personally draw inspiration from are Joan Mitchell, Willem de Kooning, Lee Krasner, and Wasily Kandinski.
Curating stories
Great artwork tells a story. This storytelling can be difficult for abstract pieces, and even more difficult when relinquishing control to a program you wrote. Thinking enough in the meta to craft story-crafting systems that produce a cohesive body of work that tells a great story is one of the primary struggles of a generative artist.
There are many individual components that elevate generative art to the level of great storytelling, but it's impossible to list them out directly, and it’s always a combination of techniques anyway. You know it when you see it, though. For example, take Piter Pasma’s Hyperplane Microplane VX-5:
Doesn't that make you feel something? There's something strangely somber and futuristic about this plotter drawing. We could talk all day about the technical aspects of the piece, but what really matters it binds the viewer into the piece itself. I could get lost in it. The moment I saw it, it became one of my favorites. For another example, take Helena Sarin’s Love at First Checkpoint:
This piece of Helena’s stands out against most GAN artwork because she trained it on her own still lifes, then spent the time and energy sifting through latent space to capture the perfect “moment” in space.
Helena and Piter both had a huge variety of choices for which pieces to showcase, but they chose these ones. This curation aspect is crucial. Learning to curate your work once an algorithm is “done” is a skill I personally never expected to rely on so heavily. It is tough enough to create a single piece that looks great, but even tougher is creating an autonomous system that makes good art every time, or at least a high enough frequency that you can choose some truly great outputs.
Related, sometimes during your curation process, you will discover that the piece is not done. Tyler Hobbs writes that he tweaked his Fidenza series for two full months before he felt it was ready. I’ve personally spent weeks on this curation/tweaking cycle for some of my works myself. The struggle of curating your own work is unique to generative art. We have to produce artwork machines, and then recognize the subtleties about what makes one output more interesting than the others, and then iteratively tweak our machines and curate their outputs to form a cohesive full body of work that tells a story. It is enjoyable and exciting work, but it is very, very hard, and everyone should know this going in.
If you’re interested in purchasing any of my work, I have a selection of NFTs up for auction on Foundation. Have a look.
Lastly, I’d like to thank the following generative artists for sharing their thoughts on this question to make this blog post better. You’re all amazing.