Face-Off: Assassin's Creed Unity
The Digital Foundry verdict.
A year after the launch of the new wave of consoles, the Assassin's Creed franchise has finally made its next-gen leap, leaving Xbox 360 and PS3 behind for good (though those consoles get their own game this year, Rogue). Developed using a radically upgraded version of the AnvilNext engine, the technology allows for hundreds of NPCs littered around the streets, while the exquisite building work across the cityscape is filled with incidental details and layered with realistic surface shaders. This is topped off with a global illumination system that mimics the way light bounces across environments in real life, bringing depth to locations throughout the game.
The scope is impressive, and the core visuals are stunning, but the journey into delivering a true next-generation Assassin's Creed title isn't completely successful. From a graphical perspective, pop-in is rife amongst near-field NPCs, with some characters appearing out of nowhere while others go through several jarring LOD transitions from just a few feet away. Performance is also flaky, feeling more in line with older Assassin's Creed titles as opposed to last year's Black Flag, which ran at a rock-solid 30fps.
In gameplay terms, effort has clearly been made to address issues that have plagued the series since the beginning: animations are smoother, traversal feels more fluid, and NPCs have a wider range of reactions depending on the player's actions. But at the same time these changes feel more like tweaks and enhancements to the tired existing mechanics, as opposed to the kind of radical overhaul expected from a next-gen début. Traversing the environment still isn't as smooth as it could be (characters still get stuck on scenery), and jarring transitions between animations still occur as players climb and leap their way across the beautifully rendered architecture.
For those content with the current formula of the Assassin's Creed games, Unity's refining of existing mechanics and dramatic graphical upgrades should go down well. However, far less welcome is the multitude of gameplay bugs and technical hitches that, at times, completely break the experience. (Not for everyone, mind; Eurogamer's reviewer Tom Bramwell experienced a relatively bug-free run through the game on PS4, as he explains in this news story.)
Assassin's Creed Unity has its share of ups and downs then, with the flaws preventing the game from truly living up to its next-generation credentials in all areas - but how well does the experience translate across the PS4, Xbox One, and PC? Are we really getting the full high-end graphical package on consoles, or does the PC allow us to take things a few steps further? Let's start by taking a look at image quality between all available platforms.
Alternative comparisons:
Assassin's Creed Unity runs in 900p across both consoles, sacrificing the raw clarity and additional sharpness of a native 1080p presentation for massively increased detail levels and vastly superior effects work. Anti-aliasing seems to be covered by a variant of FXAA, instead of the custom SMAA solution seen in Black Flag. As a result, the combination of the upscaled framebuffer and the anti-aliasing algorithm adds a considerable amount of blur to the image for a 900p game. However, the good news is that jaggies are kept in check and the core upgrades in texture quality and environment detail still manage to shine through, even though they aren't quite as sharp and defined as we expect from a new generation release.
On PC, native 1080p (or whatever resolution you desire) is assured and we also have a wide selection of anti-aliasing options available to tailor the experience to suit your needs. Running with 4xMSAA in our captures, the resulting imagery is considerably sharper than on console, with fine detail appearing more clearly in the distance. It's a big step up from the 900p presentation on PS4 and Xbox One, although the use of multi-sampling has some unwanted downsides. Some edges are left with unsatisfactory coverage, actually resulting in more shimmer than the post-process alternative.
Instead, we actually find that FXAA works a lot better overall, smoothing over the most obvious jaggies across the scene while taking up far less GPU resources, although texture quality and raw image sharpness is compromised to some degree. The Nvidia-only TXAA provides the best coverage of the lot, but the effect is as demanding computationally as 4x. On top of that, the blurring effect is sometimes even stronger than FXAA, meaning that utilising it does involve something of a trade.
In terms of general graphical quality across the PS4 and Xbox One, it's clear that Assassin's Creed Unity is a match in this area. Barring changes in lighting due to differences in cloud coverage and weather - which completely alter shadow placement and how scenes are illuminated - effects work, character and environment modelling and the core artwork are all identical between consoles. Both versions suffer from obvious pop-in of mid-distance NPCs, along with noticeable LOD switches across buildings and characters as we move closer to them.
What's interesting is that characters pop out of thin air from several metres away while dozens of NPCs are still seen far off into the distance. It appears that UbiSoft wanted to maintain the appearance of a populated world while still using the benefits of LOD transitions to make some performance savings. The same phenomenon also occurs on the PC version when running at the highest settings, although switching between detail levels is less aggressive than on console, and higher resolution textures are deployed on NPCs in the distance.
If you have the hardware capable of running at a stable frame-rate, the PC version of Assassin's Creed Unity provides the most graphically accomplished representation. Maxing out the game in every area, along with selecting HBAO+ and PCSS (percentage closer soft shadows) gives us a game that not only looks sharper than on console, but also features more intricately detailed artwork and better draw distances. These really allow you to fully appreciate the painstaking work gone into modelling every every inch of the city, inside and out.
Other PC-exclusive effects also come into play. HBAO+ gives buildings and characters stronger indirect shadow coverage when in the shade, which helps to keep these scenes from looking too flat - direct shadows are only cast by the sun, so disappear when in parts of the environment that are in the shade. Tessellation is also going to be added in a future update, which should an extra dimension to the rendering of tiled rooftops and cobblestone paths.
In comparison, the PS4 and Xbox One releases appear to operate with environment detail set to the very high preset on the PC, while texture detail and shadow quality closely match the high setting. SSAO replaces HBAO+, while tessellation is completely absent. Anti-aliasing also appears to be a close match for FXAA, displaying similar blurring characteristics and edge-smoothing properties.
These settings are not an exact match for the PC game, though: certain elements are improved or downgraded slightly on console, where Ubisoft has tailored the level of graphics quality to the memory and GPU resources available on both consoles. For example, LOD transitions are a bit more aggressive on the PC using 'very high' environment detail than on consoles, while texture resolution on some surfaces is a littler higher on the PC when using the 'high' preset compared to PS4 and Xbox One.
In terms of single-player performance, both consoles manage to achieve a near locked 30fps for extended periods of time during gameplay in more linear environments or scenes that aren't filled with expansive detail - even when there are copious amounts of particles and post-processing effects on display - suggesting that large numbers of NPCs and a CPU bottleneck are the causes of the major drops in smoothness we see elsewhere. However, when it comes down to general exploration of Paris and wading through large crowds of NPCs, performance is significantly impacted across both consoles, with frequent judder and heavy controls occurring as frame-rates drop.
In these situations the Xbox One delivers a small but tangible advantage, offering less visual stutter and a slightly more responsive gameplay experience, though one that remains far from perfect. However, the PS4 consistently outperforms Xbox One during cut-scenes, suggesting that a CPU bottleneck is the cause for the heavy drops in performance in demanding gameplay scenes. Even so, the beautifully rendered cinematics suffer from judder, which can ruin the mood of certain scenes.
Ubisoft issued a statement that advised players to run the game 'offline' in order to potentially improve performance, something we investigated in an update to our original Assassin's Creed Unity performance analysis article. Our results proved inconclusive when replaying the same demanding sections of the campaign online, but it appears that active co-op missions can indeed have an effect on the frame-rate.
Compared to the single-player mode, we see low frame-rates sustained for longer in demanding scenes filled with NPCs and environmental detail on both consoles when playing co-operatively online. These situations see the PS4 sticking closely to 20fps, while the Xbox One carves out 3-5fps lead. The experience is smoother on Microsoft's platform, but is hardly what we would describe as 'smooth' - judder and loss of controller response is a real issue on both consoles, regardless of which one gains a frame-rate advantage.
In less strenuous areas, frame-rates often hit a 30fps lock on the Xbox One, although the same experience doesn't translate over to the PS4 all the time, which still drops frames more often. Since we aren't dealing with scenes crammed with NPCs in these instances, it's hard to see what exactly is causing the PS4 to be hit so hard - the difference cannot be explained by the 10 per cent boost in CPU clock-speed on the Xbox One, perhaps suggesting that the underlying netcode issues are more to blame here.
Beyond the more regular drops in performance, there also a number of other frame-rate destroying bugs we encountered whilst playing co-operatively online. We should stress that these are isolated incidents occurring during gameplay, but based on the groundswell of crowd-sourced bug reports, it's clear that there are a lot of dissatisfied gamers out there encountering lots of problems.
Additional analysis:
On PlayStation 4, we ran into problems where sudden frame latency spikes would occur for extended periods, causing gameplay to stutter in a stop-start fashion - the issue here is that we are seeing 60-100ms pauses manifest during the action, easily noticeable when playing, and noted on our frame-time graphs (however, frame-rate is an average, so this stutter is smoothed out to a certain degree). Regardless, the end result is an obviously poor gameplay experience.
On Xbox One, we encountered a different issue entirely: a sustained drop in performance so bad that it could only be due to something going seriously wrong with the game's rendering code. The problem started after dying, with other players unable to revive our avatar - the reviving animation would kick in, but after it had finished we would just fall down and die again. After finally getting brought back to life a minute or so later we were confronted with truly horrendous sub-10fps frame-rates for an extended period, resulting in a stuttering mess of slide-show proportions. At this point, the game was unplayable, but we continued on to the next mission objective, and after a few minutes the problem subsided; the stuttering became less pronounced, but it didn't completely go away until we quit the session and returned to the main world.
We've only managed to encounter the 'broken' frame-rate bug once on Xbox One while playing co-op online, but it's worth mentioning that the frame-time bugs that impacted our PS4 online experience can occur more frequently. It's not exactly clear what is causing these issues to occur, but what is clear is that both single-player and co-op modes possess issues - ranging from minor glitches to major, game-breaking bugs.
The PC version of the game is far from exempt from criticism. In fact, in many cases, it's quite a bit worse. However, bearing in mind the lofty recommend specs suggested, it is possible to get a console-beating experience on relatively modest hardware. We paired a Core i3 4130 with a GTX 750 Ti, set PC presets to console equivalents (though we swapped in HBAO+ for a bit of a quality boost) and ran at 1600x900 (900p). In essence we pitted console-level PC tech against PS4 and Xbox One and found that the game ran fairly well. We locked frame-rate to 30fps using Riva Tuner Statistics Server and, cut-scene stutters aside, frame-rates held up in 26-30fps territory. Not absolutely perfect, but a slight cut above the Xbox One experience. Replacing the GTX 750 Ti with a GTX 760 allowed us to raise resolution to 1080p, but we noted that frame-rates were still low in certain areas - the Sequence 3, Mission 2 Notre Dame mission is a real stress test.
Overall though, first impressions of the PC version weren't actually that bad. The problem with Unity, however, is that while a decent enough baseline experience is possible on relatively low-powered gaming PC hardware, scalability is disappointing to say the least. Replacing the 3.4GHz Core i3 with a Core i5 turbo-boosting to 3.9GHz across four cores, we only gained around 10fps in the Notre Dame area when using the GTX 760, even at 900p resolution. Even with the i5 installed, we also found that the Radeon R7 265 and the R9 280 didn't quite deliver the performance of their direct Nvidia competitors - the GTX 750 Ti and the GTX 760. That's curious, as generally the AMD cards offer higher frame-rates on most other titles. More disappointing still, moving beyond these sub-£200 GPUs to more powerful cards didn't get us anywhere near to a locked 1080p60. Frame-rate fluctuates wildly between 40-60fps, producing a sub-optimal, inconsistent gameplay experience.
It seems that Assassin's Creed Unity has significant CPU optimisation issues. A locked 60fps is off the table and performance varies wildly, resulting in a poor presentation overall when frame-rate is unlocked, whether v-sync is active or off. The end result of this is that when the CPU issues lock up your system, your GPU stalls, waiting for data. In this scenario, we'd rather lock to 30fps where there is a certain degree of consistency in gameplay, and use the paced 33ms render time per frame to load up the GPU with as much effects work as possible. For example, Nvidia's percentage closer soft-shadows look pretty sweet - but they also consume a massive amount of processing power, as is also the case with MSAA and TXAA anti-aliasing. Normally we'd sacrifice those for a consistent 60fps lock, but without that option, settling at 30fps and piling on the bling is the best we can do with the resources available.
Assassin's Creed Unity - the Digital Foundry verdict
As things stand, Assassin's Creed Unity appears identical across both of the new consoles in terms of the core art and effects work, with these elements rendered to very high standards. Overall, the Xbox One delivers the better gameplay experience due to its ability to deliver higher frame-rates under load. However, this is something of a hollow victory. Performance is still far from ideal and impacts on our enjoyment of the game. Out of the three versions of Assassin's Creed Unity, it's the PC game that provides the best balance between graphical quality and an acceptable level of performance - but the unfortunate reality is that the game's CPU issues mean that a locked 60fps is off the table. It seems that the more processing power you throw at the game, the smaller the overall return.
But what does it take to get a good 1080p experience? We'd recommend a Core i5 quad-core CPU in combination with a GTX 760 for a good experience. In our tests, this allowed us to play at a pretty consistent 30fps (once the frame-rate cap was enabled), with full HD resolution, and some bonus graphical upgrades over the console game. However, during our testing, what also became clear is that the PC version is also the most unstable of the three releases - it's far more prone to error out and crash back to the desktop. At one point, it refused to work with any of our Nvidia cards bar the GTX 750 Ti, necessitating a complete driver re-install.
Overall, it's very difficult to avoid the sense that Assassin's Creed Unity was released in an unfinished state. On PC in particular, it really feels like beta code - feature-complete, but lacking in optimisation, with bugs manifesting regularly. On console, the game is more stable, but clearly performance is unacceptable - the frequent dips to 25fps on Xbox One are jarring enough, but it remains truly remarkable that the PS4 game should drop just as often to 20fps. Last year, Ubisoft had the courage to realise that Watch Dogs wasn't ready for release and pushed the game back. The end product might not have been a masterpiece, but we didn't encounter any game-breaking bugs and performance was generally solid. We can't help but wonder how long it will take until Assassin's Creed Unity is in the same state. There's certainly a long way to go yet.