Creative Coding

repo: terkelg/awesome-creative-coding
category: Miscellaneous related: D3 · Creative Technology · Pixel Art · Canvas


Awesome Creative Coding Awesome

<img src="https://raw.githubusercontent.com/terkelg/awesome-creative-coding/master/cover.png">

Carefully curated list of awesome creative coding resources primarily for beginners/intermediates.

Creative coding is a different discipline than programming systems. The goal is to create something expressive instead of something functional. Interaction design, information visualization and generative art are all different types of creative coding – which has become a household term describing artworks articulated as code.

Please read the contribution guidelines before contributing.

Contents

Books

Online Books

Courses

Tools

Frameworks • Libraries • Ecosystems

  • Processing [Cross-platform] - Computer programming language and IDE for visual arts.
  • py5 [Cross-platform] - A library that integrates Processing into the Python 3 ecosystem.
  • Cinder [Cross-platform] - Open source library for professional-quality creative coding in C++.
  • openFrameworks [Cross-platform] - Open source C++ toolkit for creative coding.
  • NAP [Cross-platform] - Open source data-driven real-time control & visualization platform suited for professional installations in C++, incl. Vulkan renderer.
  • C4 [iOS] - Open-source creative coding framework for iOS.
  • Unity [Mac, Win] - Game engine, but useful for creative coding and installations.
  • Godot [Cross-platform] - Open source game engine, that can also be used for all sorts of things.
  • PlayCanvas [Cross-platform] - Open source, realtime collaborative WebGL engine.
  • hg_sdf [Cross-platform] - GLSL library for building signed distance functions.
  • nannou [Cross-platform] - Open-source creative coding framework for the Rust language.
  • thi.ng [Cross-platform] - Open source collection of computational design tools for JavaScript, TypeScript, Clojure and ClojureScript languages.
  • PixelKit [iOS, Mac] - Open source, live graphics, Swift framework, powered by Metal.
  • OPENRNDR [Cross-platform] - Open source library for creative coding written in Kotlin.
  • Phaser [Cross-platform] - HTML5 framework for building games, uses both a Canvas and WebGL renderer.
  • Canvas-sketch [Cross-platform] - HTML5 framework for making generative artwork in JavaScript and the browser.
  • AsyncGraphics [iOS, macOS] - Open source, live graphics, async / await, Swift package, powered by Metal.
  • Lygia [Cross-platform] - Granular and multi-language (GLSL, HLSL, WGSL, MSL and CUDA) shader library designed for performance and flexibility.
  • Fragment.tools [Cross-platform] - A web development environment for creative coding.

Visual Programming Languages

  • vvvv [Win] - Hybrid visual/textual live-programming environment for easy prototyping and development.
  • NodeBox [Mac, Win] - Cross-platform, node-based GUI for efficient data visualizations and generative design.
  • TouchDesigner [Mac, Win] - Visual development platform to create realtime projects.
  • Quartz Composer [Mac] - Development tool for processing and rendering graphical data.
  • Vuo [Mac] - Live interactive-media programming environment.
  • Max [Mac, Win] - Visual programming language for media.
  • Pure Data [Cross-platform] - Open source visual programming language for multimedia.
  • ossia score [Cross-platform] - Interactive, intermedia audio-visual sequencer.
  • tooll [Win] - Open source tool for creating interactive 3d content and animations.
  • XOD [Cross-platform] - Open source visual programming language and environment for microcontroller-based projects.
  • Isadora [Cross-platform] - Scene based media control software with integrated projection mapper.
  • cables [Cross-platform/Web] - Your model kit for creating beautiful interactive content. Currently in private beta, invites can be requested.
  • eternal [Web] - Programs as graphs and graphs as compositional tools for creation
  • Notch Builder [Win] - Node-based authoring tool with a strong focus on real-time graphics. Currently in beta.
  • JOY.JS - Realtime visual coding tool, easy to understand and aimed at beginners.
  • Circles [iPhone, iPad, Mac] - Live graphics node editor, powered by AsyncGraphics.
  • TIC-80 - Make pixel art style games and art on a 240*136 pixel screen.

Sound Programming Languages

  • SuperCollider [Multi-platform] - Platform for audio synthesis and algorithmic composition.
  • ChucK - Strongly-timed, concurrent, and on-the-fly music programming language.
  • TidalCycles - Domain specific language for live coding of pattern.
  • Sonic Pi - The live coding music synth for everyone.
  • Csound - A sound and music computing system.
  • Orca - Live coding environment to quickly create procedural sequencers.
  • handel - A small procedural programming language for writing songs in browser.
  • Overtone - An open source audio environment designed to explore new musical ideas from synthesis and instrument building to live-coding.
  • Melrōse - A MIDI producing environment for creating (live) music.
  • Glicol - Graph-oriented live coding language and music/audio DSP library written in Rust.

Web Programming • Libraries

Projection Mapping • VJing

  • MadMapper [Mac] - Video mapping projections and Light mapping.
  • VDMX [Mac] - Realtime multimedia performance application.
  • Modul8 [Mac] - Real time video mixing and compositing.
  • Resolume [Mac, Win] - Mixing of digital video and effects in a realtime.
  • VirtualMapper - Realtime preview tool for projection mapping.
  • Millumin [Mac] - A software to create and perform interactive audiovisual shows.
  • Smode [Win] - A real-time 2D/3D creation, compositing and video-mapping engine.
  • Veejay [Linux] - A live performance tool featuring simple non-linear editing and mixing from multiple sources (files, devices, streams...)

Online

  • Shadertoy - Build and share shaders with the world and get inspired.
  • Shader Park - A JavaScript library for creating interactive procedural 2D and 3D shaders.
  • GLSL Sandbox - Online shader editor and gallery.
  • Shdr Editor - Online shader editor.
  • CodePen - Show case of advanced techniques with editable source code.
  • Shadershop - Interface for programming GPU shaders.
  • Vertexshaderart - Online shader editor and gallery.
  • Cyos - Online shader editor.
  • GlslEditor - Simple WebGL Fragment Shader Editor.
  • OpenProcessing - Algorithmic Designs Created with Processing, p5js and processingjs.
  • P5.js Editor - Online web editor for P5.js.
  • LiveCodeLab - Run-as-you-type tool for VJs, musicians, teachers, students, kids.
  • Turtletoy - Minimalistic API and online showcase for generative code. (JavaScript)
  • ShaderGif - Open source home for art made with code (WebGL1/2, JavaScript Canvas & P5.js).
  • P5LIVE - p5.js live-coding environment.
  • NEORT - Digital art platform for creative coders (Fragment Shader, JavaScript Canvas).
  • Shelly - Learn programming by issuing instructions to a turtle.
  • tixy.land - The most minimalist creative coding environment is alive.
  • BBC Micro bot - Run your tweet on an 8-bit computer emulator.
  • Hydra - Live code-able video synth and coding environment.

Hardware

  • Arduino - Open source microcontroller kits for building digital devices and interactive objects.
  • Raspberry Pi - Small single-board computers.
  • Puck.js - Open source JavaScript microcontroller you can program wirelessly.
  • BeagleBoard - Low-power open source single-board computers.
  • Makey Makey - Turn everyday objects into touchpads and combine them with the internet.
  • Leap Motion - Sensor device that supports hand and finger motions as input.
  • AxiDraw - Simple, modern, and precise pen plotter.
  • Phidgets - Sensors, input devices and controllers for computers.
  • Teensy - USB-based microcontroller development system.
  • Lightform - AR projection mapping with built-in depth sensor.

Other

  • Structure Synth [Cross-platform] - Application for generating 3D structures by specifying a design grammar.
  • Fragment [Mac]- App to live code GLSL graphics.
  • ShaderTool [Win] - Modern shader IDE for programmers and FX artists.
  • Syphon [Mac] - Allows applications to share frames with one another in realtime.
  • KodeLife - Real-time GPU shader editor, live-code performance tool and graphics prototyping sketchpad.
  • ISF - GLSL shaders for use in interactive applications.
  • glslViewer - Live-coding console tool that renders GLSL Shaders.
  • shoebot [Cross-platform] - Shoebot is a creative coding environment designed for making vector graphics and animations with Python.
  • DrawBot [Mac] - Education oriented 2d graphics programming environment based on Python.
  • Klak - A collection of scripts for creative coding with Unity.
  • basil.js - Scripting (JS) in InDesign for designers and artists in the spirit of Processing.
  • Konstrukt [Cross-platform] - A commandline tool to generate different scalable patterns as SVGs.

Learning Resources

Videos

Talks

Articles • Tutorials

Shaders • OpenGL • WebGL

Canvas

  • [HTML Canvas Deep Dive](http://joshondesign.com/p/books/canvasdeepdive/toc.html) - Profound introduction to the canvas API.
  • [31 days of Canvas tutorials](http://creativejs.com/2011/08/31-days-of-canvas-tutorials/) - Collection of canvas tutorials by Seb Lee-Delisle.

Hardware

  • [Pen Plotter Art & Algorithms Part 1](https://mattdesl.svbtle.com/pen-plotter-1), 2 - How to use the AxiDraw pen plotter with JavaScript.

Other

Interactive

Quick References • Cheat Sheets

Communities

Subreddits

Slack

Other

Math

Machine learning • Computer Vision • AI

Inspiration

Events

  • OFFF Festival - Digital design festival (Online Flash Film Festival).

truncated — full list on GitHub

[[curator]]
I'm the Curator. I can help you navigate, organize, and curate this wiki. What would you like to do?