When teaching technology, there are often things that seem obvious or unreasonably difficult to teach. And then there are things that are just overlooked. Here I write about three aspects of creative coding that can be real show-stoppers, but are not that hard to solve. This blog post was originally written for the Apress blog.
What are the 3 creative coding challenges that never get mentioned?
Ok, so you are interested in creative coding, visualization and generative art? Nice. What are the three most important challenges that only very few programs, books and tutorials address? First, the blank page problem, second, translating from idea to code, and finally, how to get out of feeling stuck. Recognizable? Absolutely, let’s dig in.
Blank page problem
Everyone experiences the blank page problem occasionally; it happens when you open a word processor, a blogging website, a new tweet, and also when you open your favorite coding environment. And then, despite your plan to create something, there is nothing. No words come out, no code flows from your fingers. It is as if our creative thoughts that were there just seconds ago, have vanished into the emptiness of the canvas.
So, what is really the problem here? We are motivated, we have the time, we have the right tools at hand–perhaps not even time pressure or an empty stomach (if not, solve those problems first). The problem is the empty canvas that has nothing that our creativity can latch onto. It is like trying to walk while floating in outer space, the motions of walking just don’t convert into momentum.
What can you do? Once you realize that the blank page inhibits you, that’s the first step. The next step is to realize that you were aiming too high for the first thing to come to your mind and that you need to feed your imagination somehow. In creative writing, there are techniques to get started, and same in creative coding: start with something really simple, a rectangle, a line or a circle. Put it out there and then another one. Soon, you see that the canvas is no longer empty, something has taken shape. Now, let your imagination slowly take over, move or remove something, add another thing. Arrange all elements, add chaos, delete everything except for the best elements, then start building again. Soon you will be on your way.
Why did I not suggest looking at examples and tutorials when suffering from a blank page? Very simple, “looking at” is almost as passive as staring at the blank canvas. What we need to do is to start making, start building confidence in what happens because we act. It’s not that we needed ideas, we needed a kick-off.
From idea to code
The second challenge, from idea to code, is related but slightly different: we struggle in turning an idea from our imagination into something visual, perhaps even moving and interactive. Your idea seems so clear, but there is no path to writing the code. You might even have sketched your idea on paper, and still… what you need is series of steps to make it. Doesn’t this feel familiar? Think of food, you crave that dish that you saw online or on TV, what do you need to make it? A recipe.
The world of creative coding is full of recipes. Every coding environment comes with examples and libraries, often a few clicks away. Open them and look for examples that look a little like your idea. Once you are reasonably close, start modifying the example, nudge it closer and closer to your idea. Soon you will have picked up the important steps of the recipe that you were missing before. Continue with this process, or even start from scratch, retracing the recipe towards your idea.
Finally, there is the challenge of feeling stuck. This is when the earlier momentum is lost, when we seem to go in circles, have too many options to choose from, or encounter a difficult technical challenge. This is difficult and easy at the same time: once we figure out why we feel stuck, getting unstuck is straight-forward. So, let’s focus on the why: in the first two cases, lost momentum and going in circles, we have moved fast for some time, outpacing our imagination. What you need is a break, to let your ideas catch up with the making again. In the second case, with too many options, we have lost the oversight and cannot see the best path forward. What you need is to zoom out and focus on the goal again. Give it a few minutes, then go through all options step by step to pick the one to continue with. You can always go back to the other options if your first pick does not work. Letting go of the pressure to make the right choice immediately is the key here. Experiment. The final case, a technical challenge, is common when starting with creative coding. So common that we have dedicated an entire part in our book to solving problems and pushing through the ceiling.
In the end, the creative coding journey is as much about what you create as what you learn about coding and creativity – and yourself. All three challenges above have to do with our own process, knowing what we need to do at which time. That is why creative coding is never just about a language, a tool or a few concepts, for most of us, we need to take an extra step to make the learning sustainable and self-driving: we need a process, a way of making with new technology that fuels itself and carries you over inevitable gaps of not-knowing and feeling stuck.
Now, what’s coming next for you? Check out our book website or dive into the book directly, – and show us what you make, give us feedback about what worked for you and how your own process looks like.