Exothermic: A Non-Destructive 2D Tool

The developer of Exothermic talked about his unique 2D design tool with a non-destructive workflow. 

Intro

My name is Carter, I graduated from the Savannah College of Art and Design in 2006 with a BFA in Broadcast Design. I worked for several years mostly doing product feature videos in Cinema 4D for various commercial companies. I started making some plugins to support my projects such as the plugin Primitive Sketch for C4D before eventually transitioning to larger programming projects such as enterprise apps for iOS.

Exothermic 

For many years I've been frustrated by the lack of innovation in the 2D graphics market. I played around with the idea of a 2D node-based graphics tool several years ago but the math and the fact that I have no formal computer science training scared me off. A couple of years passed and I was looking for a software project that I'd be interested in working on fulltime and I came back to it. After doing a couple of tests I realized that I just might be able to pull it off. I think the idea has so much potential and it's really fun to work on. Exothermic didn't start out quite this big but as I thought of all the things it could potentially be used for I wanted to be sure there was a foundation for those future expansions from the beginning.

1 of 2

Non-destructive

Pretty much every action that you do in Exothermic creates a node, even if you're just working in the viewport the program creates the nodes automatically. A node is pretty much just a block of code that has one function, such as move a point or delete an edge. Each node knows nothing about the rest of the scene, it just cares about accomplishing its task. Combine a bunch of nodes together and you can draw some pretty pictures.

Since a scene is comprised of node building blocks it's possible to go back to any node, make a change and the scene will recalculate through all the other nodes to redraw everything that changed. In most other programs making changes would require pressing Undo multiple times, or deleting a shape and starting over, but that's not necessary with Exothermic.

Some immediate benefits of non-destructive workflows are that making changes is easier. There's a reason most artists start with sketches, sometimes after seeing the big picture you realize what changes you want to make to smaller elements. Non-destructive editing lets you work on the final product but with the freedom to make changes like a sketch. It can lead to experimenting which can inspire more creativity. And when you add the fact that anything can be animated, it's really powerful to be able to animate one parameter early in a node graph that then goes on to have some elaborate effect on the final image.

Vector and raster nodes

I've found that unless you're working strictly with photographs vector tools are indispensable in creating imagery because they can quickly create the skeleton, then you can use raster tools to add realism. Because I view the vector tools as the skeleton I thought it was most important to focus on those first. It's also where I thought there was the most room for innovation. 

Currently Exothermic supports two main node graph types, vector, and raster. Vector graphs keep all data as a vector, even after compositing all the layers. These graphs can be exported to other vector formats such as SVG. Raster graphs store their data in pixels. All the vector tools also work in the raster space and vector graphs can even be instanced within rasters. When vectors are used in raster graphs they are maintained as a vector for as long as possible, usually up until the layer is composited with the other raster layers, but they can also be converted at any time to raster if you want to apply raster effects such as blurring. This is all handled automatically whenever possible.

Variables

The intent behind variables goes back to how I'm treating vector graphics as the skeleton that the raster graphics are built on top of. You can think of variables as the muscles and nerves that can bring the skelton to life. Data can be attached to any component of a vector: points, spans, segments and paths. Internally I use variables to control the thickness and offset of the stroke, and the fill color of the closed paths, but users can add variables for anything. You could potentially use variables to control the amount rust so that it only appears on the bottom edges of a shape. You could use it to control how leaves appear on tree branches. For character, animation variables could be used to add weights to how a skin outline is deformed by underlying bones. Currently, 2D graphics are pretty dumb, I'm trying to make them smarter by adding more information that can open the door to some exciting features.

Industry-specific features

I'd love to add lots of industry-specific features, though I want to see what industry shows the most interest. My background is in 3D so texture painting was always near the front of my mind. I hadn't given much thought to UV mapping mostly because the math scares me, but I'd love to create a 3D viewport where you could bring in a model and paint directly on it and see your changes update in realtime. Pretty much every tool, node, command, and panel in Exothermic is already a plugin so the plan is to one day release an SDK and multiple industries could add features that meet their needs as well as integrate it into their existing pipeline.

Plans

My dream is to create a foundation that others could use to build any 2D tool they could imagine, from texture painting to UI development, character animation, print layout, realtime graphics. My goal has never been to do this alone, Exothermic is the best I've been able to do so far with the limited resources I have. At this point, I'm putting it out there to hopefully raise interest as well as some capital so that I can hire a couple of skilled developers to help make Exothermic as amazing as it has the potential to be. Everyone is free to download the demo at exothermic.io My goal is to update it at least once a week, sometimes more often if I find a particularly egregious bug. I welcome all constructive feedback. I'm trying to create a tool that artists want to use. It's still very much a work in progress but I think with the help of the community we can create something special.

The Exothermic team

Interview conducted by Kirill Tokarev

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more