Company Post

ed.creativecoder's Dopamine Detox Therapy

A few months ago we started noticing and really enjoying posts from the Instagram account ed.creativecoder. Each post felt like a complete, well-articulated idea, cleanly executed and very often quite funny. We became increasingly curious about the person behind this account and so got in touch with Eduard Krasilnikov. Based in Kazan, Russia and hailing from an IT background, Eduard explained that using programming to create art easily became a hobby for him in a deep dive into creative coding during the quarantine this spring. After trying different tools Eduard found TouchDesigner to be a perfect one for his needs but realizing he would also need long-term motivation to keep learning he found “a source of dopamine" in posting these creations on Instagram.



Derivative: Can you tell us a bit about your background?

Eduard Krasilnikov: I studied Computer Science at university in Kazan, Russia but I always had a great interest in drawing as well. So using programming to create art became a hobby for me. My path in creative coding started with Processing. I’ve made several interactive performances and taught a course about it in school. At some stage I reached the limit of what can be done in Processing in real-time 3D graphics and needed an upgrade.

Derivative: How did you come to TouchDesigner?

Eduard Krasilnikov: In the fall of 2019 Rashid, an art director and friend of mine, asked me to create an interactive performance. He wanted a dance visualization with Kinect to be made in TouchDesigner. It was an excellent opportunity to learn a new program that I had heard so much about. I accepted the challenge to implement the project in one month. I started with awesome tutorials by Matthew Ragan and Elburz Sorkhabi who made the learning curve easy for me. As a Java developer I had some bias against visual programming. However, I quickly got used to viewing the content inside nodes in real-time. What sold me though is the comparatively high FPS and how easy it was to make Kinect work. After some sleepless nights, I managed to make a good enough visualization in time. Since then I have been watching tutorials about TouchDesigner from time to time. I hadn’t taken it seriously though until the first lockdown in the spring of 2020.



Derivative: What happened during the lockdown?

Eduard Krasilnikov: You know, the pandemic situation is a stressful time. One morning I found myself spending 8 hours in video games during the night. It was at this moment I knew... I had to change something. Luckily, a few days later I found a YouTube video about Dopamine Detox. They taught that instead of adding things that are good for you, invert that. First of all you should remove the things that don’t let you use time wisely. So I quit gaming for 14 days which gave me a lot of spare energy. After a month I felt a need for creativity and remembered TouchDesigner. It was just the right tool to express myself and forget about stress.

Derivative: What is your motivation?

Eduard Krasilnikov: I decided to post my creations on Instagram and have a catalog for my future clients to pick from. So the posts had to look like finished projects with music and simple ideas behind. The moment of uploading a new project was my artificial way of long-term motivation and source of dopamine. During the process, I had to overcome my perfectionism, constantly thinking that the result is not good enough. The solution here is to have a deadline and move to another project after it. One project takes about 6 hours so I limited myself to a 3 days deadline. I announced publicly that I would learn a new thing and post the result regularly no matter what. It keeps me on my toes.



Derivative: Can you explain your process?

Eduard Krasilnikov: Sometimes I learn a new technique on YouTube and film myself playing around with some visual effects in front of the camera (example Untouchable). But usually, I like to experiment with audio responsive visualization. At first, I reacted to beats and snares but now I try to find ways to display the whole spectrum of sounds. I try to use royalty-free music and the search often takes quite some time (example Grass). My process starts with collecting ideas in a notebook. I can get inspired by a TV series or walking through the forest with my wife and son. Then I think of ways to implement the idea in TouchDesigner. If I am stuck, I look for some help in our Russian TouchDesigner community on Telegram. I always start working on a project after I put my son to bed at 10pm and finish after 1am if everything goes as planned. It rarely does. This one is dedicated to my son’s birthday:



I have a full-time job so I do my creative coding at night. Did you know that it takes 23 minutes to focus on the original task after an interruption according to studies of digital distraction? That’s why I like to practice deep thinking while everyone is asleep.

Derivative: Could you take us through the making of one of your posts, please?

Eduard Krasilnikov: The idea behind Human Particles was inspired by marching bands in halftime shows in Ohio. I was thrilled how a hundred people managed to play musical instruments while shaping images and letters in sync. I wanted to simulate the process with thousands of them. I came up with an idea of using Particle SOP, limit the movement with one plane and then instance the objects rotating to their velocity vector. But I couldn’t figure out how to animate the walking people and I didn’t want to model them by myself.



I postponed the idea and then one day my friend showed me his work with fully-rigged 3D characters. It turned out there is a free web resource at I downloaded a walking animation, reduced the vertex count in Blender, and exported the animation in Alembic format. I dragged & dropped it into TouchDesigner, specified the number of frames, and got a crowd of randomly walking people. To draw images and letters with human particles, I converted image TOPs into SOPs with Trace. Then I resampled it evenly and connected it with Particle SOP as attractors. So every time I change the input shape, my human particles move accordingly.

Derivative: So far have you encountered anything that TouchDesigner does not do that you need it to do?

Eduard Krasilnikov: I remember encountering a need for area lights in our latest collaboration project. Also, I’d like a more friendly move, rotate, scale tool for 3D objects. It would be nice to have ambient occlusion and reflections as parameters too.



Derivative: What’s next?

Eduard Krasilnikov: I don’t like to plan the future. COVID proved that everything can change in a moment. Besides, I noticed that all good things, like meeting my wife or getting an interesting job, happen unexpectedly. But anyway I plan to make my first tutorial video because I am so grateful for free lessons that I could get online. I feel obliged to contribute to the community and share my little knowledge.