Making high-end software like OpenToonz accessible
OpenToonz: Making high-end animation software accessible
Kostanstin Dmitriev is one of the pioneers making professional animation tools available for Linux users. His primary focus over the years has been the ongoing development of Synfig Studio, a 2D animation program. Konstantin has proven Synfig's power with the completion of his short film, "The Beautiful Queen Marya Morevna: Demo."
To help other artists and to promote his work, Kostanstin chronicled the progress of his animation on the Morevna Project. What started as a simple blog quickly evolved into a rich resource for anyone interested in using open source tools for animation.
The Beautiful Queen Marya Morevna: Demo | Morevna Project, CC BY-NC-SA 3.0
Recently, when I was visiting the Morevna Project, I discovered the Linux version of OpenToonz available for download. For those of you who don't know about OpenToonz, it's an open version of the software that Studio Ghibli co-developed with Digital Video and uses to create their breathtaking animations. In 2016, Dwango launched the OpenToonz project in cooperation with Digital Video and Studio Ghibli, opening up their code to users.
There was a lot of press and buzz on social media regarding OpenToonz in the animation community, so I was surprised and excited to see OpenToonz available to Linux users. Making high-end software like OpenToonz accessible to professionals and aspiring animators is exciting, but making that same software available on Linux makes even a stronger case for people to convert to an open system for their work.
I thought that I would reach out to Dmitriev and talk to him about his thoughts about supporting a Synfig competitor and what this means for Synfig's development in the coming year.
Photo of Kostanstin Dmitriev | Denis Kholodilin, CC BY 4.0.
Stephen Egts (SE): Are you still teaching animation? In the past, I know you have worked with young people, sharing your knowledge of animation, Synfig, and open source tools.
Kostanstin Dmitriev (KD): Yes, as part of my volunteer activities I am teaching offline animation classes at the local art school. This is a kind of testing ground for all free animation software developments made by my team. I have a group of 8 to 10 students ranging in age from 11 to 24 years old who are learning animation with free software. I provide free admission to the classes for everyone.
Kostanstin Dmitriev teaching a class. | Denis Kholodilin, CC BY 4.0.
SE: Being one of the lead developers of Synfig, why did you think properly porting OpenToonz to Linux was important?
KD: Well, first of all, let me clarify one thing: My team didn't actually "port" OpenToonz—at least on a code level. The hard work of porting OpenToonz code was done by Campbell Barton (who is well known for his contributions to Blender) and François Revol, with additional help from the community. Thanks to their efforts, it became possible to compile, and use, OpenToonz on Linux.
But when the actual porting was done there was only one way to run OpenToonz on Linux—to compile it from source. This is obviously not a comfortable option at all for many users. There were one or two custom binary packages, but they all were distribution specific (i.e., for specific version of Ubuntu or OpenSuse) and required to have particular libraries installed in your system.
So we decided to fill this gap and build a portable binary of OpenToonz capable of running on any Linux distro. This is generally not a trivial task, but I already had experience on making such binaries for Synfig. Also, I wanted to make running with minimal efforts possible, so it was decided to deliver it as an AppImage package.
This is why I feel "port" is not really correct word here. What did our team actually do? We delivered OpenToonz to Linux users.
SE: Yes, the AppImage installation process for OpenToonz was seamless and very easy to install. Do you see that as a path Synfig is going to follow when it comes to future updates?
KD: Yes. Right now, we're almost done with rewriting Synfig packaging scripts, so the next update will be shipped as AppImage.
Synfig interface | Image and Artwork by Anastasia Majzhegisheva, CC BY 4.0.
SE: Let me rephrase my initial question then. Many people would wonder why you would contribute to software that may compete with Synfig. What would you say in response?
KD: To get a better understanding of my reasons it would be best to rewind eight years and remember my initial motivation of contributing to Synfig and how I ended up as its maintainer.
My involvement began in 2008, and was heavily influenced by the concepts of the free software movement and was inspired by the idea of open movies as introduced by Blender Foundation. I was looking for a way to make my own open movie. Since I was a fan of Japanese animation, I wanted it to be hand-drawn in anime style (i.e., "not 3D"), so I was looking for a free tool for 2D animation that was capable of doing what I wanted.
I think it worth it to put a special emphasis here—my initial motivation was to create animation with free software.
So, I found Synfig. Of course, it was far from perfect—it had a clumsy multi-window UI, lots of important features missing, and it crashed every five minutes. But it had very good concept and according to my analysis, it was the most powerful open source tool for 2D animation. Back then I already had experience with commercial 2D animation software (Flash, Moho, Anime Studio, CreaToon), so I knew what was comparable. Instead of "just complaining" (™) about its imperfection, I started to do my own code tweaks, and this is how my contributions to Synfig started.
Marya Morevna, Episode 3.0.1 | Morevna Project, CC BY-SA 4.0
SE: Didn't you receive a grant from the Shuttleworth Foundation in 2013 Synfig's development?
KD: Although it was called a grant, it actually was more of a sponsorship, and I was free to use it for whatever I liked. At the time, my team was still suffering while working with the limited functionality of existing open source 2D animation tools, and it was holding my projects back. I then decided to hire a developer to work on Synfig. This is how Ivan Mahonin come to project.
Bringing Ivan onboard was a key decision. Thanks to this sponsorship and additional crowdfunding campaigns, with just one hired developer during 2013–2014, we made more progress than the previous seven years Synfig was open sourced. Working with Ivan made it possible to implement a single-window mode, port GUI to Gtk3, finish the bone animation system (with the support for cutout animation, image distortions, and vector rigging), add some sound support via Sound Layer, and add many more features and fixes.
Synfig: Tool for cutout animation
Since then, I have been handling all funding responsibility and acting as Ivan's coordinator. For many people, I have become a stakeholder of Synfig or as some used to say, "the man of Synfig." In fact, the scope of my work was a bit broader—besides my work with Synfig, I maintain the Papagayo fork and develop RenderChan, an automated build system for animation projects.
Synfig + Papagayo: A lip-sync tutorial
Managing animation projects with RenderChan
To sum up, my efforts were put into Synfig for one particular reason: I wanted a tool for 2D animation and Synfig was the most powerful and most promising open source software option. Period.
The key words here are it was. Since March 2016, we all have OpenToonz.
SE: Have you tried OpenToonz on projects with students yet? Has it been an easy learning curve? Do you have any examples?
KD: Usually, before I start teaching a tool to my students, I spend several months learning it and trying to use in my own projects. Right now, I am exactly at this stage. Still from time to time, I cannot hold myself back from sharing my discoveries, and some of my students have already tried the powerful vector drawing features of OpenToonz.
Drawings in OpenToonz | Anastasia Majzhegisheva, CC BY 4.0
SE: What would you like to see improved on OpenToonz?
KD: I haven't dug too deep, so I am apprehensive to complain about OpenToonz's existing shortcomings. Anyway, I will give it a try—it would be really awesome to improve bitmap drawing tools by integrating MyPaint brushes. There is even a bounty posted about that.
SE: Are you going to start developing OpenToonz for Linux or are you going to just be making AppImage updates that are pushed out for Mac and PC?
KD: It is possible that at some point my team will start contributing to OpenToonz code. At the moment, we have automatic builds that deliver all the latest changes from official OpenToonz code to Linux users. If at some moment we want to make some feature or fix, then our first step will be to submit a pull request back to the official OpenToonz code repository. However, as practice shows, merging pull requests can take weeks, even months. I can perfectly understand why, since I am managing the official repository of Synfig and deal with all these routines. While a pull request will be waiting for approval, we will ship a custom build of OpenToonz with our own fixes. That way Linux users will be able to test our changes before the pull request gets merged. This even can make the merging procedure faster. That's the plan.
Horizontal timeline in OpenToonz
Agnyy Ignatyev, Used with permission
SE: Do you think making OpenToonz available for Linux makes people think twice about adopting Linux as they operating system?
KD: I don't dare to make any bold statements here. Although I would say it another way: If a 2D artist or animation studio decided to migrate to Linux, it would be much easier to do now.
I think in the first place it changes the gameplay for the ones who already uses Linux; they have a really powerful animation tool now.
Before March 2016 all Linux-based 2D animation artists were starving for good tools. Now, suddenly, they have plenty of choices. There is OpenToonz with its powerful toolkit. Synfig still has an appealing simplicity for motion graphics and a fast learning curve with rich multi-language educational resources. Since September 30, 2016, Blender has featured Grease Pencil as what it calls its full 2D drawing and animation tool. And don't forget Krita, which is on its way to adding what it says are "interpolation and keyframing for layers and masks and their properties." For Krita this is surely a step beyond simple "frame-by-frame only animation" and should bring it on par with other full-featured animation tools.
Daniel M. Lara, Used with permission
Announcement of Grease Pencil on official Blender website.
Blender Foundation, CC BY-SA 3.0
As you can see, the competition in 2D animation software niche is getting stronger, and this is absolutely awesome to see.
Wolthera van Hövell tot Westerflier, CC BY-SA 4.0
SE: 2015 saw Synfig 1.0 and in 2016 we've got integration with Papagayo and a rewritten rendering engine. What developments do you see for 2017?
KD: In the near future, I plan to release a new stable version with all our developments from the past months. After that, I am going to invest some time into Synfig infrastructure. We already redesigned the Synfig front page and you can expect more infrastructure changes soon. Also, putting our efforts into bug fixing and iron out the current feature set is important.
SE: How are fundraising efforts going to support Synfig's development?
The idea is that a user can place a small reward (or bounty) for a bug or issue he or she wants to see addressed. Then the user spreads a word about the bounty to convince other users to join in and pitch the amount. In turn, the bounties attract the attention of developers as "most demanded" issues, and they fix them for a given reward. You can think each bounty as micro-crowdfunding, originated and driven by users.
You can view active bounties and submit new ones on the Synfig page at Bountysource.
Image courtesy of Bountysource.com, Used with permission
SE: How dependent is Synfig on donations?
KD: I think past years have proven that intensive development of Synfig is 100% dependent on donations. Right now, this is more true than ever. At the moment, we are completely without funds to handle an "on-staff" developer. This is why, starting in September 2016, all development activities of Synfig are Bounty-based.
To help Synfig development:
- Place a bounty for your favorite issue.
- Find relevant issue on Synfig bug tracker (or submit a new one if it isn't there yet).
- Submit a small bounty to Bountysource (as it was done here for a memory usage bug).
- Share the bounty link and convince other users to join and increase the bounty.
- Our (ex)hired developer Ivan Mahonin will be happy to fix the issue for you.
- Make a direct donation to support development.
- If you would like to support open source animation in general, you might consider to support efforts of my team via our Patreon page.
As part of our Patreon activities we are contributing not only to Synfig, but also to the Papagayo lip-sync software, RenderChan automatic build system, and now also OpenToonz. By contributing to our Patreon you can help us to make all them better.
Denis Kholodilin, CC BY 4.0