Gen

Generative Art #

AI tools, and to a lesser extend non-AI based generative art tools, have been contentious among artists for a while now. While the reasons for the apprehension vary, two common threads come up a lot:

  • Is it ethical, and should it be legal, to train these systems on existing images with out consent from the artists?

    This way out of scope for this page, but if you think no, that doesn’t exclude you from using all generative tools - most don’t use AI at all.

  • How can artists can prove they drew a piece instead of using an AI tool?

    One solution to this is to post a each piece with a WIP from earlier in the process or a time lapse of the creation process. This is something a lot of viewers already appreciate anyway, and, depending on your workflow, may be low effort.

Due to the copy right office deciding on the un-copyright-ability of AI generated images with tools like DALL·E 2, Midjourney, and Stable Diffusion, there’s some questions about how this will affect the copyright-ability of other generative tools. I don’t want to comment if that’s good or bad on this page, but you should at least be aware of it.
This page is almost entirely devoid of actual educational content. Instead, I’ve tried to make the most complete list of generative art tools and libraries on the internet. Of course, I can’t actually make an exhaustive list and may be missing some of the newest tools and ideals, so please check out these other communities for more:
You may notice this page lacks AI generative art tools such as DALL·E 2, Midjourney, & Stable Diffusion. This isn’t because they’re not interesting, it’s because the space is rapidly evolving and I don’t want to maintain constantly changing lists!If you’re totally new to AI Art, see Stable Diffusion is a really big deal by @simonw but even that is getting old now as new features and extensions come out, like the ability to pose characters in the scene.

If you’re interested in generative music and sounds as well, you may want to check out The OpGuides page on Live coding Music Software .

World Building Tools

Generative maps of how rivers meander, not the tool, but at least it’s the process
Meander

A tool for building custom maps, envisioned for use in tabletop roleplaying games.
mapgen


“Dungeon Map Doodler is a new, free to use drawing tool accessible from any web browser. Easily create maps for your favourite tabletop RPGs in minutes!”


This application generates a random medieval city layout of a requested size. The generation method is rather arbitrary, the goal is to produce a nice looking map, not an accurate model of a city.

make a map with tons of customization options including some about the culture and regions
fmapgen

Make a lil’ solar system
space creator

Genbrush ~15 USD


NOTE: This is free for non-commercial use

This one is for Minecraft, but still potentially useful

“3D Map editing utility for use with tabletop games like Dungeons & Dragons and Pathfinder”
datacomb

Import real map data into blender, cool for topographic maps and such

“World Anvil is a set of world-building tools that helps you create, organize and store your world setting. With wiki-like articles, interactive maps, historical timelines, an RPG Campaign Manager and a full novel-writing software, we have all the tools you’ll need to run your RPG Campaign or write your novel!”

“LDtk is a modern and open-source 2D level editor, specifically designed for indie devs.”

Constructed Langugages, Generative Text
Generative Textures and Geometry
Check out these(1) pages (2) for more information
forsynthia

Noise maker can make a ton of generative art pieces, as you can see at the right, this is a small sampling using some of the included presets. It can be a pain to get to run as it needs Tensorflow.


“Making the computer draw weird shapes using basic trigonometry and different species of randomness(noise)”
Noisey-Shapes


Use this tool to create unique, seamless, royalty-free patterns.Choose a base style, then customize with colors, filters, and transforms.Each pattern style has it’s own unique transforms. Play around to see what they do.Click the ‘shuffle’ button to see the kinds of patterns you can make.

Noisedeck is a generative art synth. Still in early development. Some features require a license.

Archive.org link to the embedded tweet


Has a neat code editor too, for making more complex geometry


Convert your ASCII diagram scribbles into happy little SVG

Test different penrose tilings. If you edit the HTML you increase the slider limits.

Modular node based noise generation library
NoiseTool

Making ‘Noise Planets’ on Avinayak’s Blog

Themer (Live Demo) (GitHub), meant for making themes for Linux environments, but makes good textures in general

Pixel Sorting
Fractal Art
Fractal Flames
[TODO]


[TODO]


A GPU-Accelerated Fractal Flame Editor

Chaotica is free for noncommercial use, and can render up to 1.23 megapixel images (e.g. 1280x960 resolution) and up to 30 second 480p animations without a licence. A Chaotica HD (45 USD) licence for casual users who want to create high quality desktop wallpapers up to 4 megapixels (e.g. 2560x1600) and 720p animations up to 3 minutes long is available at a low price point. The professional Chaotica Studio (109 USD) license has no still image or animation limitations at all. *prices are from time of writing

Generative Eyes
Livecoding Visuals

r/livecoding (Reddit)

Toplap.org - a site all about live coding

The Book of Shaders - “A gentle step-by-step guide through the abstract and complex universe of Fragment Shaders.”






live coding for p5.js - you’ll probably want the VS Code Extension

JS library for visualization & creative coding

demo


“Set of tools for livecoding networked visuals. Inspired by analog modular synthesizers, these tools are an exploration into using streaming over the web for routing video sources and outputs in realtime. Hydra uses multiple framebuffers to allow dynamically mixing, compositing, and collaborating between connected browser-visual-streams. Coordinate and color transforms can be applied to each output via chained functions.”

“Livecodelab is a special secret place where you can make fancy “on-the-fly” 3d visuals and play awesomely offbeat (literally) sounds. “On-the-fly” meaning: as you type. Type just three letters: “box”, and boom! a box appears. No clicking play, no waiting, no nothing.”

PICO8 inspired live coding visual instrument.”

“Gibber is a creative coding environment for audiovisual performance and composition. It contains features for audio synthesis and musical sequencing, 2d drawing, 3d scene construction and manipulation, and live-coding shaders.”

“Ronin is a procedural graphics tool designed to automate simple graphical tasks, like resizing, cropping, coloring, and generating algorithmic images. It interprets a minimal dialect of LISP, look at the examples to better understand how this all works.”

… this one basically lacks all description. Best you’ll get is the API docs in the wiki.

node-basde tool for interactive realtime content on the web

Realtime GPU shader editor

“Cables is a tool for creating beautiful interactive content. With an easy to navigate interface and real time visuals, it allows for rapid prototyping and fast adjustments.” — Because this seems to be so ‘beta’ and I don’t see code or any indication of future pricing it’s probably not the best option at the moment.

“Node-Based Image Manipulation Program”

vvvv - Heads up vvvv requires a license for commercial use that is rather expensive
“vvvv is a hybrid visual/textual live-programming environment for easy prototyping and development. It is designed to facilitate the handling of large media environments with physical interfaces, real-time motion graphics, audio and video that can interact with many users simultaneously.”
vvvv

TouchDesigner (Free, but 600 USD for Commercial licence)
“TouchDesigner is a visual development platform that equips you with the tools you need to create stunning realtime projects and rich user experiences. Whether you’re creating interactive media systems, architectural projections, live music visuals, or rapid-prototyping your latest ideas, TouchDesigner is the platform that can do it all.”


Video courtesy of Neurotypique



“The Cyril programming language is designed for fast prototyping of visualisations and live coding visuals.”

“node based audio / visual composition”

Creative Coding (Non Live)

HackadayU Creative Code with Casey Hunt (YouTube)

“Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts.”

“This is a collection of processing.org classes that performs heavy lifting tasks while using a minimal amount of code writing”
This site is weird? It seems to be embedding Vimeo videos of static images, regardless, still worth checking out

“p5.js is a JavaScript library for creative coding, with a focus on making coding accessible and inclusive for artists, designers, educators, beginners, and anyone else!” — Processing can run P5.js scripts, you can also live code p5.js with some VSCode extensions as mentioned above

“Three.js is a lightweight cross-browser JavaScript library/API used to create and display animated 3D computer graphics on a Web browser. Three.js scripts may be used in conjunction with the HTML5 canvas element, SVG or WebGL.”

“Paper.js is an open source vector graphics scripting framework that runs on top of the HTML5 Canvas”

“a JavaScript library for programming graphic design systems with SVG in both the browser or node.js”
Move your mouse over the image on the homepage

“A small (<9kB gzipped) graphics library that lets you draw in a sketchy, hand-drawn-like, style.”
roughjs example

“Structure Synth is a cross-platform application for generating 3D structures by specifying a design grammar”

“openFrameworks is an open source C++ toolkit for creative coding.”

“In short, OPENRNDR is a tool to create tools. It is an open source framework for creative coding, written in Kotlin for the Java VM that simplifies writing real-time interactive software”
plenty of examples on the site

“Cinder is a free and open source library for professional-quality creative coding in C++.”
plenty of examples on the site |

“Context Free is a program that generates images from written instructions called a grammar. The program follows the instructions in a few seconds to create images that can contain millions of shapes.”

a creative coding frame work for Rust, you may want to look at the work by MacTuitui (Twitter)

Another creative coding framework for Rust
curtain by turnage, 2020

A Rust library for describing 3D meshes with simple composable rules.

1
2
3
4
5
6
7
8
rule![
    tf![
        Tf::saturation(0.8),
        Tf::hue(160.0),
        Replicate::n(36, vec![Tf::rz(10.0), Tf::ty(0.1)]),
        Replicate::n(36, vec![Tf::ry(10.0), Tf::tz(1.2), Tf::hue(3.4)]),
    ] => cube()
]

is all that’s needed to generate this shape:




You can make gifs with shaders (GLSL) and JavaScript (either with raw canvas or with the coder-friendly p5.js library).

“Shaderview is an app for creating visuals using OpenGl Shaders and it uses OSC messages to communicate changes in state. For example when live coding music you could send an OSC message when the drum sample played and in turn your shader could do something with that signal, like flashing of white.”

Data Visulization
“NodeBox makes it easy to do data visualisations, generative design and complex production challenges.”

D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG, and CSS.
The homepage has a ton of live demos

a hybrid graphics editor / programming environment for creating interactive diagrams

Vega-Lite is a high-level grammar of interactive graphics. It provides a concise, declarative JSON syntax to create an expressive range of visualizations for data analysis and presentation.

Node based, open source VFX Editor with powerful interface and a ready to use libGDX runtime.

Scripting/Generative tools IN other tools

procedural modeling node-based system for Blender

“A script is a series of commands that tells an application to perform a series of operations. You can use scripts in most Adobe applications to automate repetitive tasks, perform complex calculations, and even use some functionality not directly exposed through the graphical user interface.”

Fills the layer with a pattern specified through Disney Animation’s SeExpr expression language. - note that this is for FILL layers in Krita
Kritas SeExpr

Super resolution, frame interpolation, and other effects

“Image Super-Resolution for Anime-style art using Deep Convolutional Neural Networks. And it supports photo.” - Works well on most things, not just anime art. The link is for a site where you can try it out online, but if you need to run it a lot you should probably run it locally. If you do I recommend this version is it’s compatible with basically any modern GPU. You may also want to check out Waifu2x-Extension-GUI.

Same vibe as Waifu-2x, but a different model. Tends to perform a tiny bit better.

Dain-App is a free app that let you take any form of media like movies, stop-motion, anime, cartoons, sprites, etc and interpolate new frames, generating a bigger frame-rate from the original file. NOTE: drain-app only runs on systems with an NVDIA GPU

“[…]. Based on this observation, we design an algorithm to both estimate the density of strokes in a digital painting using color geometry, and then generate novel lighting effects by mimicking artists’ coarse-to-fine workflow.”
artwork traced by ToS2P from an artwork by David Revoy under CC-BY license, www.peppercarrot.com

Pixatool (15 USD)
convert ’normal’ art into pixel art

“Picbreeder is a collaborative art application based on an idea called evolutionary art, which is a technique that allows pictures to be bred almost like animals. For example, you can evolve a butterfly into a bat by selecting parents that look like bats”

Geon FX (10 USD)
Particle effects generator/editor

For Plotters

See the 3D Printing & CNC page from the Engineering section of OpGuides for more resources


vpype - aims to be the one-stop-shop, Swiss Army knife for producing plotter-ready vector graphics. Here are, for illustration, a few examples of what it can do:

Sequence Diagrams, Flow Charts, etc. (Mostly for the nerds)
“Kroki provides a unified API with support for BlockDiag (BlockDiag, SeqDiag, ActDiag, NwDiag, PacketDiag, RackDiag), BPMN, Bytefield, C4 (with PlantUML), Ditaa, Erd, Excalidraw, GraphViz, Mermaid, Nomnoml, Pikchr, PlantUML, SvgBob, UMLet, Vega, Vega-Lite, WaveDrom… and more to come!”

ASCII to SVG

Sequence Charts

Sequence Charts

Sequence Diagrams & Flow Charts

State Machines

State Machines

D2
D2 is a domain-specific language (DSL) that stands for Declarative Diagramming. Declarative, as in, you write in text what you want diagrammed, we generate it.

Set diagrams, see building & running

Text to UML, actually good looking

database diagrams, it works

Wave editor, for like showing bit patterns & such

“Easily document cables and wiring harnesses.”

Graphviz editor
… It’s a Graphviz editor. It looks how you’d expect.


\(\LaTeX \text{?}\)

If you’re looking at this list, there’s a good chance you’re either writing up technical documentation or working on an academic paper, and so using LaTeX. First, I feel your pain. Second, This DSPTricksManual from Paolo Prandoni may help with some graphing, as may the Tikz Examples on texample.net. There’s decent Circuit and Block Diagram examples, though I do still think loading in a picture from an external tool is probably in your best interest due to the PITA that is doing this in plain LaTeX.


Other Resources

Sound Design #

There’s a LOT more tools listed in the music chapters, but there’s some more ‘for animation’ tools here:

rFXGen

Resources to learn Creative Coding #

Noise in Creative Coding (Varun Vachhar)

As an aside, Simplex Noise is technically patented until Jan 8, 2022 (which is fucking stupid)

Making Perlin Planets (vinaybhaip.com)

Creative Coding libraries #

Some inspiration #

Python + Quantum Research = Art + Saving 1000s hours of CPU time (Reddit)

Generative Constellations (Reddit)

Indra’s Net (Reddit)

The three above pieces are some of my absolute favorite pieces!

Grant Custer’s Feed + Constraint.systems - Grant’s Text Walk Scroller and Moire are some of my favorites.

Shadertoy

generated.space

From Generated.space I like Marching Squares 2, Perspective Map Trace, Map Trace, Fractal Square 2, Noisify, and Interactive Pixel Sorter - I could see using the latter two for original art directly.


Echo/printf to write images in 5 LoC with zero libraries or headers (Vidar’s Blog)

10 innovative creative coding examples that are redefining programming (Shaping Design - Editor X)

META: Hacker News Submission on this page, with a bit of discussion


If you would like to support my development of OpGuides, please consider supporting me on GitHub Sponsors or dropping me some spare change on Venmo @vegadeftwing - every little bit helps ❤️