#3: Generative Landscape

This Deliverable is due Wednesday, February 16, and has three parts:

  1. Reading + Response #03: Generative Art Theory
  2. Looking Outwards #02: Generative Art Deep Dive
  3. Generative Landscape

1. Reading + Response #03: Generative Art Theory

“Generative art refers to any art practice where the artist uses a system, such as a set of natural language rules, a computer program, a machine, or other procedural invention, which is set into motion with some degree of autonomy contributing to or resulting in a completed work of art.” — Philip Galanter

(1 hour.) For this deliverable, you will read two texts. In a blog post, you will then write brief (50-word) responses to two questions, which are below. The two texts are:

  • a 2-page fragment of an article by Kate Compton, “So you want to build a generator…” (2016)
  • and most of a 30-page article, Generative Art Theory (2003) by Philip Galanter.

Kate Compton‘s article appears in its [complete] original here, but I only ask that you read the section near the bottom which begins, “Aesthetics: the toughest challenge“, where she discusses oatmeal. I have uploaded a PDF of this excerpt for you here: kate-compton-oatmeal

Philip Galanter‘s article appears as Chapter 5 (pages 146-175) in A Companion to Digital Art, Edited by Christiane Paul, 2016 by John Wiley & Sons, Inc. This PDF/eBook is available at:

Question 1A. Be sure to have read the first 20 pages of “Generative Art Theory” by Philip Galanter (p.146-166). In your own words, and in just a few sentences, discuss an example of something you like which exhibits effective complexity. (It doesn’t have to be something made by people.) Where does your selection sit between total order (e.g. crystal lattice) and total randomness (e.g. gas molecules, white noise, static)? Include an image which illustrates your selected thing.

Question 1B. Quickly skim the remaining 10 pages of Galanter’s article, in which he outlines nine different problems with generative art (The Problem of Authorship; The Problem of Intent; The Problem of Uniqueness; The Problem of Authenticity; The Problem of Dynamics; The Problem of Postmodernity; The Problem of Locality, Code, and Malleability; The Problem of Creativity; The Problem of Meaning). Select one of these problems for which you yourself feel some sort of internal conflict or personal stake. Discuss your internal conflict. Which side of the argument do you come down on?

Please be sure to:

  • Categorize your blog post with the WordPress category, 03-Reading.
  • Title your blog post, nickname-Reading03 (where “nickname” is your login name for this course WordPress).

2. Looking Outwards #02: Generative Art Deep Dive

(30 minutes.) For each of the following three computational artists, spend a solid 5 minutes (each) looking at their generative projects:

  1. Zachary Lieberman, instagram
  2. Manolo Gamboa Naon, behance
  3. Sofia Crespo, instagram


  1. Create a blog post titled nickname-LookingOutwards02
  2. Select one artwork by one of the above three artists that you find appealing or intriguing.
  3. Grab an image of the artwork (use a screengrab if necessary); embed this image in the post.
  4. Write a sentence about why you selected this project.
  5. Include a link to the project’s URL.
  6. Categorize your blog post LookingOutwards-02

3. Generative Landscape

(6 hours.) Write a program that presents an ever-changing, imaginative “landscape.” Populate your landscape with features that are suitable for your concept: trees, buildings, vehicles, animals, people, food items, body parts, hairs, seaweed, space junk, zombies, etc.

Give consideration to the depth of variation in your landscape: after how much time does your landscape become predictable? How might you forestall this as long as possible? How can you generate a landscape that is both coherent and engaging?

Consider: foreground, middle-ground, and background “layers”; variation at the macro- scale, meso-scale, and micro-scale; natural and human-made features; utopia, dystopia, and heterotopia; the immersive use of motion parallax; and the potential for surprise through the placement of infrequent features.

This assignment asks you to bring forth a world from your imagination. Alternatively, you may create an accurate computational representation of a very real place—and generate “more” of it.

Here are some suggestions for possible variations to stimulate thinking. This list is not exhaustive.

    • Possible variation: write code to generate a map of an imaginary place. It should show a new map each time the user clicks the mouse button.
    • Possible variation: Populate your landscape with one or more of the “three verticals” (people, trees, and buildings): according to Jungian psychology, these are the defining psychological features of landscapes.
    • Possible variation: Pay attention to the manner in which the landscape moves past the “camera.” For
      example, it might appear to scroll by (as if you were looking out the window of a train); or approach from a first-person point of view (as if you were driving, or riding a roller coaster), or slide underneath (as if you were looking out of a glass-bottomed airplane). Consider a moving or even roving camera, capable of rotation as well as translation.
    • Possible variation: Depict an outside scene, an interior one (such as objects on a conveyor belt), or an altogether dreamlike one.
    • Possible variation: Experiment with 3D (as in noise terrains); 2D (as in side-scrolling video games); “2.5D” layered spaces; orthographic views; or even nonlinear, non-Cartesian geometries.
    • Possible variation: Give consideration to sound and the possibility for audiovisual synchronicities (as in Guitar Hero). You are encouraged to include sound effects or an audio soundtrack (e.g. ambient environmental sound) for your project if you wish.
    • Possible variation: Make an autonomous creature, vehicle, or other character that traverses your landscape.
    • Possible variation: Implement features in your landscape that grow, evolve, or erode over time.


  1. Sketch first in your paper sketchbook.
  2. Create your landscape using p5.js at OpenProcessing (Exercise #25).
  3. If everything works out, we’ll hopefully be able to present these later on a certain public LED display. For this reason, please use an aspect ratio of 2:1, with a maximum possible size of 840 x 420. A good size would be 800 x 400.
  4. Create a blog post on this site to document your project.
  5. In your blog post, embed at least two images of your landscape. If your landscape is animated, embed an animated GIF or a brief video recording, which you can make with a screengrab tool such as LiceCap, or the OpenProcessing screen-recording feature.
  6. In your blog post, provide a link to your p5 sketch at the OpenProcessing web site.
  7. Write a paragraph that describes you project (what is the concept, how is it made, how is a person meant to experience it).
  8. Write another couple of sentences reflecting on your work (what was successful, what was a struggle).
  9. Embed images of your sketches from your notebook. These could be as simple as photos of your paper sketches, captured with your phone.
  10. Label your project’s blog post with the Category, 03-Landscape.
  11. Title your project’s blog post with the title, nickname-landscape.
  12. Submit the Checklist below.

Some possibly helpful Coding Train videos: