Generative Art #
https://www.reddit.com/r/proceduralgeneration/
https://www.reddit.com/r/generative
https://www.reddit.com/r/PlotterArt/
Generative World Building #
World generation #
Name & Link | Purpose / Description | Screenshot |
---|---|---|
roberthodgin - meander | Generative maps of how rivers meander, not the tool, but at least it’s the process | ![]() |
Map Generator | A tool for building custom maps, envisioned for use in tabletop roleplaying games. | ![]() |
One Page Dungeon | ![]() |
|
Dungeon Map Doodler | “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!” | ![]() |
Dungeon Scrawl | https://dungeonscrawl.com/docs/#/ | ![]() |
Fantasy City Generator | 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. | ![]() |
Fantasy Map Generator | make a map with tons of customization options including some about the culture and regions | ![]() |
Space Creator | Make a lil' solar system | ![]() |
Genbrush ~15 USD | ||
Random Country Generator | ![]() |
|
World Machine | NOTE: This is only free for non-commercial use | ![]() |
World Painter | This one is for Minecraft, but still potentially useful | ![]() |
DataCombs | “3D Map editing utility for use with tabletop games like Dungeons & Dragons and Pathfinder” | ![]() |
Dungeon Generation in Enter The Gungeon (Boris The Brave)
Languages #
Name & Link | Screenshot |
---|---|
Procedural Runes | ![]() |
Glyph | ![]() |
Glyph Generator | ![]() |
Huge Playlist on Constructed Languages ( Conlang Critic on YouTube)
Some more cool examples, but lacking code:
https://www.reddit.com/r/generative/comments/d5284l/pentagonal_glyphs/ https://www.reddit.com/r/generative/comments/d5zeca/generative_glyphs/
Generative Textures and Geometry #
Name & Link | Purpose / Description | Screenshot / Demo |
---|---|---|
Forsynthia | Check out these(1) pages (2) for more information | ![]() |
Noisemaker | Noise maker can make a ton of generative art pieces, as you can see at the right, this is a small sampling using a few of the included presets. Can be a pain to get to run as it needs Tensorflow | ![]() ![]() ![]() |
Noisey-Shapes (Github) | “Making the computer draw weird shapes using basic trigonometry and different species of randomness(noise)” | ![]() |
Superformula SVG | Github repo |
Pixel Sorting #
Source - u/Hunter_timeFR on Reddit
PixelSorting using Processing (Github)
python pixelsort, with masks (Github)
Python again, but with animation support (Github)
Pixsort for Adobe After Effects (15 USD)
GenerateMe (Github) - lots of glitch effects
Fractal Art #
Name & Link | Purpose | Screenshot |
---|---|---|
Apophysis | Fractal Flames | [TODO] |
Mandelbulber | ![]() |
|
Mandelbulb3D | [TODO] | |
ifs Fractal Generator | ![]() |
|
Fractorium | A GPU-Accelerated Fractal Flame Edito | ![]() |
Chaotica * | ![]() |
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 very low price point. The professional Chaotica Studio (109 USD) licence has no still image or animation limitations at all. *prices are from time of writing
Generative Eyes #
https://www.reddit.com/r/generative/comments/j4uati/iris/ https://www.reddit.com/r/generative/comments/jabwl8/greye/ https://www.reddit.com/r/generative/comments/epja3d/mycelium/
Livecoding visuals #
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.”
Name & Link | Purpsoe | Screenshot / Demo |
---|---|---|
Tidal Cycles | ||
Praxislive | ||
Rectitude | ||
Mosaic | ||
p5-live (Github) | live coding for p5.js - you’ll probably want the VS Code Extension | |
hydra (Github) | “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 | “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.” | ![]() |
Thixels by Ramsey Nasser (Github, Linux Only) | “PICO8 inspired live coding visual instrument.” | ![]() |
Gibber.cc | “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 (Github) | “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.” | |
The Force (Github) | … this one basically lacks all description. Best you’ll get is the api docs in the wiki | |
Tooll.io | node-basde tool for interactive realtime content on the web | |
Kodelife | Realtime GPU shader editor | ![]() |
Cables.gl (beta) | “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 on future pricing it’s probably not the best option at the moment | ![]() |
Nimp (Github) | “Node-Based Image Manipulation Program” | |
vvvv - Heads up VVVV requires a licence for comercial 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.” | ![]() |
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 |
Nodes | Not Yet Publiclly Released | |
Cyril (Github), Main site | The Cyril programming language is designed for fast prototyping of visualisations and live coding visuals. | ![]() |
Eternal | “node based audio / visual composition” | ![]() |
Creative Coding (Non Live) #
HackadayU Creative Code with Casey Hunt (YouTube)
Name & Link | Purpose / Description | Screenshot / Demo Link |
---|---|---|
Processing Language | “Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts.” | |
Hype Framework | “This is a collection of processing.org classes that performs heavy lifting tasks while using a minimal amount of code writing” | This site is really weird? It seems to be emedding vimeo videos of static images, regardless, still worth checking out |
P5.js | “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 | “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.” | Three.js examples from Free Frontend and on the Three.js site itself |
paper.js | “Paper.js is an open source vector graphics scripting framework that runs on top of the HTML5 Canvas” | Paper.js examples |
rune.js | “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 |
rough.js | “a small (<9kB gzipped) graphics library that lets you draw in a sketchy, hand-drawn-like, style.” | ![]() |
StructureSynth | “Structure Synth is a cross-platform application for generating 3D structures by specifying a design grammar” | ![]() |
OpenFrameworks | openFrameworks is an open source C++ toolkit for creative coding. | |
openrndr | “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” | pleanty of examples on the site |
Cinder | “Cinder is a free and open source library for professional-quality creative coding in C++.” | pleanty of examples on the site |
Context Free | “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.” | ![]() ![]() |
Nannou | a creative coding frame work for Rust, you may want to look at the work by MacTuitui (Twitter) | |
Valora | Another creative coding framework for Rust | ![]() |
immense | A Rust library for describing 3D meshes with simple composable rules. 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 the example on the right |
|
ANSIedad | ![]() |
|
ASCII Generator | ![]() ![]() |
|
ShaderGif | You can make gifs with shaders (glsl) and Javascript (either with raw canvas or with the coder-friendly p5.js library). | ![]() |
ShaderView | “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 #
Name & Link | Purpose / Description | Screenshot / Demo |
---|---|---|
Nodebox | “NodeBox makes it easy to do data visualisations, generative design and complex production challenges.” | ![]() |
d3js | “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 |
Apparatus | a hybrid graphics editor / programming environment for creating interactive diagrams | |
Vega-Lite | “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.” | ![]() |
Scripting/Generative tools IN other tools #
Name & Link | Purpose | Screenshot |
---|---|---|
Blender python API | ||
Sorcar for Blender | procedural modeling node-based system for Blender | |
Adobe Extend Script | “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.” | |
Krita SeExpr | Fills the layer with a pattern specified through Disney Animation’s SeExpr expression language. - note that this is for FILL layers in krita | ![]() |
Super resolution, frame interpolation, and other effects #
Name & Link | Purpose | Screenshot / Demo |
---|---|---|
Waifu-2x | “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 recomend this version is it’s compatible with basically any modern GPU. You may also want to check out Waifu2x-Extension-GUI. | ![]() |
Drain-App | 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 | |
Neat auto lighting/shading software (Github pages site) | “[…]. 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.” | ![]() |
Pixatool (15 USD) | convert ‘normal’ art into pixel art | ![]() |
picbreeder | “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 #
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:
Other tools #
Sound Design #
!> There’s a LOT more tools listed in the music chapters, but there’s some more ‘for animation’ tools here:
Some inspiration #
Python + Quantum Research = Art + Saving 1000s hours of CPU time (Reddit)
Generative Constellations (Reddit)
Seriously, the three above pieces are some of my absolute favorite pieces. I think about them a lot.
Grant Custer’s Feed + Constraint.systems
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