Here we are, quickly sprinting towards the end of the semester – which means it’s time for us to start thinking about our final projects. We’ve now covered the basics of building an application from beginning to end in TouchDesigner. As a quick re-cap, here’s what we’ve learned to do so for in class:
- how to work with images or movie files and modify / change those files with various operations
- signal flow – passing video, channel, surface, or data information through a network of operators
- encapsulation – how to compartmentalize our networks into smaller pieces or components (our visuals network and our control network)
- referencing – how to call for the parameters of other operators in order to make changes in a network
- rendering – how to render a piece of geometry in real time (including how to light, position, and view that geometry)
- scripting – creating feedback, and opening windows with scripts
- interface component building – building single reusable elements like sliders
- interface building – how to build whole interfaces
- setting up applications to run in full screen from perform mode
- saving files to open in perform mode and bypass the programming environment.
Whether you believe it or not, you’re now all ready to build your own applications and tools, and you’re going to use the next couple of class assignments to get there. This first assignment is the proposal stage. What is it that you want to build? What’s it going to do? How are you going to control it? Does it connect to another project? Do you need to be able to send data to another programming environment? Do you need to be able to receive data from another programming environment? In short, I want to know what you want to build, why, and how you plan for it to work. This is our planning phase, so I want to see your big plans. For this project you’ll turn in the following:
- A short narrative (250-500 words) description of the project. What does it do? What does it look like? Why is it important to you? What idea or concept are you exploring (what ideas or concepts interest you… if you feel stuck, remember you can always return to our first assignment and the principles of design)?
- A system diagram – create a simple flow-chart that tells me what hardware and software is involved.
- A list of the problems challenges that you know how to solve, and a list of the problems and challenges that you don’t yet know how to solve.
Final Project Requirements
As much as I’d love to let you have free reign on the final project, I do want you to have a few guidelines in place. With that in mind, plan your final project knowing that I’ll want to see you:
- Create a visual composition with your assignment (you don’t have to build a visualiser, but I do want to see that you’re using what we’ve learned about working with pixels… if you’re not sure if what you’re thinking about counts, ask me)
- Create a control panel for user interaction / programmer interaction.
- Perform in real time, or close to it (I don’t want to see projects that crash or hang).
- Be organized and modular in your programming (I want to see that you know how to use encapsulation to make sure your projects are organized and reusable).
- Comment your code – it will make you all the happier when you’re building something over the course of several weeks.