Was ist Creative Coding?

Ein rekonstruierter Arbeitsplatz aus einem Rechenzentrum der 1960er/1970er Jahre, fotografiert im HNF Paderborn

Vera Molnar, Interruptions à recouvrements, Computerkunstwerk, 1969

Das weltgrößte Computermuseum im provinziellen Paderborn schickt jedes Jahr Hunderttausende Besucher auf eine schwindelerregende Zeitreise durch fast 6.000 Jahre Menschheitsgeschichte. Sie beginnt im ersten Stockwerk bei der Keilschrift in Mesopotamien, führt vorbei am Buchdruck von Johannes Gutenberg hnf2, zeigt den Wandel mechanischer Rechen- und Schreibmaschinen im Laufe der Jahrhunderte hnf3 und fokussiert dann im zweiten Stockwerk den Blick der Besucher auf den kurzen Zeitabschnitt der letzten 100 Jahre.

In der Nähe eines klobigen IBM-Computers aus den 1970er Jahren hört man immer wieder das Kichern von Teenagern. Schwarz-weiße Fotos zeigen Menschen in Büros, die in seltsamen Kitteln vor riesigen Maschinen mit winzigen Röhrenbildschirmen sitzen und stumpf Zeichen in Tastaturen hacken. Zu dieser Zeit waren Computer bereits in Forschungseinrichtungen und Unternehmen zu finden, aber noch lange nicht in Privathaushalten. Es gab noch keinen guten Grund, sich einen Rechner anzuschaffen, denn die monströs großen Maschinen waren nicht nur unvorstellbar teuer, sondern auch für private Zwecke völlig nutzlos. Erschwerend hinzu kam: Wer einen Computer bedienen wollte, musste ihn programmieren. Dabei gab es weder moderne Programmiersprachen, die sich leicht lesen ließen, noch so etwas wie das Internet, in dem schnell und einfach nach der passenden Lösung suchen konnte.

Die Pariser Künstlerin Vera Molnar molnar ist dadurch bekannt geworden, dass sie diese frühen Versionen des Computers zu bändigen wusste. Als eine der ersten Menschen weltweit verwendete sie gegen Ende der 1960er Jahre die verheißungsvolle Maschine als künstlerisches Werkzeug. Heute gilt sie als Pionierin der Computerkunst und des Creative Coding.

Vera Molnar

Doch was bedeutet Creative Coding genau? Die meisten Definitionen scheitern in meinen Augen daran, dass sie versuchen, den Begriff anhand eines Mediums zu erklären. Der Eintrag auf Wikipedia wiki ist ein gutes Beispiel, denn hier werden direkt Anwendungsbeispiele aufgelistet, die den Blick des Lesenden stark verengen und damit nur eine sehr eingeschränkte Sichtweise auf die Technik selbst zulassen. Mir erscheint es sinnvoller, den Begriff abstrakter zu fassen, so wie es Mark C. Mitchell und Oliver Bown tun.

(Creative Coding ist) ein entdeckungsbasierter Prozess, der aus Erforschung, Iteration und Reflexion besteht und bei dem Code als primäres Medium verwendet wird, um ein mediales Artefakt für einen künstlerischen Kontext zu entwickeln.

Mark Mitchell, Oliver C. Bown: Towards a Creativity Support Tool in Processing. Understanding the Needs of Creative Coders. ACM Press 2013, Seite 143–146, zitiert nach:
Stig Møller Hansen: public class Graphic_Design implements Code {//Yes, but how?}: an investigation towards bespoke Creative Coding programming courses in graphic design education, Aarhus 2019, Seite 13, (Übersetzt mit Deepl.com). Link

Diese knappe Definition spiegelt auch mein Erleben. Beim Creative Coding treten die Programmierenden mit dem Computer in einen kreativen Dialog. Sie sprechen mit ihm in einer Sprache, die er versteht (Code) und formulieren Anweisungen zur Darstellung von visuellen Objekten auf einer Fläche. Dabei haben sie anfangs noch wenig Kontrolle über das Verhalten des Computers. Das ist auch völlig okay, denn überraschende Ergebnisse führen immer wieder zu neuen Ideen und Perspektiven.

Je weiter der Lernprozess voranschreitet, desto besser verstehen die Programmierenden die Funktionsweisen des Computers. Nach und nach offenbaren sich sogar Parallelen zwischen dem menschlichen Denken und der Logik der Maschine. Gewissermaßen ist Creative Coding ein Methode, die Programmierenden eine neue Art der Formulierung ihrer eigenen Gedanken und Ideen ermöglicht. So öffnet sich ihnen Schritt für Schritt der Einstieg in eine neue Welt der Gestaltung ohne vorher definiertes Medium.

Die Entwicklungsumgebung Processing

Beispiele für Creative Coding-Arbeiten, die mit relativ wenig Code umgesetzt wurden.

Je nach verwendeter Programmiersprache verschiebt sich das Spektrum des möglichen Outputs: Manche Werkzeuge eignen sich für die Entwicklung von interaktiven Web-Anwendungen, andere eher für das Rendering von bewegten Bildern, wieder andere für Virtual Reality-Anwendungen. Eine einzige Programmiersprache kann sowohl 3D-Animationen und Druckvorlagen für Print, als auch verspielte Interaktionen im Web möglich machen. Genau deshalb ist Creative Coding so besonders und gleichzeitig so schwer greifbar: Es ist eine Methode, die nicht an ein einziges Medium gebunden ist. Genau darin steckt das enorme Potenzial: Ein einziges Werkzeug (die Programmiersprache) kann für ein breites Spektrum von Anwendungszwecken genutzt werden.

Entsprechend, sind auch die (meist visuellen) Ergebnisse des Creative Coding im Vorfeld nicht direkt vorhersehbar und oft nur vage vordefiniert. Sie entstehen durch das Experimentieren. Beim Creative Coding geht es, verglichen mit herkömmlicher Programmierung, in erster Linie um den Ausdruck. Die Funktionalität tritt in den Hintergrund. Es geht eben nicht nur darum, einen möglichst logischen Code zu schreiben, sondern mit dem Code kreative Ergebnisse zu generieren.

Creative Coding versus Generative Gestaltung

Häufig wird Creative Coding mit Generativer Gestaltung gleichgesetzt oder verwechselt. Die Begriffe haben einige Schnittmengen, hinter ihnen verbirgt sich aber doch jeweils etwas Anderes. Generative Gestaltung ist eine Methode, bei der es darum geht, Algorithmen zu schreiben, die autonom gestalten können. Es geht um die Entwicklung eines Systems, bzw. eines Regelwerkes, das als Basis für die Erzeugung von Medien im weitesten Sinne dient hübner0.

Generative Gestaltung ist im Vergleich zu Creative Coding theoretisch nicht an die Computer-Programmierung gebunden, sondern wird seit Jahrhunderten für die Gestaltung in der Architektur und der Kunst verwendet. Beispiele hierfür sind orientalische und islamische Ornamente und Muster, die auf mathematischen Prinzipien beruhen oder die generative Fotografien von Gottfried Jäger oder Karl Martin Holzhäuser.

Gottfried Jäger
Multiple Optik 4.54.2, 1980
Lichtgrafik, Ektachrome

Karl Martin Holzhäuser
Lichtmalerei 180.4.2004,2004
Licht auf Diatrans, Acryl, Lichtkasten
120 cm x 120 cm, Unikat

Das EVA-Prinzip

Eine Besonderheit von Creative Coding und Generativer Gestaltung ist die Tatsache, dass der Horizont dieser Methoden den gewöhnlicher Software-Werkzeuge weit übersteigt. Designsoftware wird in der Regel für die Lösung eines vergleichsweise engen Spektrums von Aufgaben konzipiert, so dass klare Grenzen entstehen. Diese Grenzen lösen sich bei der Arbeit mit Code auf toolhorizon, was das folgende Modell verdeutlicht, das grob auf dem EVA-Prinzip eva aus der Software-Entwicklung basiert.

Grafik: Patrik Hübner und Tim Rodenbröker

Möglichst anschaulich ausgedrückt könnte man Generative Gestaltung als Methode darstellen, mit der ein vorhandener Input in Form von Daten oder Interaktion in einen Output in Form eines neuen Mediums verwandelt wird. Generative Gestaltung ermöglicht auf diese Weise das Konvertieren von Texten in Animationen, von Wetterdaten in dreidimensionale Partikelsysteme Huebner1, von Aktienkursen in Skulpturen oder von tagesaktuellen Twitter-Nachrichten in interaktive Installationen.

Form follows Music

Das Vorgehen der Generativen Gestaltung lässt sich anschaulich an einem von mir initiierten Projekt erklären. 2017 hatte ich die Idee, die Noten des Präludium in C des deutschen Musikkomponisten Johann Sebastian Bach bach mit Algorithmen in grafische Repräsentationen der musikalischen Struktur zu verwandeln. Das Musikstück bot sich ideal für diesen Zweck an, da es aus einer regelmäßigen Abfolge einzelner Töne besteht. Ich transferierte einen MIDI-Datensatz des berühmten Klavierstückes in eine Liste von Zahlenwerten, die dann die Farb- oder Helligkeitswerte in einem regelmäßigen zweidimensionalen Raster bestimmten. So entstanden Grafiken, die das Musikstück visuell abbildeten und interpretierten.

Beispiele für Creative Coding-Arbeiten, die mit relativ wenigen Zeilen Code umgesetzt wurden.

Generative Gestaltung im kommerziellen Kontext

In der generativen Gestaltung existiert eine breite Range von möglichen praktischen Anwendungsfällen. Patrik Hübner, der zum Zeitpunkt der Veröffentlichung dieser Arbeit an der Fachhochschule Bielefeld im Fachbereich Gestaltung studiert, hat mit Generativer Gestaltung Projekte für global führende Agenturen wie Landor, Interbrand, EdenSpiekermann, Digitas Pixelpark, Onformative und Unternehmen wie Evian, The New York Times, IBM und Verizon umgesetzt hübner0. In einer Welt, in der immer mehr Daten verfügbar sind, werden sie zunehmend zu einem der wichtigsten Treiber und gleichzeitig zu einer inspirierenden Grundlage der gestalterischen Praxis. Dies erhebt Kreativschaffende in eine mächtige Position, wenn sie das Handwerk der Generativen Gestaltung beherrschen.

Showreel von Patrik Hübner (Stand 1.12.2020)

Nicht jeder oder jede Gestaltende widmet sich neuen Technologien so bedacht wie Patrik. Oft lassen generative Bildwelten im kommerziellen Kontext eine Haltung durchscheinen, in der die technologische Innovation in meinen Augen nicht angemessen hinterfragt und darüber hinaus stark idealisiert wird. FOMO, die Fear Of Missing Out, scheint nicht nur ein Phänomen Social-Media-süchtiger-Gen-Z-Teenies genz zu sein, sondern auch in der Welt der Wirtschaft zu existieren. Als Gestalter habe ich oft beobachtet, dass Generative Gestaltung bei Kund:innen als Methode zur Entwicklung rein dekorativer, effektvoller Bildwelten verstanden wurde. Ähnlich wie beim Greenwashing wird hier immer wieder versucht, mit Generativer Gestaltung Marken ins das Licht technologischer Innovation zu rücken und ihnen einen neuen Anstrich zu geben.

Teil einer modernen Gestaltungsethik sollte in meinen Augen sein, eben diese Muster bei den Kund:innen aufzudecken, zu hinterfragen und ein Um- bzw. Weiterdenken zu inspirieren. Gerade weil wir immer mächtigere Technologien zur Verfügung haben, sollten wir kritisch mit ihnen umgehen. Für Lernende gilt deshalb: Effektvolle visuelle Experimente sind notwendig, um die Potenziale des Creative Coding und der Generativen Gestaltung auszuleuchten, doch wenn es um die konkrete Anwendung geht, ist weit mehr gefragt als technisches Können. Generative Gestaltung ist mit der Verantwortung verbunden, sie achtsam und vernünftig einzusetzen. Wilhelm Schmid sagte einmal: Gestaltung ist Haltung. schmid Dieser Satz ist heute gültiger denn je.

Zusammenfassung

Es gilt festzuhalten: Creative Coding ist eine Methode, bei der Computerprogrammierung für den künstlerischen Ausdruck zum Einsatz kommt. Bei dieser Methode ist das Ziel nicht vordefiniert und der Prozess basiert auf dem Entdecken, Variieren und Erforschen von oft unerwarteten Ergebnissen.

Demgegenüber ist Generatives Design eine zweckgebundene Methode, bei der ein Prozess gestaltet wird, der einen Input in Form von Daten oder Algorithmen in ein Medium konvertiert. Zwar kann hierbei die Programmierung bzw. der Computer als Werkzeug verwendet werden, prinzipiell ist die Methode jedoch davon losgelöst zu betrachten und wird schon seit Jahrtausenden in Kunst und Architektur verwendet.

hnf1: Vgl. Geschichte der Zukunft. Eine Reise durch das HNF. Paderborn 2021, Seite 12.
hnf2: Vgl. Geschichte der Zukunft. Eine Reise durch das HNF. Paderborn 2021, Seite 15.
hnf3: Vgl. Geschichte der Zukunft. Eine Reise durch das HNF. Paderborn 2021, Seite 21.
molnar: Vera Molnar (* 1924) ist eine Pionierin der Computerkunst. Sie lebt und arbeitet in Paris.
wiki https://en.wikipedia.org/wiki/Creative_coding, (26.5.2022).
bach: Johann Sebastian Bach (1685-1750) war einer der bedeutendsten Komponisten der Barock-Musik.
toolhorizon: https://issuu.com/letterror/docs/nypels_letterror_2000/26, (10. 6. 2022).
Huebner1: https://www.patrik-huebner.com/work/brute-data-driven-wine-brand/, (22. 5. 2022).
huebner0: Eine auführliche Darstellung der generativen Gestaltung liefert die Webseite von Patrik Hübner. Link, (22. 5. 2022).
genz: Die Abkürzung Gen-Z steht für Generation Z, also für die Menschen, die zwischen den 1990er und den 2010er Jahren zur Welt gekommen sind.
eva: Das EVA-Prinzip ist ein fundamentales Konzept der Datenverbeitung. EVA steht für Eingabe, Verarbeitung, Ausgabe. Vgl. https://de.wikipedia.org/wiki/EVA-Prinzip.