- Ein Tool für eine 128×128-Pixel-Canvas, bei dem jeder Pinsel wie ein eigenständiges Programm arbeitet und Farben sowie Muster erzeugt
- Die Pinsel führen verschiedene Aktionen wie Mischen, Ausbreiten, Tropfen, Wachsen, Glitch aus und sind alle direkt von Nutzern bearbeitbar
- Jede Zelle der Canvas ist als Dateneinheit aufgebaut, sodass sich Farben ansammeln und unerwartete Muster entstehen
- Es werden mehr als 50 Standardpinsel bereitgestellt, und man kann durch Codeänderungen die Ausbreitungsweise oder Farbreaktion anpassen
- Fertige Bilder können gespeichert und geteilt werden; andere Nutzer können sie mit denselben Pinseln und derselben Palette erneut bearbeiten
Überblick über MOSS
- MOSS ist ein pixelbasiertes Malwerkzeug, bei dem jeder Pinsel wie ein kleines Programm funktioniert
- Statt einfach Farbe mit dem Pinsel aufzutragen, können Nutzer das Verhalten des Pinsels per Code definieren
- Der Pinsel manipuliert die Daten der Canvas und erzeugt dadurch unvorhersehbare visuelle Muster
Eigenschaften und Verhalten der Pinsel
- Die Pinsel arbeiten auf unterschiedliche Weise, etwa durch Mischen (blend), Ausbreiten (spread), Tropfen (drip), Wachsen (grow) oder Glitch (glitch)
- Jeder Pinsel hat eine eigene Funktionsweise, und Nutzer können den Code selbst ändern, um das Verhalten anzupassen
- So lässt sich zum Beispiel steuern, wie ein Pinsel Farbe verteilt oder auf Farben reagiert
Struktur der Canvas und Ausdruck
- Die Canvas von MOSS besteht aus 128×128 Pixeln, wobei jedes Pixel als Datenzelle behandelt wird
- Während die Pinsel die Daten der Zellen manipulieren, sammeln sich Farben an und es entstehen natürliche Muster und zufällige Effekte
- In diesem Prozess entstehen unerwartete visuelle Ergebnisse
Standardpinsel und Nutzeranpassung
- MOSS bietet mehr als 50 Standardpinsel
- Enthalten sind verschiedene Formen – von einfachen Farb- oder Tuscheneffekten bis hin zu Rankenwachstum (vine growth), nassen Tropfspuren (wet drips) und generativem Karomuster (generative plaid)
- Nutzer können Ausbreitungsverhalten, verbleibende Farbe und Farbreaktionen der Pinsel frei anpassen
Speichern und Teilen
- Fertige Bilder können gespeichert und mit anderen Nutzern geteilt werden
- Nutzer, die eine Arbeit erhalten, können mit denselben Pinseln und derselben Palette in derselben Umgebung weiterarbeiten
- Auf der Website werden verschiedene Beispielarbeiten von Nutzern vorgestellt
1 Kommentare
Hacker-News-Kommentare
Danke fürs Teilen. Ich mag Aseprite, Procreate und Pico8 und trage die Idee von programmierbaren Brushes schon lange mit mir herum.
Zwischen Projekten habe ich mir kürzlich Zeit genommen und selbst ein kleines Zeichenspielzeug namens MOSS gebaut. Jeder Brush ist ein kleines Skript, das alle Pixel der Leinwand wahrnimmt und definiert, wie mit Rauschen, Mustern, Druck, Geschwindigkeit usw. gezeichnet wird.
Zum Beispiel sind Brushes möglich, die Pixel wie echtes Spray versprühen, stempelartige Brushes, deren Form sich bei jedem Ziehen verändert, Brushes, bei denen perspektivische Linien tatsächlich zusammenlaufen, oder auch ein intelligentes Füllwerkzeug („Fill of my Dreams“).
Ich würde gern Brush-Code in den Kommentaren teilen oder gemeinsam Ideen erkunden. Über den (?)‑Button unten rechts gibt es die API-Dokumentation, und unten gibt es eine Funktion zum Kopieren von Prompts, mit der man die API über einen Agenten nutzen kann.
Das Gefühl, mit einem einzigen Strich einen Vogel zu zeichnen, ist wirklich erstaunlich.
Ich teile mal den Link zu meinem Projekt, falls es Inspiration geben kann — Wind by Laura
Prozedural generierte Brushes wären auch spannend — zum Beispiel ein Brush, der beim Zeichnen eine zufällige Stadtlandschaft erzeugt.
Für solche Ideen könnte man vielleicht die Technik Wave Function Collapse nutzen.
Ich würde gern wissen, ob du ein paar interessante Brush-Codes teilen kannst, die nicht schon in der App sind.
Ein wirklich tolles Projekt. Ich kann mir vorstellen, dass jemand Kreativeres als ich das für einen völlig anderen Zweck nutzen könnte.
Ich habe einmal ein Video gesehen, in dem jemand mithilfe des YouTube-Untertitelformats eine einfache Zeichen-App gebaut hat.
Wenn der Brush-Code in MOSS den Zustand der Leinwand lesen und zeichnen kann, müsste dann nicht auch ein Brush möglich sein, der während gedrückter Maustaste ein einfaches Video oder Spiel rendert, zum Beispiel Tic-Tac-Toe?
Natürlich nicht der eigentliche Zweck, aber es wäre sicher eine lustige Herausforderung.
Wirklich erstaunlich. Könntest du mit der Shift-Taste eine Funktion zum Gerade-Linien-Zeichnen hinzufügen? So wie in MSPaint.
Dieses Projekt erinnert mich an ein Experiment mit einem winzigen Bilddateiformat, an dem ich früher gearbeitet habe.
Ich habe den dazugehörigen Artikel auf Medium zusammengefasst.
Ich mag es sehr. Vor allem wären diese Funktionen toll:
Noch interessanter wäre es, wenn man Brush-Striche aufzeichnen, später den Brush-Code ändern und sie dann erneut abspielen könnte.
Ich habe es gerade ausprobiert, aber es wird überhaupt nichts gezeichnet. Brushes und Farben lassen sich auswählen, aber auf der Leinwand passiert nichts.
Getestet in Chrome unter macOS.
Wirklich hervorragend. Mein Surface-Pro-Stylus funktioniert gut damit und sogar die Druckdaten werden erkannt. Und das alles im Browser!
Wirklich eine coole Idee. Es wirkt wie eine Malversion von Shadertoy — Shadertoy-Link
Ich frage mich, ob es eine Möglichkeit gibt, Brushes direkt in der App zu teilen, oder vielleicht so etwas wie eine Brush-Galerie.
Es macht Spaß, thematisch Werke zu teilen wie im „weekly“-Bereich auf der Homepage, aber Leute, die nicht gut zeichnen können, möchten vielleicht lieber nur Brushes teilen.
Im Moment speichere ich meine Brushes als kleine .txt-Dateien.
Übrigens werden in in MOSS gespeicherten png-Dateien auch die Brush-Daten mitkodiert, sodass man beim Teilen derselben Datei wieder dieselben Brushes und dieselbe Palette laden kann.
Diese Idee wurde von der Art inspiriert, wie PICO8 Spieldaten kodiert.
Tolles Konzept. Wenn man auf iOS mit dem Aquarelle-Brush schnell wischt, merkt man deutlich die Polling-Rate der Touch-Events.
Die Linie ist zwar weich, aber weil die Farbe umso kräftiger wird, je länger der Brush an einer Stelle bleibt, entsteht etwas Banding.
Ich verstehe nicht ganz, wie man es benutzt. Ein Tutorial wäre hilfreich.