Interactive Software Landscape Pt #1

Choosing what app to use for your projects never seems like an easy job. Every year it seems like there’s a new way to do XYZ and another app got a whole new set of features that make it now The Ultimate Best Way To Do Things (TM). In these next two posts, I’m going to highlight a handful of the popular development apps used currently and what I see as their strengths and where they shine best to help make your platform choices a bit easier.

Why bother?

If you had asked me a few years ago what to use for interactive development, we could have a real quick 5 minute conversation about TouchDesigner and maybe Unity would be in the mix. There wasn’t really much to talk about because outside of TouchDesigner, we didn’t really have a software that was looking at our industry and pushing hard to add the features and support needed to take on interactive and immersive projects. Over the last few years, things have changed drastically. New softwares have come out of the woodwork and existing softwares started to realize how lucrative our industry can be. This makes choosing your software stack a bit tricky and I thought through all of my professional experiences and the experiences of my peers, I could collect and distill the overall sentiments that we all feel and share. In this post we’ll start with TouchDesigner and Notch, then proceed in the next post to talk about Unity, Unreal, Max, and others.

TouchDesigner

I would be remiss if I didn’t start with TouchDesigner. It’s a platform that feels like it can do anything, and in-fact, I’ve never quite seen it not be able to do something. If we’re talking about hardware integrations, compositing, windowing, scripting complex logic systems and state machines, or movie playback, it’s hard to beat. It’s visual environment makes it a fantastic place to learn a lot of skills that are traditionally a bit harder and more code-dense to pick up, such as GLSL. It’s my first tool of choice when it comes to diving into interactive and immersive media projects because of it’s flexibility and the speed at which I can work in it. I find that almost anything I need is at my fingertips and I always feel like if there’s something wrong with it, it’s my fault and thus I can also fix it. It’s a really empowering software to use once you get to your higher-intermediate stages and break into the advanced tiers of development. But like anything, it’s not perfect.

Because it can do almost everything, the trade off is that a lot of workflows involve quite a bit of self-development and being able to do anything doesn’t mean that everything is always easy. You have to build a lot of your own tools, understand how materials and rendering pipelines work to get quality renders, and generally understand procedural workflows well enough to build operator chains when you need more complex functionality. This means the question is rarely “can I do it?” and instead you ask “is it worth me doing this given my available amount of time?” or “which of the 7 ways of building this would be best?” Another way to think about this that I love is deciding “whether the juice worth the squeeze?” One of the great things about the current state of the industry is how easily apps like TouchDesigner can then integrate with other apps! So if I start my projects from a base in TouchDesigner, whenever I find the juice is not worth the squeeze, I can quickly tap into another app’s strengths to help compensate and speed up my workflow.

Get Our 7 Core TouchDesigner Templates, FREE

We’re making our 7 core project file templates available – for free.

These templates shed light into the most useful and sometimes obtuse features of TouchDesigner.

They’re designed to be immediately applicable for the complete TouchDesigner beginner, while also providing inspiration for the advanced user.

Notch

Notch is a fantastic application for content creation and it integrates well with TouchDesigner through the Notch Blocks system. This means that you can take a whole Notch project, expose a bunch of parameters, export the whole thing into a single .dfxdll file, and load that directly inside of TouchDesigner to control the content as it’s being generated in real time. Music to my ears! Integrations aside, where Notch really shines is in it’s workflow and content creation speed. I’ve yet to see an application you can open and build beautiful looking high-end real-time content faster in. I just haven’t! I can drop into Notch and within 5-7 nodes have a high-end looking particle system with nice curl noise and glow and all the good stuff clients ask for. I could be in and out of there with an exported Notch Block in less than an hour. Especially if you’re doing a lot of corporate work, it’s hard to overlook that kind of content creation speed in combination with the ease of implementing it into a TouchDesigner system.

The Notch workflow is also really interesting because of how well it resembles motion graphics workflows and thought processes. If you come from using an app like Cinema4D or After Effects for mograph, you’ll enjoy the feeling of having individual nodes with lots of functionality packed into them, you’ll love the rich timeline and keyframing tools, and you’ll be familiar with the concept of structuring a project around layers. This means your mind doesn’t have to transition from a content focus down to a nitty-gritty developer focus. This can make it a really fantastic tool if you’ve already got that content creator mindset and want to bring those workflows to a real-time space.

Where do things become a bit tricky in Notch? Usually when you start wanting to pick things apart. Having nodes that do a lot in a single easy to use package means you can work fast but it also means that if you wanted to really break something apart and tune parameters that aren’t already exposed for you, you might find yourself limited. This can also compound with the fact that it can be tricky to make really complex state machines because more advanced control signals and logic flow nodes are still newer features that are getting added. These things will get better and better overtime as Notch continues to develop, but can be frustrating for folks that come from lower-level development environments where you can pick every single thing apart. But this can often be overcome by using TouchDesigner as your host for your Notch Blocks.

Wrap up

There’s a lot of choices now as an interactive tech and immersive media professional and it can be hard to tell what software stack might be the right fit for you. Hopefully learning a bit about how pros are viewing TouchDesigner and Notch can start to get you thinking about your own stack. In next week’s post, we’ll look at Unity and Unreal, two game engines that have both made great strides into entering our industry. We’ll look at where they each shine and talk about Max and Ableton as well.