Tech Analysis: Final Fantasy XIII
How the game changed from demo to PS3 retail, and what we can infer for Xbox 360.
Four years in development, Final Fantasy XIII is one of the most important games Square Enix has ever released. It's the first game in the mega-selling Final Fantasy RPG franchise to arrive on PlayStation 3 and next month, with the game's debut in the West, Final Fantasy will transition into a cross-platform franchise, arriving in-store simultaneously on both PS3 and Xbox 360. We'll be covering the 360 version of FFXIII in due course, but for now our focus is on the Japanese version of the game, released at the tail-end of 2009.
Of course, this isn't the first time we've laid eyes on Final Fantasy XIII. Last year Square Enix released a playable demo for the PlayStation 3, bundled in with the Blu-ray movie release of its Final Fantasy VII: Advent Children CG movie. We took it to pieces and speculated on how a game so clearly designed for PS3 and its 50GB Blu-ray capability could work on the DVD-fuelled 360.
Over and above the storage issue, there were a lot of questions raised about the game based on the performance of the demo: maximum level-of-detail models for the characters caused the engine to drop frames, but more impactful to gameplay frame-rates were the numerous full-resolution alpha buffers seen in the most spectacular attacks during FFXIII's battle sections.
Both PS3 and Xbox 360 have bandwidth issues while handling transparent textures, but the Microsoft hardware contains on-die memory with ultra-fast throughput designed to mitigate the issue. The PS3 doesn't, requiring more ingenious solutions. This raises the possibility that, storage aside, the 360 version could potentially exceed the performance of the PS3 version in alpha-heavy situations.
The arrival of final retail code allows us to pit the full game up against the demo. Has performance been improved in line with Square Enix's promises? We still had our old captures of the demo archived deep within the bowels of the Digital Foundry backup system, so the videos were exhumed and put up against fresh captures taken from our shop-bought copy.
It's interesting to note that frame-rate is more sustained in the troublesome areas where multiple alpha transparencies are in play, making gameplay in the all-important battle sections smoother than in the demo. The retail version is closer to sustaining 30 frames-per-second for the most part, but you'll note that close-ups on maximum LOD renditions of the FFXIII characters still invoke something of a hit on the frame-rate.
Perhaps surprisingly, FFXIII in retail form still retains the full-resolution alpha buffers, and it is interesting to note that these still cause the game some issues - but the impact is definitely lower than it was before.
While the overall look of the game is similar between the two versions there are many little tweaks. Self-shadows, and perhaps the types of light-sources causing them, have been either added or taken away depending on the scene. Shadow filtering generally has improved a great deal. The light shafts emanating from female lead Lightning at 00:15 in the video look smoother. Light blooms are brighter, don't bleed so much and generally look less harsh. Texture filtering has also been tweaked: at 02:20 it seems to have taken a hit compared to the demo code, but looks a whole lot better later on at 02:58.
Also check out some of the smaller changes the FFXIII team made to the characters themselves. The band on Lightning's arm now sports a normal map, while the back of Snow's jacket now features some smart normal-mapped logos that were absent previously.
Small tweaks, improvements and performance boosts aside, the base essentials of the engine remain the same when comparing demo to retail. Final Fantasy XIII renders at 720p with 2x multi-sampling anti-aliasing (MSAA), while the CG movie elements appear to be sourced at 1080p, meaning that it is one of the few upscaling games that won't automatically drop down to 720p mode when you load it.
Since most of the time the game is running in 720p mode, it's only fair to show off the quality of the upscaling on the gameplay sections, showing like-for-like shots. If you opt to see the CGI elements at full 1080, you'll need to use the game's in-built scaling the rest of the time. FFXIII produces a generally clean image which blows up nicely.
One of the most noticeable compromises seen in the original demo has made it through to the retail version: an effect known as Alpha to Coverage. Rather than render a complete, seethrough texture, A2C utilises an interlacing style effect instead. Exactly why Square has utilised it here remains unknown, but it is safe to say that it is performance-related, and that it all comes back to the notion of those performance-sapping alpha buffers.
Essentially, transparent elements in characters' hair are rendered using A2C, and it's used for all types of facial hair (eyebrows aside) right down to the eye-lashes. It can be a fairly ugly effect, but the implementation in FFXIII allows for the layering of hair, all of which is animated, adding a lot more "life" to the characters.