For informational purposes only
This is a fluid document, compiled from different notes/docs, originally started in ~2008, having grown slowly from my more general manifesto of that period and frequently been revised to help steer my own practice (the artistic parts) ever since.
All of the things listed here are "soft" guidelines & considerations, not an exhaustive set of hard rules! Various omissions and exceptions do exist, and the latter are explicitly encouraged! Yet, I do not imagine there'll be even minor agreement about these highly subjective, personal stances — in fact I'm very much expecting the opposite... So I'm also not publishing these bullet points to start any form of debate, but, after all these years, it's important for me to openly document how I myself have been approaching generative art projects, the topics & goals I've been trying to research & learn about, also including some of the hard lessons learned, in the hope some of these considerations might be useful for others too.
Since that list already has become rather long, there're also a bunch of other considerations & clarifications I've had to omit for now. Please keep that in mind when reading, and if some sections are maybe a little too brief/unclear...
GCODE.Clay was first exhibited at Space 2214 in its inaugural exhibition investigating Pattern, Predictability, and Repetition , which explored the themes of repetition, and rote action—a defining peril of modernity. In this project, the unpredictability is the fundamental aspiration of the object making. Patterns emerge and disappear in the variations of the experiments explored.
Table of Contents
Creative Coding History
Modern Creative Coding Uses
Graphics Concepts
Creative Coding Environments and Libraries
Communication Protocols
Multimedia Tools
Unique Displays and Touchscreens
Hardware
Other output options
More resources
This is a list of smaller tools that might be useful in building your game/website/interactive project. Although I’ve mostly also included ‘standards’, this list has a focus on artful tools & toys that are as fun to use as they are functional.
The goal of this list is to enable making entirely outside of closed production ecosystems or walled software gardens.
"MindCandy Volume 1: PC Demos." The movie explores the definition and roots of an artistic computer sub-culture known as the demoscene, a community that's given me endless inspiration since the 1980s.
Beats is a command-line drum machine. Feed it a song notated in YAML, and it will produce a precision-milled Wave file of impeccable timing and feel.
http://beatsdrummachine.com/tutorial/
http://tropone.de/2019/02/21/ungewoehnliche-wege-rhythmen-zu-programmieren-teil-2-beats-cl/
Polycode is a C++ and Lua framework for building interactive applications. It is free, open source and cross-platform.
Field is a development environment for experimental code and digital art in the broadest of possible senses. While there are a great many development environments and digital art tools out there today, this one has been constructed with two key principles in mind:
Embrace and extend — rather than make a personal, private and pristine code utopia, Field tries to bridge to as many libraries, programming languages, and ways of doing things as possible. The world doesn't necessarily need another programming language or serial port library, nor do we have to pick and choose between data-flow systems, graphical user interfaces or purely textual programming — we can have it all in the right environment and we can both leverage the work of others and take control of our own tools and methods.
Live code makes anything possible — Field tries to replace as many "features" with editable code as it can. Its programming language of choice is Python — a world class, highly respected and incredibly flexible language. As such, Field is intensely customizable, with the glue between interface objects and data modifiable inside Field itself. Field takes seriously the idea that its user — you — are a programmer / artist doing serious work and that you should be able to reconfigure your tools to suit your domain and style as closely as possible.
Riot and Shredder source.
Net.art projects from back in the day, and recent migrations.
A Physical Book makes a digitized book “physical” by rendering it in a simulated space where properties like gravity, friction, and velocity all apply. The program randomly perturbs the letters, then takes a snapshot at a point in time, re-assembling the images into a new, “un-digitized” book.
The raw, uncorrected scanned text of The Up-To-Date Sandwich Book: 400 Ways to Make a Sandwich (1909) is re-imagined as this 251 page (50,964 words) book:
A Physical Book uses the web-based game engine Phaser. Each page of the book is rendered into an invisible <div>
(to produce correct leading and line-height), then copied into the Phaser game world with each letter instantiated as a distinct addressable sprite.
For each page, one of a dozen transformations is applied to give the text varying physical properties, such as mass, acceleration, collision, or opacity.
On page load, the requested chapter number is rendered, the transformation is assigned, and the world is allowed to run. A Selenium wrapper script calls all 500 pages in succession, taking a screenshot at a random point in the animation:
The final book is rendered in a two-page spread PDF.
This is the official on-line repository for the code from the Graphics Gems series of books (from Academic Press). This series focusses on short to medium length pieces of code which perform a wide variety of computer graphics related tasks. All code here can be used without restrictions. The code distributions here contain all known bug fixes and enhancements.
A extensive book introducing C++ and Openframeworks
Halide is a new programming language designed to make it easier to write high-performance image processing code on modern machines. Its current front end is an embedding in C++
Cinder is a peer-reviewed, free, open source C++ library for creative coding.
Quartz Composer Lab
genoTyp is an experiment regarding fonts under genetic aspects. Their characteristics are encoded in hereditary factors. Different fonts can be mixed as desired and their genomes can be manipulated. New fonts are generated according to genetic rules.
Links to generative artworks
Blog of marius waltz
Open source processing code community
Open source creative software catalog