14 years ago, Batman: Arkham Asylum surprised everyone with it’s animated cape. It was the first time a game had such convincing cloth movements. How Rocksteady pull off this feat and why so little games have reused the same approach ?

In video games, fabric is a special type of object. It’s a mix between a particle system and a mesh. Each vertex has unique properties (speed, position, etc…). But they affect each other to respect elasticity constraints.

If a corner of a fabric is pull then the vertex moving will propagate part of its speed to its neighbours which will do the same with their own neighbours and so on. Due to this particular behaviour, it is really hard to animate fabric manually.

Schéma montrant les différences entre mesh, particules et tissu.

In 2009, cloth animation was mainly done manually or pre-calculated. The animator had to take into account the precise context in which the animation would be played out, to create realistic and convincing movement.

For Batman, animations were pre-calculated. The animator chose physical parameters for the cape (weight, elasticity, etc.) and ran a simulation with Batman wearing the cape and making movements. He would then retrieve the animation calculated and put it in the game.

The difficulty with a fighting game like Batman is that there are so many different situations. 700 animations were created for the cape alone! 😱 It’s a titanic task for an object with such varied deformation possibilities.

The Rocksteady team accomplished quite a feat at the time. The cape adds an enormous amount of dynamism to the battles, making them a pleasure to play, as well as being visually satisfying. No doubt this contributed to the game’s success on release

Extrait de Batman Arkham Asykum - Freeflow Combat

If very few games today dare to invest so much in pre-calculated clothing animation, it’s because it’s costly and risky. If situations or character design change, all the animations have to be redone.

After Asylum, Rocksteady chose a different approach for Batman: Arkham City. Taking advantage of the Nvidia Apex Cloth engine, they used real-time simulation. Thanks to this, the cape and other clothes in the game react dynamically to their environment.

Batman Arkham City Slide

Real-time clothing simulation is expensive in terms of performance. For a long time, it was reserved for the big productions (TLOU 2, Spider-Man, Fifa, etc.). But thanks to the power of today’s machines and advances in Unreal Engine/Unity, its use is becoming more widespread.

How do we generate realistic movement in real time? How are collisions with other objects handled? If you’re interested in the subject, I’ll explain it all in a more complete and deep article ⏬