Scattered thoughts from a man who thinks too much about too little.

Comparing Toy Story (1995) to Kingdom Hearts 3

I think it’s really interesting that so many people are using this as an example of how far CG has come. Firstly, because the image on the right isn’t necessarily better at all, and secondly because KH3 is far from the best example of CG rendering in video games.

An important thing to note first is that these two images are *not* the same resolution, which is rather important when making a comparison between two images of an object (even if the object in this case isn’t real). Also noteworthy is that, based on the compression and jagged edges in the Pixar version of Rex, I suspect that this frame is

From a lower quality encoding of the movie

Possibly from a shot in motion based on blur

Compressed due to being uploaded in JPG vice PNG, twitter is particularly noteworthy for it’s compression ranging from fine to atrocious.

If we look at Pixar’s version of Rex we can see some pretty fucking neat lighting effects going on which plays off of the sheen that Rex has from being a cheap plastic toy and additionally functions as a way to give more depth to the grooves and bumps covering his body.

Compared to the KH3 version, we see far less complex lighting going on and Rex has a flatter matte look to him. While there’s definitely care put into making Rex’s face seem bumpy, if we look at the rest of his body it looks far more like a 2D texture that’s just trying to look 3D. This makes sense since, for optimization’s sake, you want to put the most attention into what they player should be focusing on.

There is nothing wrong with KH3 looking this way, and it’d honestly be ludicrous to expect real time rendering at a Pixar level for a game like Kingdom Hearts. It’s important to keep in mind that the way video games are rendered are done in a different manner from CG movies, and the capabilities and features largely depend on what engine is being used. KH3 is reportedly using Unreal Engine 4 which, while looking pretty great and it’s definitely come a long way, isn’t necessarily the pinnacle and end all be all for high quality game renders. Besides which, peak potential quality and the current feasibly realized quality for consoles are not necessarily the same and will depend a lot on how skilled the studio working with it is.

Not trying to start an game engine war or anything but you should seriously check out the Crysis 2 DX11 Ultra Demo that came out a year before the UE4 elemental video previously linked did.

That leads me to my second point: Kingdom Hearts is not the best example of CG rendering in video games and it’s not supposed to be.Kingdom hearts has a very specific aesthetic it’s aiming for and it would be wrong to try and push some photo-realistic standard that would almost assuredly clash with the game the developers creative vision for it.

If you want photo-realism or advanced lighting and complex textures in your game then there are already a variety of options for you to choose from, such as the previously mentioned Crysis 2 demo. One of the best parts about video games as an art medium is the degree of variety and potential that exists for telling a story. It’d be a pretty short-sighted mistake to try and force some homogenization of visual styles in favor of peak graphical fidelity.

As a fun way to end this post, and in my opinion a better way to show the advancements in technology, I leave you all with an excerpt from an answer by Craig Good who’s a former Pixar employee.

Toy Story was originally rendered back in 1995, and to our best estimate probably had frame render times which averaged in the range of 4 hours or so. When we went to re-render it, we obviously didn’t want to be forced to use the same kinds of machines that we used back in 1995, so we made an effort to port the software that we used forward to more modern machines … The rendering provided an interesting test of Moore’s Law. Well, not the real Moore’s law, but the one that says that computing power doubles every 18 months. In 15 years, we’d get 10 doublings, which would make modern computers 1000x faster. Our original Toy Story frames were averaging four hours, which is 240 minutes, so we might naively expect that we could render frames in just 15 seconds. We didn’t really achieve that: our average render times were probably on the order of 2-4 minutes per frame (the original productions weren’t instrumented to keep accurate statistics on rendertime, and we never bothered to really reinstrument them to do so.)