Making an impact with framerate modulation

We want Zecha Tactics to look and feel like we’re actually playing inside some of our favorite mecha anime from the 80s and 90s. Cel-shading is a big part of this, but how we animate the mechs is another important factor. From the earliest phases of development, we’ve been iterating on the animation process for the game, making sure everything looks and feels just right. But sometimes things can go wrong in unexpected ways. Let’s take a look at one example where trying to replicate that anime style using a classic animation technique resulted in an unintended and interesting problem.

Zecha animated using framerate modulation.

To make the mecha movement in Zecha Tactics feel more impactful, we’re using an animation technique called “framerate modulation.” Commonly used in anime, framerate modulation is intentionally decreasing or increasing the framerate of certain parts in the animation timeline. Initially used in traditional hand-drawn 2D animation as a way to save time and cost by reducing the number of frames animators had to draw, framerate modulation also gives a unique quality to how animation looks. By holding some frames on the screen longer while shortening the time for other frames, the sense of both anticipation and impact increase, leading to more snappy movement overall.

However, framerate modulation is much less common in 3D games. Why is this? One reason has to do with a distracting strobing effect that occurs when the framerate of an animated moving object does not match the framerate of the camera that is tracking it. While this strobing problem can occur in both 2D and 3D, it’s much more likely to occur in 3D games where the camera is often programmed to track the player at all times.

A strobing effect caused by the animated Zecha and camera using different framerates.

An example of this strobing problem appeared in an animation we posted on our Twitter recently. This animation of a Zecha sliding into cover used framerate modulation. Even though the movement is more dynamic thanks to the framerate modulation, there is also a distracting strobing effect with the Zecha. Why is this happening?

To accentuate the sliding motion, we lowered the framerate of the Zecha to 15FPS at certain points in the animation, but the camera is tracking at a consistent 30FPS the whole time. So if you look at the animation frame-by-frame, it feels as if the Zecha is being pulled back every time it tries to move forward, creating a flickering strobe effect when viewed at full speed. Our Twitter community quickly pointed out the problem, and our animation team got to work to find a solution.

In this slowed-down version, it’s easy to see how the character appears to move backwards as the camera tracks to the right.

Because this issue is caused by the discrepancy between the character movement and the camera, we solved this problem by simply slowing down the camera’s framerate to match modulated framerate of the character animation. This way, we get to keep that exaggerated heavy feeling when Zecha moves without any jitter! However, a solution like this only works when an animator has full control over both the animation and the camera. This is one reason why it’s still rare to see framerate modulation used in a real-time 3D game with a freely moving camera – it becomes more difficult to control unintended jittering.

New sliding into cover animation. The camera’s framerate has been matched with that of the character

Even though we’ve encountered some early challenges with framerate modulation, we were able to identify the issues and address them thanks to our online community and animation team. Through making adjustments and iterating on our animations, we can continue to use this novel animation technique to help recreate that classic mecha anime feel.

Want to keep updated with all the latest developments on Zecha Tactics?

Sign up for the Zecha Tactics newsletter to learn more about our development stories.