May 30, 2003
An issue we want to address on grandtextauto, as we discuss the practice of making computer-based art, literature, poetry, drama, etc., is the question of artists as, or needing to be, programmers. How can artists to learn to be programmers? Why aren’t more artists programmers? Can tools simplify or take the place of programming? What kind of programming languages are amenable to artists? At what point do artists need to be programmers? Isn’t it enough for artists just to collaborate with programmers? Are programmers artists?
This topic is too big to address in just a post or two – so we’ll be addressing it in blog posts over time. Please join in with comments, ideas, and opinions.
For much of the art-making from each of us on this blog, non-trivial amounts of programming have been a key requirement. Each of us are programmers, some pretty hard core. Some of us are teaching artists how to program – for example, Stuart is establishing an undergraduate degree in games and simulations; Michael will be teaching a class this Fall for artist programmers. A couple years back I wrote an essay on the topic. Several others in the community, such as the outspoken Mark Bernstein, have a lot to say about this.
As an informal way to kick off the discussion, I thought I’d poke around on the web to see what kinds of artist-programmer stuff is currently out there. A cursory search turned up a few interesting things. Please contribute more links in comments!
John Maeda’s Aesthetics and Computation Group at the MIT media lab has developed a programming environment and language called Design by Numbers. “The environment provides a unified space for writing and running programs and the language introduces the basic ideas of computer programming within the context of drawing.” Design by Numbers is being used in several university courses outside MIT.
Proce55ing, also from Maeda’s MIT group, “is an environment for learning the fundamentals of computer programming within the context of the electronic arts and it is an electronic sketchbook for developing ideas”. On the site are some very impressive new works of algorithmic visual art created in Proce55ing.
Python is a language with “simple, easy to learn syntax that emphasizes readability and therefore reduces the cost of program maintenance”. The site includes lots of tutorials about learning how to program. Here’s an article suggesting that there is a book in development for Python programming for artists.
For the creation of text-based interactive fictions, a popular user-friendly language is Inform, developed by Graham Nelson. I’m sure Nick has a lot to say about this.
Alice is an interactive 3D graphics programming language developed at CMU. “Learning to program a computer is hard. Alice makes learning to program easier. And it’s fun.”
In a previous post I mentioned Garage Games’ new Reaction Engine.
For our interactive drama project Façade, Michael and I are developing ABL (A Behavior Language), specifically designed for the construction of virtual characters, aka believable agents. When it’s ready, ABL will be made publicly available.
Ken Perlin gave a short passionate speech at last March’s GDC Academic summit, calling for teaching procedural literacy to everyone, starting from a young age.
What else is out there for artist programmers?