Dead Cells: Using 3D Pipeline for 2D Animation
We can say that the motto of almost all indie developers is “Big dreams with limited resources”. When I started working on the first Motion Twin game for Steam Dead Cells , this phrase became my motto.
My name is Tom Vasser, for a whole year I was the only artist of Dead Cells . I designed and animated every aspect of the game. Alone, I had to create a graphic style, characters, monsters, animations, special effects (FX) and most of the backgrounds of Dead Cells ... So far, fortunately, my evil twin brother Genel Massa did not come to my aid . The number of artists Dead Cells has doubled.
However, the lack of workers in our sector is a frequent situation, so I will tell you how I managed not to go crazy, working alone all this time (of course, if I have not died yet and it is all not an illusion).
3D pipeline for quickly creating high-quality animations and new models
I started by drawing a very simple sheet of models in the style of two-dimensional pixel art, which I then used as the basis for creating a character and its skeleton in 3D (using 3DS Max), and then imported it in filmbox format. The 3D models were very simple and they would most likely make the eyes of any experienced 3D artist bleed.
But if the character’s growth in a game is only 50 pixels, then a waste of a heap of time and energy on a 3D model does not seem to be particularly effective.
Especially for this task, we developed a small self-made program, rendering the mesh in a very small size and without smoothing, thanks to which we achieved a pixel style.
Now we need to teach the model to move. Dead Cells animations , like 2D animations, are based on keyframes. After the animation becomes convincing with as few frames as possible, I add interpolated frames between the keyframes. That is, our attack animations are essentially posture animations, and we use VFX to give them a sense of movement, strength, and power.
At this stage, most of the work has already been done. We export each frame of the animation created using the 3D skeleton to .png along with its normal map, which allows us to render the volume using the simplest toon shader.
Exporting the entire animation as a sequence of frames allows us to use one or two blend modes that enhance the animation effect.
Of course, gameplay programmers never manage to do anything right the first time ... They constantly change approaches. Although in fact it should be. In my case, the reworking process was fairly simple and took little time. If you have problems with timings, they can be eliminated by moving keyframes on the timeline. You can also easily change the position.
Suppose this weapon turned out to be too powerful, and we want to slow down the attack animation in order to weaken it a bit.
To please the programmer (and myself, because I don’t have to throw away all the work done), we just move the keyframes and change the position according to the new timings.
Actually, all these modifications as a whole took less time than creating a GIF for an article, but maybe I’m just not very good at working with GIF.
This 3D workflow also provides two significant advantages over the more traditional 2D process. Firstly, if we want to add new elements to the old model, for example, armor, then it turns out to be very simple to do. It is enough to attach the corresponding part to the 3D model.
But the real advantage of 3D modeling lies in the ability to reuse old resources created for previous sprites to work with new characters (in our case, these are mostly monsters).
This is probably the most useful little trick in our workflow, which allowed me to save hundreds of hours of work.
Why do you need it?
We all like hand-drawn pixel animation. But I worked completely alone, I did not have the skills of drawing by hand, and thanks to the applied tricks of the game, I did not have to wait until the next decade.
I got into the video game industry in 2008, I worked on casual and F2P games for several years, which were never published, in a French company that no longer exists. I started painting pixel art only in 2013, when I was hired at Motion Twin, where I worked on five games: Brutal Teenage Crisis , Green Witch , FAFI 360 , Uppercup Football and Monster Hotel . I would be very surprised if you know at least one of these names.
To explain the context, I will say that when we started the development of the first iteration of Dead Cells in 2015, this was my first project of this magnitude. I can admit without shame that I was not (and still am not) an experienced animator and to this day I feel like a newcomer to pixel art. Looking back, I can say that this very well influenced the resulting style of Dead Cells , because I never felt limited by conventions and traditions of the style of "old school pixel art."
To cope with the lack of resources and to achieve the required level of quality, we had to look for a process / pipeline / anything to produce beautiful pixel art without drawing it manually. We sought to create a quality game without spending an unreasonable amount of time and energy on the development process.
From an artistic point of view, we needed the following:
- Many different backgrounds with beautiful lighting and decorations.
- Powerful animations that give the fight a nervous feeling, similar to the games in the style of beat'em-all.
- Heaps of hideous monsters.
- Abundance of weapons that affect the style of gameplay.
The above process of working in 3D for Dead Cells was actually based on a different project. In 2015, Mathieu Capdegel (one of the developers of Dead Cells ), Yoan Laulan (also working on Dead Cells in the position of sound engineer) and I teamed up to participate in Ludum Dare 32. As a result, we got the game ScarKrow , or rather, made in 72 hours the prototype of the game. He became the first evidence that we want to create a fast and brutal platformer. However, it took me too much time to draw high-quality animations in Flash, and the results obtained did not meet our expectations.
However, at that time we already saw some potential in this concept, and Motion Twin has always been a company in which experiments are always supported, even if nothing comes out of them. After Ludum, we spent a good three weeks developing ScarKrow, and even then I realized that I could not keep up the pace, working in the traditional mode.
Inspired by the King of Fighters , Blazblue , and later the last Guilty Gear , we decided to do mostly 3D animation. This method gave us the following advantages:
- No need to redraw every frame
- The ability to use one animation for different models
- Automatic generation of interpolated frames for smooth animation
- Quick and easy rework to match gameplay animations.
Thanks to this workflow, we managed to achieve 30 FPS in animations and save a lot of time. If you want to see how it works, then the prototype can be downloaded for free from here .
To use the same process in Dead Cells, we had to solve a couple of problems. First, for ScarKrow, I had to draw shadows in all frames manually. We managed to avoid such a costly process by creating a lighting system that takes this factor into account. In addition, Dead Cells , unlike ScarKrow, was a game in the style of pixel art, so we had to create a tool for “pixelation” of characters. We knew beforehand that it would be useful, because we had allowed ourselves to experiment with this in the past. That is why I recommend you to experiment.
In retrospect, it turned out that the most important advantage of such a process was the simplification of work on alterations. Dead Cells powerful and nervous battle system is the foundation for all other mechanics. In previous projects I worked on, we created a traditional hand-drawn animation that we couldn’t alter after it was completed. There was simply no time left. And this greatly affected the gameplay of the finished game. Changing the speed of the animation in the code did not solve the problem.
When creating a new weapon in Dead Cells, we can literally change dozens of animation timings in a couple of minutes. And we can take into account the opinion of the community of fans of the game, regardless of the time it takes to make changes.
Of course, the process of working with 3D-models has its own drawbacks. We had to look for a way to render a 3D model in a low resolution pixel art. We solved this problem by using cell shading techniques when rendering models in low resolution and without applying anti-aliasing, but we didn’t manage, for example, to solve the problem of flickering pixels. Yes, we can eliminate them manually, but the whole point of this process is speed ... and we prefer to spend time on concept design! I was always annoyed and will be annoyed by the poor quality of the parts, but we decided that the most important thing is animation, and we take all the responsibility for our choices. Movement is the main thing.
I hope this is a brief description of our Dead Cells animation process.will help you in the following projects. But the most important lesson, I think, is not in the details of our work, but in the fact that a well-thought-out workflow can bring success to a project.
Even in spite of the fact that our choice was mainly dictated by the lack of resources, I now realize that thinking through the optimization of cost / quality is the most important process at the beginning of a new project, regardless of its scale.