~Generative Art~

What is it? Why is it? And how can I participate?

What is generative art?

Generative art is just one of many super cool ways we can use the internet as an outlet for creativity! The term refers to art made using a specific procedue or set of rules. Esentially, the art piece will be generated by an algorithm, at random, or based on user input. In the context I'm discussing here, this procedure takes the form of code.

Great, so now a computer is going to take my job as an artist too?

Good joke, but definitely not. The important thing about generative art is that there is a real, human artist behind the code that generates these pieces. Someone has to take the time to determine what the code will do: how will it be determined what shapes come out and where? How will user input effect these shapes, colors, lines, etc? It's hard to wrap your head around what this might look like, so here's one of my favorite examples: no paint

Cool, right? But it still might be hard to understand how exacly the creation you came up with happened. In order to help with that, I've used code.org's app lab to write a super simple random line drawing code. Click the image of a phone screen below a few times to see it in action (the more you click the more you'll be able to see exaclty what it does).

So, how did that happen?

If you want to see the code itself, click the "built on Code Studio" tab and it will give you the option to see how it works, but for anyone who isn't familiar with coding, an explanation is surprisingly simple. Uppon clicking, a piece of code is executed that places a virtual pen down on our virtual canvas, then generates a random number from 1 to 100. If the number is greater than or equal to 50, the pen turns 90 degrees to the right, then moves forward 20 pixels. If the number is less, it just moves forward 20 pixels in whatever direction it's already facing. Now imagine I added several more effects- a line of code that randomized the color of the pen, a way to make the pen turn left as well. The 13 lines of code I used to make this could become infinitely more complex, to the point where they made something more colorful, random, and complicated, much like the art that no paint produces.

Now, no paint and my little line drawing code don't even encompas half of what's possible with generative art, so lets do a quick run through some other cool projects and what they do. Remember, for each of these, someone had to write code to tell the program how to behave, to tell it exactly what to do and how to react to your input! For the purpose of gaining a general understanding of how generative art happens, I'm going to speculate about how each of these programs might work, but please be aware that I'm using my limmited coding knowledge to do so, and I could be entirely wrong.

Silk

Silk is a classic! It's probably the first generative art site I was ever exposed to, and at the time I really didn't think much about the process going on behind it. I used Silk to make the background of this page! The process of how the graphics are made is honestly beyond my understanding, but we can assume an algorithm determines how the "silk" will weave and flow as you move your mouse

This is Sand

This one is basically just a physics simulator! As you drop the grains of sand, the code determines how they will fall and bounce off of each other. Eventually they settle and create sand art.

Bomomo

Bomomo is another paint tool with a twist! It has a bunch of different brushes that are programmed to zoom around a canvas and create marks based on your clicks and mouse movements. For most brushes, movement on the canvas happens independently of user input, however user input causes the actual mark to be made and effects the movement pattern.

This X Does Not Exist

This website is admitedly very different from the others, but I would still put it in the category of generative art... as well as many other categories to be honest. But for the purposes of generative art, this website uses something called a generative adversarial network to create images of things that do not exist, but look real. This has a lot of implications beyond being used for art, but it is pretty incredible from a creative standpoint too.

Why Does it Matter?

In my opinion, digitally produced art will never replace physical art. They're on two completely different playing fields and they both have just as much merit. But art is ever changing with the world around it, and technology offers so much to us in the way of creativity. Although much of the world thinks of code in how it pertains to data, processing, and genrally "non-creative" endeavors, code can also be valuable within the artists toolbox. With coding we can create art that we wouldn't see otherwise, it opens a new door for us and provides what is esentially a new material to work with. Whether this means randomly generating a piece, or creating a code to do something very specific that we cannot do manualy, coding an art piece still has the touch of an artist, and in fact, often lends itself to becoming a collaboration where the code can be written by one person, and executed by another using their chosen perameters.

Do it Yourself

While generative art can be incredibly complex, it doesn't have to be. You can start anywhere at any skill level. Generative Hut has a lot of info on generative art and a few tutorials for various skill levels. This video series by code academy is also a super cool resource! And finally, the program I used, Code studio . Code.org and the Code Studio are what I used while learning to code in high school. You can use it for any type of coding, and while it's geared towards younger people, it's great for beginners in general! It has some pretty cool tools, such as a coding program that allows you to experiment by draging and droping pre-written functions and lines of code, which is what I used to create my generative art example.

Share your own resources!

One of the beauties of the internet is that we can share resources easily! If you have any cool generative art projects or tutorials you're welcome to share them in the chatbox here.




This article was created by Ez