Optimization plays a big part, the dream is everyone playing the game at good frame rates even on low to medium range devices.

Due to the linear nature of the gameplay, static meshes used in the environment can be simplified, by removing the back faces of the object that will never be seen by the camera, not only allows the façade to have extra details, but also more UV real-estate on the texture.

We settled for roughly 5 to 6k triangles for the main characters, and a not too high bone count, enough for some basic facial expressions. At least for this render path, the performance was excellent.
If you’re able to fully control what gets shown when on the screen, you can take the model and bone count a step even further.

In our case, the dragon character was made up of 10k triangles and 116 bones, so we set up the shots to include him when the camera faces only one block of town, or only the sky, otherwise there would have been a noticeable difference in performance.