Creative Coding and Generative Art is something I’ve been exploring for several years now. Partly as a way of improving my coding skills and partly as a fun hobby. I’ve always been fascinated by the idea of computers generating art and how we can work with them to produce creative results.
I took the team through some of the ideas behind this and then we all had a go at making some generative art and sharing the results.
What is it?
Firstly what do I mean by the terms Generative Art and Creative Coding? There are some very formal definitions and then some simpler ways to think about it.
Generative Art is usually defined as:
“art that in whole or in part has been created with the use of an autonomous system”
This can sound complicated. More simply put, ‘Generative Art’ is the practice of creating art where you as the artist give up some element of control. This might be by rolling some dice to pick which colour you use, or setting the background colour of your app based on the time of day. Or using a computer to insert just a little randomness into some code that makes a piece of art.
This leads us on to Creative Coding which is traditionally defined as:
“A type of computer programming in which the goal is to create something expressive instead of something functional”
or in other words, making creative things with code for fun. This isn’t to say coding isn’t creative outside of this, but here the aim is purely creative as opposed to functionality or efficiency.
To explain what I’m talking about I’ve embedded a small piece here on the page. This script generates the images you see by drawing lines based on a sine wave which is warped and twisted by different random numbers each time. If you watch for a while you’ll see there are a few distinct looks, but every time it runs it makes a slightly different drawing.
This is quite a simple example, but you can already seem how many variations you can make with just a simple piece of code.
Why is this interesting?
But why does this matter? And why would you want to explore this or use these techniques in your website/design/creative work? I think there’s a few things that generative art can bring to the creative process. As the small example above shows, with these approaches you can iterate through lots of options quickly and see which variations work or don’t and I’m often surprised by what my tools can produce and the unexpected gems that a system can create.
These tools are starting to be using in branding and a few other contexts. Squarespace recently unveiled a new generative brand identity created by New York Studio DIA and there are numerous examples of city or festival branding that use these techniques. Part of this seems to be a way of showing a multi-faceted identity through design, a Squarespace website can host anything – so surely the branding should reflect that variation. Another example that I particularly like is the Norwegian Academy of Music by Neue.
A classic example
As part of our breakfast briefing I took the team through a classic example of creative coding called “10 Print” which first originated on the Commodore 64 in the 1980s. This one line of code decides randomly to write “/” or “\” and repeats infinitely. Before you know it you end up with something that looks like this:
You can create lots of fun variations to this pattern by using shapes or other lines such as “-” and “|”. I made a tool for the team so that they could have a go at making their own pieces of generative art. It’s online and you can have a go at making your own work as well. Be sure to share your creations with us if you do.
Here’s an example of something I made with this tool:
Find out more
If this has got you interested in generative art or creative coding there’s lots of resources out there to get you started and I’ve listed a few of them below.
Places to learn:
A small selection artists that make amazing generative/creative computer works: