Creative-Code | Library
Wie es begann
An diesem Projekt arbeite ich seit Anfang 2022. Ja, ich weiß vollkommen bekloppt, denn schließlich habe auf dem Gebiet schon unzählige Leute Pionierarbeit geleistet. Es gibt mittlerweile haufenweise tolle, ausgereifte Werkzeuge . Wir sind aktuell bei AI und Machinelearning angelangt. Trotzdem fange ich ganz unten an. Will die Grundlagen lernen und die Basics verstehen und meine ganz eigene diffuse Idee von generativen Kunstwerken umsetzen.
“Generative Art / Creative-Coding ist der Versuch, durch Programmierung etwas Ausdrucksstarkes statt etwas Funktionales zu erschaffen”, sagt wikipedia
Spannendes Thema, das den Softwareentwickler in mir natürlich herausfordert.
Wie es geht
Ich forme den Quellcode fast wie den Ton für eine Porträtskulptur . Es ist ein einziges Hin und her, anbauen, umbauen, hinzufügen, entfernen, bis es stimmig ist. Alles mehr nach Gefühl als nach Bauplan. Interessant, wie sich die Muster in den Vorgehensweisen ähneln.
Es ist jetzt Ende August, und der Code nimmt sehr langsam Form an. Zwischendurch fällt er immer wieder auseinander, nix funktioniert, und ich bin in eine Sackgasse gelaufen. Dann darf ich ihn großflächig umstrukturieren. Das dauert dann schon mal mehrere Tage und erfordert viel Konzentration, um nicht die Übersicht zu verlieren. Ich tracke ja meine Zeiten mit Wakapi, und da stehen heute 380 Stunden für das Projekt drin, Tendenz steigend.
Ziele des Projekts
- Ich will einfach nur spielen.
- Erforschung der technischen und künstlerischen Möglichkeiten.
- Künstlerische Ziele
- Abstraktion
- Bewegung
- Chaos
- Form – geometrisch
- Minimalismus
- Ordnung
- Raum
- Schichtung
- Wahrnehmung
Es geht erst mal um die Ordnung, der sich alles unterordnet und in die sich alles – und jeder – einordnet. Alles ist Ausdruck dieser Ordnung: Die sauber angeordneten geometrischen abstrakten Figuren, die Herstellung durch Mathematik und Maschinencode bis hin zum Druck durch einen Roboter. Alles arbeitet zuverlässig nach Regeln, konstant und gleichförmig im Takt wie ein niemals ermüdendes Uhrwerk. Das steht gleichsam für die gewollte, beruhigende Konstanz in unseren Leben, das konservative, das sich nur widerwillig ändern mag. Dem gegenüber steht die Störung dieser Ordnung, die Zerstörung. Das Spannungsfeld zwischen Ordnung und Chaos, dem Perfekten und Unperfekten, ist für mich besonders spannend, und dort versuche ich zu wandeln.
Ziele der Codestruktur
Der Fokus liegt momentan auf der Codestruktur und Designpatterns, weniger auf der Optimierung nach Geschwindigkeit. Der Aufwand für Anpassungen soll minimiert werden. Das erreiche ich durch:
- Wieder verwendbare Module
- Jedes Modul liefert seine eine Tweakpane mit, und sein eigenes Parameter-Set Objekt.
Eine gezielte und zufällige Auswahl und Variation der…
- Farben bzw. Palette
- Grundformen
- Animationen
Ich erzeuge mit meinem Code letztlich drei Arten von Artworks:
- Statics
- Dynamics
- Modifiables
Eingebaut wird:
- ein Scene-Graph
- ein AnimationTimer
- eine Animation-Timline
- das Oberserver-Pattern
- Tweakpane-Support
Die grundlegende Anatomie des Frameworks schaut momentan so aus - Draufklicken öffnet die Skizze in der Lightbox, dann kann man auch zoomen:
Eingabe + Ausgabe
- Playgrounds für die Webseite.
- Ausgabe auf Bildschirmen und analogen Medien wie Plotter oder Drucker.
- Audiosignale, Bilder, oder andere Datenströme als als Input oder Output. Das ist im Browser ist nur eingeschränkt möglich.
- Einschränkungen
- Ein Input ist derzeit nur die Tweakpane möglich.
- Speichern ist im Browser ist nur eingeschränkt möglich.
gemacht mit
- YARN 2
- Webpack 5
- Typescript 5.4
- Tweakpane
- canvas-sketch-util
- IDE VS-Code .
Weiterführende Links
- Portfolio
- Recherche | Artikel
- Creative-Code Bibliothek | Anleitung
- Den Code gibt es demnächst in meinem Github .