
Creative Coding mit p5.js: So schafft ihr den Einstieg!
Code eröffnet in den Händen von Designer:innen ganz neue Möglichkeiten. Wir begleiten den ukrainischen Freelance Art Director und Creative-Coding-Autodidakten Anatolii Babii bei seinem Einstieg in die Coding-Szene – und beim Programmieren seines ersten Kreativ-Tools
Die Idee ist inspiriert von einem Artwork des Processing-Künstlers Takawo, das animierte Wellengrafiken in immer neuen Farbverläufen erzeugt, die aber nicht wie bei Babiis RITM Generator selbst manipuliert und heruntergeladen werden können. Der zugehörige Code für Takawos generatives Kunstwerk ist – wie übrigens ein Großteil der auf OpenProcessing geteilten Artworks – öffentlich zugänglich und kann frei für weitere Projekte verwendet werden. Anatolii Babii übernahm diesen Code für seinen RITM Generator, fügte allerdings weitere Stellschrauben für Nutzer:innen hinzu. Sein Tool sollte nicht nur Artworks generieren, sondern es Kreativen erlauben, auch visuelle Eigenschaften wie Strichstärken, Farbpaletten, Geschwindigkeit und Füllung der Wellenformen einzustellen, um so ihr Ergebnis auf unterschiedliche Projekte zuschneiden – und direkt weiterverwenden – zu können.

Warm werden mit HTML, CSS und JavaScript
Beim Einstieg ins Creative Coding begegnen Designer:innen einige Hürden: Welche Programmiersprache ist die richtige? Welche Tutorials und Kurse aus der Flut an Angeboten passen für mein Projekt? Welchen Code-Editor sollte ich benutzen? Anatolii Babii empfiehlt, sich zunächst in der Coding-Community zu orientieren, die meist sehr großzügig mit eigenen Codes umgeht und im regen Austausch untereinander Probleme zu lösen versucht. GitHub und OpenProcessing liefern Inspiration, Hilfsforen und passende Open-Source-Code-Snippets.
Babii schwört außerdem auf die Tutorial-Reihe »The Coding Train« von Programmierer Daniel Shiffman, der einfach und humorvoll in kurzen Abschnitten Grundelemente des Programmierens mit der p5.js-Library erklärt. Eine Kombination aus HTML, CSS und JavaScript ist gängig in generativen Gestaltungsprojekten – zudem schadet es nicht, ihre Grundlagen für die Kommunikation mit Webdeveloper:innen zu kennen.
Als letzte Vorbereitung rät der Designer, einen Zeitplan aufzustellen und jeden Tag – je nach Kapazität – ein bis zwei Stunden fürs Lernen einzuplanen. Dazu gehört, dass man sich Tutorials anschaut, Beispiele nachprogrammiert und verändert, um die Funktionen des Codes zu verstehen, nach Inspiration surft und Code von anderen Designer:innen und Vorbildern bewundert. Wer gleich einsteigen möchte, kann sich so wie Anatolii Babii ein Projektziel setzen und loslegen. »Coden lernt man, indem man es tut. Die ersten Versuche dauern lang und sind nicht sehr komplex. Dafür fühlt sich jede selbst geschriebene Zeile, die funktioniert, wie ein Erfolg an.«
Coding-Ressourcen für den Einstieg
Anatolii Babii lernte das Coden mithilfe der Community und in Open-Source-Tutorials wie »The Coding Train« von Daniel Shiffman, der die Grundlagen des Creative Coding mit p5.js erklärt. Die p5.js-Library ist der Community-Hub der Processing Foundation und enthält eine ganze Reihe an JavaScript-basierten Code-Bibliotheken zum Download, Beispiele zum Experimentieren und einen eigenen Webeditor, mit dem man direkt loslegen kann. Wir haben die wichtigsten Ressourcen für den Einstieg in die Coding-Community hier für euch zusammengefasst.
Von der generativen Kunst zum Tool
So setzte Anatolii Babii seine frisch gewonnenen Coding-Kenntnisse in einem JavaScript-basierten Designgenerator um

Für seinen RITM Generator legte Anatolii Babii zunächst ein Development Journal an, in dem er das konkrete Ziel – also die generative Erstellung von Wave-Animationen und -Stills mittels Interface – festhielt. Außerdem definierte er, wie die Anwendungssituation aussehen würde. Wer sind die User:innen? Soll das Tool online zugänglich sein? Wofür verwenden es Nutzer:innen? Welche Schritte durchlaufen sie in der User Experience?
Sobald dieses Grundgerüst stand, begann Babii, einzelne Funktionen für Interaktion und Rendering zu definieren. Neben dem Generator brauchte das Tool auch ein Interface mit unterschiedlichen Einstellungsmöglichkeiten. Diese Aufgaben ließen sich wiederum in kleinere Prozessketten unterteilen und spezifischer beschreiben. Beispiel: »Ich möchte, dass man die Geschwindigkeit der Wellenbewegung anpassen kann. Das Interface benötigt einen stufenlosen Slider mit einer Geschwindigkeitsanzeige.« Auf diese Weise erstellte der Designer Schritt für Schritt eine To-do-Liste für die Programmierung und eine erste Skizze für das Interface.
Ideen in Code fassen
Nach der Konzeption begann Anatolii Babii, die passenden JavaScript-Funktionen für die gewünschten Aktionen zu recherchieren. Er ergänzte zunächst den Code von Takawos Kunstwerk um ein separates JavaScript-Sheet, in dem er eigene Farbpaletten definierte und Kontrollelemente für die zufällige Generierung hinzufügte. Außerdem enthält dieser Code-Abschnitt auch eine Funktion, mit der Nutzer:innen später eigene Farben auswählen können sollten.
Anschließend definierte Babii Füllung, Strichstärke und Beschaffenheit sowie die Hintergründe der Wellengrafiken in separaten JavaScript-Sheets und fügte Kontrollelemente hinzu, die er mit dem HTML- und CSS-basierten Interface verknüpfte. Für dessen Programmierung orientierte er sich an einem Tutorial aus der Online-Coding-Bibliothek SuperLibrary. »Das rudimentäre Interface gewinnt vielleicht keine Designpreise, doch es erlaubt, den RITM Generator von reiner generativer Kunst zu einem echten Tool werden zu lassen«, erklärt Anatolii Babii.
RITM Generator: Make it public
Nach mehreren Schleifen Bug-Hunting und Optimierung veröffentlichte Anatolii Babii das Tool schließlich auf seiner Website. Der RITM Generator ist als interaktives Programm direkt in den Code seiner Seite eingebettet und für Anwender:innen frei zugänglich. Die Funktionsweise erklärt er in einem ausführlichen Blogbeitrag auf Medium. Babii folgte so dem Open-Source-Gedanken der Coding-Community und stellte zudem über Links und Danksagungen seine Ressourcen zur Verfügung. Den vollständigen Code veröffentlichte er auf OpenProcessing.org.
Obwohl Anatolii Babii bei seinem ersten Projekt noch einiges Potenzial zu Erweiterungen und Verbesserungen sieht, arbeitet er bereits an einem nächsten Designtool – dem Plain Generator, mit dem es möglich sein soll, Grafiken und Animationen in 3D zu generieren. Außerdem erhielt er Aufträge für Creative-Coding-Projekte und sogar ein Jobangebot für eine Position als Creative Coding Director einer Firma in Dubai. Babii zieht die Arbeit als Freelancer allerdings einer Anstellung vor – sie erlaubt ihm, seine Zeit frei einzuteilen und sich dem Coding zu widmen. »Ich habe im Creative Coding eine neue Inspirationsquelle gefunden und fange gerade erst an. Es gibt noch viel zu lernen!«
Tutorial: Wellengenerator programmieren
Anatolii Babii erklärt Step by Step, wie man einen eigenen Simplex-Noise-Wellengenerator programmiert
Für euren leichteren Einstieg ins Creative Coding habe ich ein detailliertes Tutorial auf OpenProcessing verfasst, mit dem wir gemeinsam Schritt für Schritt euren eigenen Wellengenerator programmieren. Darin gebe ich eine Anleitung, erkläre Codezeilen und zeige euch, was ihr mit den einzelnen Funktionen anstellen könnt. Wir starten mit den Grundlagen im OpenProcessing-Editor und arbeiten uns über eine generierte Welle mit Simplex Noise, Animation und individuellen Farbpaletten zu eurem ganz eigenen generativen Kunstwerk vor.
Sobald ihr euch durch die ersten Zeilen Code gekämpft habt, könnt ihr anfangen, einzelne Einstellungen zu verändern, und experimentieren. Dabei sind wirklich keine Grenzen gesetzt: Ob ihr neue Farben einsetzt oder mit Outlines spielt, die Animation beschleunigt oder im Sekundentakt neue Verläufe generiert – habt Spaß und bereichert die Coding-Community mit euren Ideen!
Los geht’s! Anatolii Babii hat eigens für PAGE-Leser:innen ein Tutorial erstellt, mit dem ihr direkt in ein interaktives Code-Beispiel einsteigen könnt. Besonders wichtig: experimentieren, Zahlenwerte verändern und Spaß haben.
Anatolii Babii ist Freelance Art Director und Creative-Coding-Autodidakt aus Kiew. Seit Beginn des Krieges in der Ukraine lebt er mit seiner Frau in Warna, Bulgarien und unterstützt von dort Agenturen oder arbeitet an neuen Creative-Coding-Projekten
Dieser Artikel ist in PAGE 03.2022 erschienen. Die komplette Ausgabe können Sie hier runterladen.