fbpx

Project Architecture for Pros

by Elburz Sorkhabi in Workshops on February 19, 2019
You need to be logged in or purchase an HQ subscription using the Join the HQ button at the top of the page. If you started a 14-day Trial, this content will be unlocked if you change to a full subscription by emailing us at hello@elburz.io

Summary

If you want to create large-scale installations or consistently work on projects in a professional capacity, you need a project architecture that is clean, organized, and easy to use. The best project architectures – those used by the pros – are so streamlined that they make programming TouchDesigner look boring. In this workshop, I cover the 3 core concepts behind all my projects: standardization, compartmentalization, and decoupling.

Timestamps

  • Introduction: 00:00
  • Architecture methodology: 00:39
  • Determining project layout: 13:37
  • Python variables: 40:18
  • Global OP Shortcuts: 48:20
  • Moving data with Select OPs: 55:19
  • Making a Settings COMP: 01:09:39
  • Script standardization: 01:25:59
  • External settings files: 01:29:45
  • Further GIT workflow resources: 01:44:19

More info

Everyone has seen pictures of TouchDesigner projects like the one below, with hundreds of operators and wires:

That was my first professional project. Impressive, right?

No! In fact, the opposite is true. If your projects look like this, you’re seriously hampering your TouchDesigner installations – and your potential to consistently get high-profile gigs:

  • With hundreds of operators rendering on a single network, your computer will slow to a crawl.
  • The messier your project architecture is, the harder it is to collaborate. Eventually, working with a team becomes impossible. Even working alone, keeping everything straight in your head becomes a recipe for disaster.
  • Finally, your project is far more likely to break when you update it. This is because everything is coupled together (more on this later).

If you want to create large-scale installations or consistently work on projects in a professional capacity, you need a project architecture that is clean, organized, and easy to use.

The best project architectures – those used by the pros – are so streamlined that they make programming TouchDesigner look boring.

In “TouchDesigner Project Architectures for Professionals”, I give you my exact project architecture system – the same system that’s made it possible for me to create installations for Nike, Google, Kanye West, Armani, TIFF, VISA, AMEX, IBM, and more.

With my project architecture system at your disposal, you will:

  • • Dramatically shorten your development cycles. . By reducing complexity in your project architecture, you eliminate unnecessary steps in the development process. And because you’ve created an intuitive working environment, the tasks that remain get done exponentially quicker. Shorter development cycles let you adapt to client demands, as well as take on more advanced – and better paying – gigs.
  • • Collaborate effectively. Once projects get bigger, a simplified architecture like mine is the only way to work with a team. And effective collaboration is a requirement for anyone looking to work long-term professionally with TouchDesigner.
  • Never refactor again. When I first started with TouchDesigner, I would sometimes spend days rebuilding my projects. With my current project architecture, I never have to refactor – and neither will you.

We accomplish this through my 3 core project architecture concepts:

  1. Standardize: This is part of what enables effective collaboration, which is necessary if you want to create complex, large-scale installations. When you standardize your project architectures, you speed up your development cycle while also minimizing the chances of introducing bugs into your workflow.
  2. Compartmentalize: By isolating nodes and features into compartments, we can introduce logic into our workflow. This reduces the need to refactor projects down the road, makes it easier to optimize nodes and wires, and promotes the re-use of specific components (i.e. logger, movie player), which dramatically reduces development time.
  3. Decouple: The cornerstone of collaboration, decoupling lets us separate our functionality from our controls. This enables you to create multiple user interfaces so teams can work on different things in the same project. Without decoupling, any number of issues can occur. Someone could add, rename or change something without the others knowing, creating a chain of bugs down the line. Decoupling also results in far less refactoring of code is necessary.

I’ve spent over 8 years refining my project architecture into an easy-to-implement, repeatable system that any designer can use. Once you learn my system, you’ll be able to take on projects you didn’t think you were capable of. You will also have the confidence you need to land better gigs and meet challenging client demands with flexibility and ease.

Categories: Workshops