Raji: An Ancient Epic
I worked with Nodding Heads Games to bring Raji: An Ancient Epic to Android and iOS mobile devices
Premise: Raji: An Ancient Epic is an action-adventure game set in ancient India. A young girl named Raji has been chosen by the gods to stand against the demonic invasion of the human realm. Her destiny? To rescue her younger brother and face the demon lord Mahabalasura.
Work: The game was already completed and released for consoles and PC, but Nodding Heads Games enlisted Man of Motion to get the game ported to iOS and Android Devices. Specifically, we worked on the Raji’s long flowing dress and getting that ported to mobile devices. In the original game, her dress was accomplished with realtime cloth simulation through Nvidia’s Cloth Apex solver. However, Nvidia never released an iOS compatible module for Apex, so it could not be ported to mobile. After some research, Man of Motion recommended a decomposition method to bake her cloth-simulated dress to bone animation data. We developed a pipeline to facilitate this and ran all 250+ of her animations through the decomposition pipeline, and re-exported them to the game.
The pipeline allowed us to control her cloth artistically, so we could stop it from breaking during fast, snappy acrobatic moves she regularly performs in the game. The pipeline was fast enough that a small team of 3 ran through all 250+ of her game animations and baked cloth for them in only a week.
We also optimized the original Raji rig for mobile, removing 30 bones from her skeleton so that, when we added the additional cloth bones in, it meant there was the same number of bones as before; therefore no performance loss from this new feature.
How do you get smooth flowing cloth without any actual cloth simulation? You don’t. But, you CAN run a cloth simulation and then bake that to bone animation data, allowing your main character to keep her characteristic long flowing dress without the expense of running realtime cloth physics! Man of Motion created a pipeline that used Maya’s NCloth solver to simulate real cloth physics on Raji’s dress. We then cached it, and baked that out to a cloud of 30 bones.
Raji also regularly performs fast, snappy acrobatic flips, jumps, wallruns, and cartwheels in the game. These would normally spell doom for a cloth solver; if the cloth follows the model at all, then it would bunch up in unappealing ways. However, our pipeline allowed us to artistically control and constrain the cloth during these times. After the initial solve, we could catch when the cloth solver wasn’t performing correctly and go in and fix those areas up.
The pipeline also had to be fast enough to iterate through all 250+ of Raji’s ingame animations. A small team of 3 people were able to simulate cloth on all her ingame animations in about a week.