Creative Programming for Digital Media & Mobile Apps

Description

This course is for anyone who would like to apply their technical skills to creative work ranging from video games to art installations to interactive music, and also for artists who would like to use programming in their artistic practice.

This course will teach you how to develop and apply programming skills to creative work. This is an important skill within the development of creative mobile applications, digital music and video games. It will teach the technical skills needed to write software that make use of images, audio and graphics, and will concentrate on the application of these skills to creative projects. Additional resources will be provided for students with no programming background.
At the end of this course, you will be able to:
* Write creative, audiovisual programs in the Processing environment that run on desktop and mobile
* Programatically manipulate sound in creative ways
* Display images and image sequences
* Generate interactive, algorithmic graphics
* Work with a 2D physics engine to create a basic game

What you will learn

Sonic Painter

This week we are getting up and running with the Processing IDE. We will show you the basics of writing Processing sketches then move onto some graphics and audio concepts. Mick will then introduce our first audiovisual example – SonicPainter, which allows users to interactively paint with synchronised graphics and sound.

DJTube

This week we are looking at using images and video, and also finding out how to control sound more fully in an interactive way. We’re going to be showing you a really basic interactive VJ/DJ app called ‘DJTube’, which is a very simple example of how to create and load video, images and animations on desktops / mobile devices, and also use them as a basic user interface. 

Audio Visualiser

This week is all about creating an Audiovisualiser. This is a really popular and interesting topic that has lots of applications, from music players, to game engines, to more complex things such as DSP. We’ll be learning about algorithmic graphics, audio analysis, and also about using the accelerometer features of your phone. Remember that many desktops don’t have accelerometers, no matter how much you shake them!

AngryDroids

This week we will be creating a physics based game using a Physics engine based on Box2D. Physics engines are a fantastic way of creating dynamic gameplay that models the real world. Box2D is one of the most popular because it is optimised to be fast for 2D games that don’t need the heavy processing of a 3D engine. It is used in many important 2D games, most famously Angry Birds. We will be using boxwrap2D which is a Java port of the original C++ version of Box2D, that is designed to work with Processing. Since boxwrap2D is java only we have created our own port to JavaScript, which interfaces to the javascript version of Box2D, but provides an almost identical interface to the Processing version.

What’s included