02.11 Basic Generative Assignment
Assignment Deliverables
- Upload a URL to your online generative art project via one of the following options:
- Self published GitHub repository published to GitHub Pages
- Link to sketch on p5.js Web Editor
Assignment Requirements
- use a minimum of 2 variables Variables Basics
- use an increment operator Increment Operator Basics
- use at least one built in p5.js variable such as
width
,height
,windowHeight
,windowWidth
,mouseX
,mouseY
,mouseIsPressed
- use a conditional statement Conditional Statement Basics
- use the
random()
function at least once random() Basics - have fun and experiment
We used primitive shapes and colors to make images in the previous assignment. Then we published those sketches to the web by saving them as a GitHub Repository and serving them on GitHub Pages. For the most part, those images were static or had basic variability.
Remember: We are learning about programming. Be ambitious with your project goals but also be ok when things don’t work out. Experiment. See what happens. Ask questions. This is likely the second thing your have ever coded ever, so be easy on yourself.
You are expected to work for 4.5 hours each week outside of class, so for this project an example of how to break up your time could be:
- ~30 minutes to setup your project files and repository (this will start to go quicker as you do it more often)
- ~30 minutes of ideation and looking at examples for inspiration
- ~3 hours of trying, experimenting, researching, and coding
- ~30 minutes Double check your files, publish your repository / sketch, and upload URL to Canvas
Assignment Instructions
- Make a new GitHub Repository for your assignment.
- You can make the repository on Github.com and then clone it into your local development environment.
- You can make a new folder on your local computer and then “initialize” the repository in your local development environment before pushing it to GitHub. How to publish a repository to GitHub from your local computer
- What goes in the repository?
- You need a
index.html
asketch.js
and astyles.css
- There is a downloadable “ complete project ” from p5.js.com
- This is a clonable template repository set up with directories for the JavaScript and CSS files How to clone a GitHub Template Repository
- You need a
- Edit the
sketch.js
file with new code that meets the assignment requirements. - Use the Live Preview feature of your code editor to check your work.
- When you are happy with your project, save it and make sure that you commit your changes.
- Push the changes to your GitHub repository.
- Publish the main branch on GitHub Pages.
- Upload the url to Canvas.
Code Attribution
As a general rule, you should make your own creative content but of course you can be inspired and influence by the work of others. It is important to give credit to the authors of content that you use. It is also important to make sure that you do not infringe on the rights of the author no claim the work as your own.
If you use bits of code from others, make sure to clearly give credit, and provide a link to the original in your code via code comments .
Generative Art Notes
What is generative art?
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 [^galanter-1]
Generative Art Readings
- So you want to build a generator
- What is generative art? - Philip Galanter
- The Art of Radical Inclusivity
Generative Art Resources
- Genuary Month long online generative art showcase
- MoMA Postcard Exhibition
Generative Artists
Browse the long list of artists in the artist reference page of this course for inspiration for this project and others.
Also browse this list of artists included in a February 2024 exhibition at Bright Moments Paris .
- Sarah Ridgley
- Andreas Gysin
- Martin Grasser
- Maya Man
- Camille Roux
- Harm van den Dorpel
- Luke Shannon
- Florian Zumbrunn
- Jeff Davis
- Matthieu Segret
Grading Rubric
Assessment | Weight |
---|---|
Use 2 Variables | 10 points |
Use Increment Operator | 10 points |
Use Built In p5.js Variable | 10 points |
Use a Conditional Statement | 20 points |
Use random() function | 10 points |
Generative Art | 30 points |
Upload URL | 10 points |