You know what computers are good at? Being creative.
That is, they’re amazing at working tirelessly and generating variations, given the proper constraints.
I’m in the process of creating some album art for a friend of mine, Mode7, for an upcoming EP release. I wanted to create something that was simultaneously intentional (i.e. I had ideas for an image) and generative (i.e. I’d let the computer make stuff up too). For the last couple weeks, I’ve been slowly building a Processing app that helps me generate compositions given a curated range of possible random values.
Last night, I asked my app to show me 10,000 variations on a theme. Here’s what it came up with:
+ See it hi-res on Flickr.
And here’s a zoom of a 6×6 grid from that output:
And here are some random selects that I never would have come up with on my own:
These images are rendered in an OpenGL context, so the lighting is basic and even throughout. But this is only the first step in the process of creating the final image. The Processing app is a tool for creating compositions and color schemes. In the end, my selects are saved out as Sunflow scene files and rendered in Sunflow with global illumination at a super-high resolution. Here are a couple test renders to give you an idea of the end possibilities:
There are a couple things I want to note about this whole process.
What has happened in this process of creation is the emergence of a symbiotic relationship between me and the computer. I started with clear intention for the type of image I wanted to create. As I began programmatically building the structures of the elements I wanted to use in the composition, it wasn’t until I saw the way the computer rendered my forms that I would continue moving forward. These renders influenced my direction and provided a sort of course correction.
The same happens when I ask the computer to provide me with a series of choices. I become the curator and the computer becomes the creator. It seemingly influences me as much as I influence its output. This is especially true when you introduce Math.random() into the relationship. That singular function is the computer’s very powerful voice.
This whole process is like a dance or a dialogue. And I’m beginning to learn how powerful this can be in discovering possibilities for creative output that I wouldn’t have been able to achieve on my own.
When I tell the computer to give me 10,000 choices, the process of reviewing those choices makes me feel like I’m a scientist or an archaeologist exploring unseen worlds or newly revealed information. I’m seeing something wholly new. A world that had the possibility of existing, but only up until last night, never actually existed. And here I get to discover that new world.
There’s something so utterly enchanting and delightful about this. Flipping through these images brings me closer to some level of innocence and awe that I simply don’t encounter very often in my life. And now I’m hooked.