Ask HN: Resources to learn generative art programming?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • OpenFrameworks

    openFrameworks is a community-developed cross platform toolkit for creative coding in C++.

    https://openframeworks.cc/ (<-- highly recommend this)

    Find the programming environment you want, feel them out.

  • weird

    Discontinued Generative art in Common Lisp

    processing.org/ or p5.js are both excellent tools with lots of documented examples to help get going.

    I'd also recommend the pen plotter community, which is heavily involved in generative art but also enjoys physically plotting the art with robotic tools. See https://inconvergent.net/ for examples, there are many others.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • iao

    iao

    One of the better ones I've found is Tyler Hobbes [0].

    I recently found the "Bridges Archive" online [1]. It's a goldmine of ideas (I won't link to them but they have tilings, space filling algorithms, multi-scale Truchet patterns and many more).

    I favor the ideas rather than the implementation as I already know how to program so you may do better with learning something like processing/p5.js [2].

    In terms of raw ideas, I've found Jared Tarbell to be a huge inspiration [3] [4].

    I'm sure I'll get lashed on here for the mere mention of NFTs but I've found there are consistently awesome generative art being displayed on Twitter for artists showing their work and advertising their NFTs for sale. One resource that I've found to be pretty consistently good is fxhash.xyz [5] [6]. Looking for #fxhash tags on Twitter will probably give you rich results.

    I also have my own NFTs whose source code I've released as CC0 if you want to take a look [7] (none are for sale right now) along with a half assed attempt at making a list of resources for generative art [8].

    There's plenty of "awesome" generative art lists [9] as well as many examples and other projects on p5.js [2]. And of course there's always Reddit [10] [11].

    Oh and "Coding Train" is deceptively deep, packing complex ideas in a kind of "cutesy" veneer but still managing to tackle topics that run the gamut of easy to incredibly difficult [12].

    There's really too many resources to list. It depends on what level you're at. I tend to focus on Javascript and the 'ideas' rather than the implementation so much. If you're starting from a point of learning programming, you're probably better off going through a tutorial or two on how to actually program and then try and tackle some "classic" generative art examples (grids, recursive grides, flow fields, etc.).

    I occasionally run into people who have all their experiments on GitHub which might be enlightening [13].

    [0] https://tylerxhobbs.com/essays

    [1] https://archive.bridgesmathart.org/#gsc.tab=0

    [2] https://p5js.org/examples/

    [3] http://www.complexification.net/gallery/

    [4] http://levitated.net/

    [5] https://www.fxhash.xyz/

    [6] https://twitter.com/fx_hash_

    [7] https://github.com/abetusk/iao

    [8] https://github.com/abetusk/iao/blob/main/Notes.md

    [9] https://github.com/kosmos/awesome-generative-art

    [10] https://www.reddit.com/r/generative

    [11] https://www.reddit.com/r/proceduralgeneration/

    [12] https://www.youtube.com/channel/UCvjgXvBlbQiydffZU7m1_aw

    [13] https://github.com/anaulin/generative-art

  • awesome-generative-art

    Awesome generative art

    One of the better ones I've found is Tyler Hobbes [0].

    I recently found the "Bridges Archive" online [1]. It's a goldmine of ideas (I won't link to them but they have tilings, space filling algorithms, multi-scale Truchet patterns and many more).

    I favor the ideas rather than the implementation as I already know how to program so you may do better with learning something like processing/p5.js [2].

    In terms of raw ideas, I've found Jared Tarbell to be a huge inspiration [3] [4].

    I'm sure I'll get lashed on here for the mere mention of NFTs but I've found there are consistently awesome generative art being displayed on Twitter for artists showing their work and advertising their NFTs for sale. One resource that I've found to be pretty consistently good is fxhash.xyz [5] [6]. Looking for #fxhash tags on Twitter will probably give you rich results.

    I also have my own NFTs whose source code I've released as CC0 if you want to take a look [7] (none are for sale right now) along with a half assed attempt at making a list of resources for generative art [8].

    There's plenty of "awesome" generative art lists [9] as well as many examples and other projects on p5.js [2]. And of course there's always Reddit [10] [11].

    Oh and "Coding Train" is deceptively deep, packing complex ideas in a kind of "cutesy" veneer but still managing to tackle topics that run the gamut of easy to incredibly difficult [12].

    There's really too many resources to list. It depends on what level you're at. I tend to focus on Javascript and the 'ideas' rather than the implementation so much. If you're starting from a point of learning programming, you're probably better off going through a tutorial or two on how to actually program and then try and tackle some "classic" generative art examples (grids, recursive grides, flow fields, etc.).

    I occasionally run into people who have all their experiments on GitHub which might be enlightening [13].

    [0] https://tylerxhobbs.com/essays

    [1] https://archive.bridgesmathart.org/#gsc.tab=0

    [2] https://p5js.org/examples/

    [3] http://www.complexification.net/gallery/

    [4] http://levitated.net/

    [5] https://www.fxhash.xyz/

    [6] https://twitter.com/fx_hash_

    [7] https://github.com/abetusk/iao

    [8] https://github.com/abetusk/iao/blob/main/Notes.md

    [9] https://github.com/kosmos/awesome-generative-art

    [10] https://www.reddit.com/r/generative

    [11] https://www.reddit.com/r/proceduralgeneration/

    [12] https://www.youtube.com/channel/UCvjgXvBlbQiydffZU7m1_aw

    [13] https://github.com/anaulin/generative-art

  • generative-art

    Generative art experiments (by anaulin)

    One of the better ones I've found is Tyler Hobbes [0].

    I recently found the "Bridges Archive" online [1]. It's a goldmine of ideas (I won't link to them but they have tilings, space filling algorithms, multi-scale Truchet patterns and many more).

    I favor the ideas rather than the implementation as I already know how to program so you may do better with learning something like processing/p5.js [2].

    In terms of raw ideas, I've found Jared Tarbell to be a huge inspiration [3] [4].

    I'm sure I'll get lashed on here for the mere mention of NFTs but I've found there are consistently awesome generative art being displayed on Twitter for artists showing their work and advertising their NFTs for sale. One resource that I've found to be pretty consistently good is fxhash.xyz [5] [6]. Looking for #fxhash tags on Twitter will probably give you rich results.

    I also have my own NFTs whose source code I've released as CC0 if you want to take a look [7] (none are for sale right now) along with a half assed attempt at making a list of resources for generative art [8].

    There's plenty of "awesome" generative art lists [9] as well as many examples and other projects on p5.js [2]. And of course there's always Reddit [10] [11].

    Oh and "Coding Train" is deceptively deep, packing complex ideas in a kind of "cutesy" veneer but still managing to tackle topics that run the gamut of easy to incredibly difficult [12].

    There's really too many resources to list. It depends on what level you're at. I tend to focus on Javascript and the 'ideas' rather than the implementation so much. If you're starting from a point of learning programming, you're probably better off going through a tutorial or two on how to actually program and then try and tackle some "classic" generative art examples (grids, recursive grides, flow fields, etc.).

    I occasionally run into people who have all their experiments on GitHub which might be enlightening [13].

    [0] https://tylerxhobbs.com/essays

    [1] https://archive.bridgesmathart.org/#gsc.tab=0

    [2] https://p5js.org/examples/

    [3] http://www.complexification.net/gallery/

    [4] http://levitated.net/

    [5] https://www.fxhash.xyz/

    [6] https://twitter.com/fx_hash_

    [7] https://github.com/abetusk/iao

    [8] https://github.com/abetusk/iao/blob/main/Notes.md

    [9] https://github.com/kosmos/awesome-generative-art

    [10] https://www.reddit.com/r/generative

    [11] https://www.reddit.com/r/proceduralgeneration/

    [12] https://www.youtube.com/channel/UCvjgXvBlbQiydffZU7m1_aw

    [13] https://github.com/anaulin/generative-art

  • pyconar-talk

    Materials for my PyCon Argentina talk

    Start by copying some existing example code and running it locally, then edit it and see what changes. Comment pieces out, look at the results. Change magic numbers to understand the effect. It probably has some calls to a random number generator in it; add more calls to the random number generator.

    There are lots of examples bundled with Proce55ing, on Shadertoy, on bl.ocks.org, on ObservableHQ, on Jared Tarbell's website, in the Coding Train vlog, etc. My own repo of examples using Python and PyGame is at https://github.com/kragen/pyconar-talk, but I've also done examples like http://canonical.org/~kragen/sw/dev3/tweetfract.html with (you have to click on the invisible to see it) and http://canonical.org/~kragen/sw/dev3/plotiir.html. Start with small things.

    There's probably some kind of awesome example repo out there for deepdream ANN stuff but I don't know what to recommend.

    But that's just where to start. Once you're doing stuff you'll want to understand what you're doing and learn about more techniques (algorithmic, software design, and interfaces to libraries and devices) so you can expand your range. There's lots of resources out there (Tarbell in particular has given an hour lecture you can find on YouTube about what techniques he finds useful) but I can suggest:

    ∙ Many instances of the same thing that differ by incrementing a variable. For example, you can create 64 particles that move from point A to point B at successive points in time 30 milliseconds apart, or at the same point in time at 64 different velocities, or 64 Bezier curves from point A to point B that start at 64 angles evenly spaced around a circle.

    ∙ Adding randomness to things. Adding randomness to pixel colors gives you "graininess"; adding randomness to object positions gives you spatial dispersion or, if the randomness varies over time, jittering; adding randomness to the angles of different objects gives you visual variety.

    (to be continued)

  • DIY-ai-art

    How to build your own AI art installation from scratch

    Here's a generative art project I did a while back: https://github.com/maxvfischer/DIY-ai-art

    It's not so much about creating the generative algorithms, but more if you wanna wrap the learning around a fun project.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • processing

    Source code for the Processing Core and Development Environment (PDE)

    I think it starts like all other art.

    With making something and if it sucks making something else and it it doesn’t suck making something else.

    I mean painting is the only way to be a painter, playing music is the only way to be a musician, and programming computers is the only way to be a computer programmer.

    Downloading Processing is a simple thing that might work and can be done in half an hour.

    https://processing.org/

  • PixiJS

    The HTML5 Creation Engine: Create beautiful digital content with the fastest, most flexible 2D WebGL renderer.

    "Computers and the Imagination: Visual Adventures Beyond the Edge" is a great book, not exactly on generative art but very inspiring [https://www.goodreads.com/book/show/2489703.Computers_and_th...].

    For implementation, I have found https://pixijs.com/ very useful.

  • p5.js

    p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the core principles of Processing. http://twitter.com/p5xjs —

  • aiaiart

    Course content and resources for the AIAIART course.

    If you're interested in using deep learning and pushing more towards the generative AI side I made a free course for that: https://github.com/johnowhitaker/aiaiart, and I'd be happy to chat through the landscape and help you get started :)

  • glicol

    Graph-oriented live coding language and music/audio DSP library written in Rust

    In addition to the rest of wonderful resources, I would like to promote my project here, if you are interested in algorithmic music/live coding:

    https://glicol.org

  • awesome-creative-coding

    Creative Coding: Generative Art, Data visualization, Interaction Design, Resources.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts