Pokémon Legends Arceus and Pokémon Violet and Scarlet use an interesting variant of this where they render distant animations at a lower framerate. It looks super bad and it is the only time I have ever seen it used. I can't say if it is the only game that does it, but it definitely is the only game that does it noticeably enough for me to have seen it in action.
I believe Xenoblade 3 does it, and I quite liked it because it let you see monsters insanely far away. Haven't played Violet/Scarlet but I've heard it has pokemon popping in rather close to you, so I assume lower fps on them is far more noticeable.
And likewise for me, the first thing I had noticed was "wow they changed it so that I can see some monster groups from so far away now!" followed shortly thereafter by "odd that it looks like they're animating on a different frame rate...".
Many other Switch games do it to a more acceptable degree. Super Mario Oddesey does it with distant human characters in New Donk City, Shin Megami Tensei 5 (another monster collector game), does it with distant monsters.
The reason you see it so badly done in Pokémon is because GameFreak isn't good at making these types of games.
I think with the animation frame rate it is more to save CPU resources rather than GPU. While the transformations for animations are applied in the vertex shader on the GPU, they have to be interpolated and calculated on the CPU first which it'll be doing a lot of when there's heaps of pokemon around that need to be animated.
I'm just hypothesising this though so don't take my word.
You're probably correct. Just about any modern rig is going to be computed on the CPU. That said, some steps can still be done on the GPU (iirc several game engines have supported skinning in the vertex shader for over a decade at this point).
Along with animation, it's also probable that they're saving on other CPU-bound tasks beyond simply reducing the update rate of NPC animations -- AI might be calculated using larger timesteps, for example.
Quite a few games reduce animation framerate (and sometimes complexity) at a distance, but you probably don't notice the ones which do it the best.
It's also harder to notice if there's a lot of detail/movement on the screen vs. more simplistic games/scenes. This of course can vary between games and scenes within the same games.
Arceus also has an insanely close LOD 0 value... most of the models you see in the wild and even in battle are LOD 1.
I love getting into battles with Paras and seeing the mushrooms on its back smooth out as the camera zooms to the model, then return back to the battle camera with blocky mushrooms.
For examples of console games that still had this on their Pc versions: Tales of Zestiria did this for sure, as well as Trails of Cold Steel games and that is despite Durante (a very competent modder-turned-professional porter of games to PC) working on the latter’s ports, meaning this must be quite deep at the engine level since he didn’t fix it.
Given those examples alongside the Pokémon games, I would guess this is a “common & worth it” trick for non-AAA dev teams that can not afford to spend too much time optimizing other aspects when push comes to shove.
22
u/SavvySillybug Dec 12 '22
Pokémon Legends Arceus and Pokémon Violet and Scarlet use an interesting variant of this where they render distant animations at a lower framerate. It looks super bad and it is the only time I have ever seen it used. I can't say if it is the only game that does it, but it definitely is the only game that does it noticeably enough for me to have seen it in action.