Digital art is a huge nebulous term. In this class we will be focusing on the moment where hardware meets software, and how one determines the design of the other (and vice-versa). We will also be looking at how this hardware/software nexus interacts with the art world.
There are two sections to this class.
Section 1
We will focus first on learning Processing, and then integrate the arduino. Processing is a Java based environment - and while it's quite robust, it's also designed for the beginner programmer. No previous programming knowledge is necessary, although a willingness to learn is a must. If you DO have programming knowledge, don't panic - this class will still be fun and rewarding.
Processing is free, open source and cross platform, you are welcome and encouraged to install it on your own machine.
The first assignment will be broken down into three parts.
We will begin by re-making a simple game. Students will make either pong or its cousin "Breakout". We will go slowly enough so the beginner students can understand all that is happening in the code.
Once the faithful remake has been made, we will subvert / expand / ignore / and challenge the original game in some way, creating our own new games. This version will use the keyboard to control the game.
The final step will be for student to pair up and combine aspect of their two games into one super-game. We will create custom controllers for this new game using the arduino.
Section 2
Students will make a proposal for a final project, and these proposals will be presented in class. The final project should incorporate Processing and or the arduino, but it does not need to be a game. It does, however, need to be realizable. After each student had made a proposal students can work either in small groups or individually to realize one of the projects. I will be doing further demonstrations on the arduino. We will learn how to integrate various sensors and motors to create interactive sculptures and environments.
Class structure.
The class will be divided into lectures, tutorials, presentations, critiques, playtesting and in-class working time.
The class will have a open source aesthetic - we are going to help each other make the best games and artworks possible. Be prepared to receive and give criticism.
Ettiquette
Teaching in a room with computers is like teaching philosophy in a room full of kittens. No matter how interesting the material, kittens are always going to win out. But please, I implore you, when I'm talking PAY ATTENTION. No matter how interesting the intertubes are at the moment, I can assure you that it will all still be there later.
Processing is huge, and there's always something new to learn. There's never a good reason to have nothing to do.
Readings
There will be some reading to do. This is not optional, but I will promise that the readings will be (reasonably) short, pertinent and entertaining.
Grading : Here's what you're going to need to do to get a good grade
Create your own game based on a traditional 2d game.
Help to integrate the arduino into a game.
Propose a final project
Help realize a final project (your own or as a team member)
There may be occasional weekly assignment that I throw at you
Attendance and participation.
Your programming skills will not guarantee you a good grade, nor will the lack of skills hurt you. If you are a good programmer, be prepared to help your fellow students!
This class will begin with basic tutorials, but will quickly evolve into a more self directed class. I will not be imposing many limitations on the final. This means I am expecting you to be self motivated artists.
Lab fee
With your lab fee you get:
Access to this room (as long as there is no class), an arduino, soldering iron, breadboard, and various other electronic components.
back to class website