Below is a listing of every tool and library used in the creation of this project.

An extra special thanks to The Coding Train and its community.

Many of the tutorials freely available through Dan Shiffman’s work and The Coding Train website serve as the foundation and inspiration for the examples on this website.

Flow Field Snapshot

  • Processing Tools:

    A robust assortment of graphical rendering tools made with artists and creative coders in mind, Processing is supported in multiple languages, but example sketches for this project were written in P5JS, a Javascript varient based off the original, Java-based Processing.

    • Included P5JS (Processing) Libraries:

      • p5.dom: Allows simple interaction between the HTML5 objects and the Processing canvas.

      • quicksettings: Quickly create GUI panels with access to control parameters.

      • p5.gui: An implementation of the quicksettings library in conjunction with P5JS.

      A few more P5JS libraries may be included in the final project.

  • Website Tools

    • Jekyll: A static site generator, written in Ruby, that quickly builds and serves all website assets.
      • Not sure what a static site generator is? Check out this handy presentation describing the key differences between dynamic and static sites.

    Static Site Generation

    • Jekyll Toolset

    • Amazon Web Services: Amazon S3 web services are used to host this website in the cloud.
      • A tutorial on building an scp BASH script for repetitive uploads to the host server can be found here
    • Github:

      • Git: Development Version Control

      • Github Pages: Website hosting and generation. A simple alternative to AWS with Git support built in.

  • Perlin Noise Generation: Smooth random values with similarities between adjacent values. This is the engine behind many of the ‘forces’ in the project examples.

  • Boid Complex Behavioral Systems: Craig Reynolds’ original website on complex behavioral systems serves as inspiration for the life-like behaviors in these sketches.