Face-Off: Kingdom Hearts 3 vs Toy Story
Have real-time console graphics finally surpassed Pixar's CG classic?
Toy Story: the first full-length computer-generated feature, and a revolution in animated film. In 1995 it was a landmark moment for cinema, but it also caused big waves in the videogame industry. Around the time of PlayStation 2's launch in 2000, the visual quality of the original Toy Story became a kind of benchmark, a lofty goal developers strived to hit in their games, even if it quickly transpired to be a vain pursuit. Sadly, there was nowhere near the graphical horsepower in PS2 to achieve such pristine image quality in real time. But two console generations on, do we now finally have the power to match - or exceed - the visual quality of Pixar's iconic movie?
Premiering at Disney's D23 expo, a new six-minute trailer for Square-Enix's Kingdom Hearts 3 may finally provide the answer. The setup is simple enough: Sora and friends are thrown into a new Toy Story-themed level, where really, it's hard not to draw contrasts with the original film - and indeed its more visually advanced sequels. It starts with the characters: Woody is a great example, and it's clear Square-Enix has gone to great pains to mimic the textures and geometric detail of the original model. It's uncannily close.
It's fair to say Toy Story is a more viable target to hit than more modern CG films. For example, it helps massively that the focus of the movie was on toys after all, meaning a PS4 in this case mainly has to render simple, undemanding plastic materials. The colour tone is basic, and even that reflective glossy layer on Woody shows up under light. It's a simplicity that made toys a perfect subject for a full-length feature project, back when CG animation was in its infancy. By extension though, it makes it all the easier for Square Enix to replicate these models on today's hardware - but crucially, now in real time.
In fact, you can argue that texturing is improved for the game. Look at Rex in Kingdom Hearts 3, and there's extra definition to the marks across his skin than what we had in the first film; a crisper appearance. Kingdom Hearts director Tetsuya Nomura has spoken at length about how Unreal Engine 4 helps with shading here, which translates to the main cast. Sora and the gang take on a slightly different appearance in the demo, matching the CG aesthetic of the new level. For the Toy Story universe, that equates to convincing new materials for their bodies; a more plastic sheen, with a Lego-style construction. It's a brilliant touch, and helps the cast fit right into a world with cleaner, CG lighting.
But it's not as simple as meshwork, textures and shading - nailing the quality of the film's animation is also essential. The original Toy Story demanded over 720 controls for Woody alone, to control his body, eyes, face and mouth, and much more for later sequels. Really there's no shortfall in Kingdom Hearts 3's animations efforts though. The attention to facial detail especially is on par with Pixar's efforts in one key aspect, with Woody's eyes switching focus, his eyelids batting down, and even his eyebrows moving to heighten his expression. Subtle inflections in eye movement are a secret ingredient to humanising any great CG character, and Kingdom Hearts 3 doesn't waver in matching the authenticity of the source material here.
The same attention to detail goes into the environments later in the trailer: a three-way split between Andy's room, the front garden and the Space Capsule arcade. Based on the source material, the demands on texturing are basic across all three, but a lot is done to push it beyond the original film in several key areas.
Impressively, there's evidence of improved materials and extra detail dotted around the room. Modern lighting effects like bloom are added to the window, highlighting a crucial advantage modern rendering possesses: dynamic lighting, global illumination, light bounce and a range of post-process effects that create an arguably richer result.
The primitive nature of original Toy Story's lighting makes matching its settings more achievable. Light sources were placed manually in the film, and shadows too, with no specular mapping to note at all on walls. Even ambient occlusion was used sparingly across the feature, causing visible dither artefacts under Woody's hat, for example - something refined and improved for its sequels. In other words, light and shade show a limit to Pixar's rendering technology in 1995, whereas Kingdom Hearts 3's engine enjoys effects like ambient occlusion, applied consistently, and at a much higher level of quality. The only part not fully replicated in the game is the glossy, varnished sheen of the wood floor. The first Toy Story uses this to reflect the cast, but it's missing in the game.
Looking to the garden next, the lighting model in Unreal Engine 4's influence is felt heavily. Everything has a sense of depth; with grass properly shaded across the lawn. In fact, each tuft of grass moves underneath Sora's feet dynamically, a big upgrade over the static, rigid foliage geometry of the film. The only aspect here which shows the limits of rendering in real time is shadow culling. PS4 isn't able to draw everything in at once, and so it staggers the detail level depending on Sora's distance to it. It's a technique film-makers can easily brute-force past, but a commonplace drawback in complex 3D games with large areas - often to save on GPU resources. Implemented well, and you won't catch it, but the pop-in on display in trailer, again, reminds us that this is a real-time presentation with a strict per-frame rendering budget.
Kingdom Hearts 3's effects pipeline also deserves some credit here. Leaning on Unreal 4's native feature-set means Square Enix gets a host of great options out of the box, and high quality motion blur is among them. This demonstrates a big upgrade over the actual film - which used relatively few samples, with break-up and dithering on the blur trail. Fast forward to Toy Story 2 or its sequel, and it's clear that this is an area where Pixar radically improved matters, with a smoother result using more samples - more in line with Kingdom Hearts 3's presentation. It's a sign videogame post-processing has well and truly surpassed the efforts of the first Toy Story. Depth of field is another example; it works brilliantly in Kingdom Hearts for close-up shots in Andy's room, and surprisingly, used more aggressively in the game than the film.
After 22 years, the question remains: have we finally reached the point where real-time rendering on a console surpasses the quality of the original Toy Story? Kingdom Hearts 3 gives an encouraging answer, but clearly the film can't be matched in all areas. The fact is that image quality in the movie is still on another level - even though the game resolution is technically higher. Kingdom Hearts 3 renders at a native 1920x1080 based on this trailer, while Toy Story originally rendered at a lesser 1532x922 resolution back in the day (though worth stressing the film was re-rendered for its Blu-ray release at an unknown resolution).
Pixar staff have previously explained that the firm used multi-sampling anti-aliasing, with an extra pass blur filter, leaving zero jagged edges in the final rendered output. Multiple filters and blurs are applied, all of which worked well with the source material. It still looks great, but in Kingdom Hearts 3, we're looking at a native 1080p image with anti-aliasing that doesn't filter every stair-step. There are gaps in coverage and flickering points on lighter edges, all of which reminds you it's ultimately still a game.
Pixar's brute-force offline rendering approach for Toy Story made this possible, with a staggering level of compute power thrown at rendering the movie. Toy Story required 117 PC workstations to render each scene, with a single frame sometimes taking up to 30 hours to complete. That's in a feature running at 24 frames per second, to create a full 80-minute feature. The rendering time is astonishing, and it's still the case with modern CG features like Frozen. And yet, with the GPU available power on PS4, it's pushing out results like this at 30 frames per second - with a per-frame budget of just 33 milliseconds.
All this is the fruition of the move to new technology: more advanced hardware - and of course, smarter rendering software in the form of Unreal Engine 4. Even if image quality does fall short, CG-style results like this just weren't possible on earlier Kingdom Hearts titles on any previous console hardware.
The closest we got were levels based on live-action movies like Tron, or Pirates of the Caribbean in the second Kingdom Hearts - but even there, these levels use a style similar to traditionally animated features, to sidestep the need for more realistic materials. Today, we have an example of a true computer-generated feature making it into the series, and the fact is, it comes scarily close to the real thing.
This blows open the prospects for more Kingdom Hearts worlds based on CG properties. Already we're promised others, like Big Hero 6 and Tangled, but it's fitting that Toy Story is shown first, as a proof of concept. It works, and we're looking forward to seeing how other worlds hold up to the source material once the game arrives. In general, the D23 trailer gives us an answer to an age-old question: yes, we do have the hardware to hit Toy Story grade visuals - sometimes better, and at times falling short. Maybe with extra GPU resources spent on techniques like supersampling and pushed out LODs, we could get past the issues we have in image quality, and get an even closer match to the CG look. But for now, the results from the D23 trailer are already close enough - the comparison demonstrating just how far we've come. Can it match Toy Story 3 though? To put simply - no chance. But it's always good to have a further target in fidelity to aim for.