Foreword

The last decade has seen a significant shift in our understanding of digital tools. Not only do we now take them for granted, we are becoming the cyborg creatures much-prophesied in 1990s millennial theory but without the neural implants and virtual reality that so alienated mainstream audiences.

Instead, we put smartphones in our pockets and walk out into the world armed with search engines, Wikipedia, social networking services, and advanced mapping services. Without giving it much thought, we have turned into augmented beings existing in a world that is simultaneously real and virtual.

This revolution would be impossible without a new understanding of software as cultural artifact. Where we once saw text processors as literal typewriter replacements, we now download and exchange apps as a popular pastime. Websites that used to be closed domains of proprietary information now sport public APIs, enabling professionals and enthusiasts alike to create ever-popular “mashups” based on their data.

In the creative field, the most significant development is the realization that software processes aren’t simply tools, but can become the very material from which works are made. New design disciplines like interaction design and information visualization are based on the application of computational solutions to design problems, while generative art has become a household term describing artworks articulated as code. A new generation of electronic artists has turned to code as fertile ground for conceptual and formal experimentation, simultaneously providing a pragmatic framework for computational creativity and a theoretical context for the created artwork.

The roots of this trend can be traced back to the mid-1990s, when creatives began experimenting with HTML, Shockwave, Flash, and Java applets as a creative medium. Predating iPhone and Android by more than a decade, the World Wide Web was the first media platform to deliver computational content, authored using tools aimed at creatives rather than computer scientists. But despite the important work done in this “golden age” of the web, the real revolution came with the introduction of open source tools such as Processing.[1].

1 Processing is just one of many free development tools intended for artists. Pure Data (PD) and vvvv are both so-called visual patching tools, popular for video and sound manipulation. NodeBox and Scriptographer are specialized for graphic programming, and systems like Structure Synth and Context Free are based on recursive shape grammars.

Written by artists for artists and initially intended as teaching tool, Processing is a simplified language built on top of Java, focusing on creative applications like real-time graphics and interactive systems. It eliminates tedious tasks typical to regular programming tools, allowing even novices to get sketching with code quickly. But despite its simplicity, Processing is a powerful platform capable of supporting the most demanding digital media application. It’s designed to be extended through user-contributed libraries that add functionality to the core framework, and is easily integrated with other systems like the popular Arduino microcontroller. A recent development lets users develop apps for Google’s Android OS, making Processing a veritable Swiss Army knife for creative computational.

 

Marius Watz is an artist working with code as his material, who has shown his work around the world. He is the founder of the Generator.x platform for generative art and design and is a lecturer in interaction design at the Oslo School of Architecture and Design. He is currently based in Oslo and New York. http://mariuswatz.com/

 

Although generative art has grown in popularity, it remains somewhat mystical as a practice, the domain of vaguely mathematical magic. How are these works created? How do we sketch in code? The technical aspects of writing code are tricky enough, let alone manipulating algorithms into serving aesthetic principles.

Visual thinkers think in terms of logically connected workflows: take a photo, manipulate it, combine it with graphic elements, add typography. Coding often involves obscure steps that at first might seem completely disconnected from the aim of producing a visual composition: find a dataset, write a parser, analyze boundary values, write an algorithm for visual translation, tweak the parameters, and rewrite. Code requires identifying logical connections between elements and describing behaviors in terms of rules that might seem unrelated, and beginners tend to find it frustrating when the need for trigonometry invades even the simplest animation.

Fortunately, most of the essential tools in the generative artist’s repertoire can be described as a set of simple principles. As Matt Pearson writes, generative art is easy—at least, sometimes. Using Processing as his tool of choice, Matt shows how to progress from primitive drawing to more complex topics like interactive animation and simulated phenomena such as cellular automata. But rather than just demonstrating syntax, he describes the creative process involved in designing generative systems, showing how manipulating parameters and tweaking algorithms can result in radically different outcomes.

Having grown up with the ZX Spectrum and worked many years as a programmer while also being involved in the arts, Matt is perfectly placed at the intersection of code and creative thinking. In this book, he sets out to provide the reader with a toolbox of recommended practices while simultaneously introducing a deeper cultural context to the work. It should have readers quickly thinking beyond simple code tricks to the more complex ideas that underlie a computational model of form. My personal favorites are the sections on “wrong” ways to do things, showing how a simple form like a line or a circle can be transformed into complex systems by thinking creatively about the way they’re constructed.

Happy coding!

Marius Watz

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.148.107.254