Tech Analysis: Crysis 2 Demo

Can consoles run Crysis? It's a question Digital Foundry has considered on a number of occasions in the past, based on tech demo footage Crytek released showing its state-of-the-art CryEngine 3 running on Xbox 360 and PlayStation 3. The recent Xbox Live Crysis 2 multiplayer demo allows us to revisit this topic once more, this time with the benefit of being hands-on with live code.

Right now, it's safe to say that our findings are far from complete. The one level players get to sample is a multiplayer specific stage and doesn't seem to bear much relation to the campaign action we've seen of the game thus far. Crytek has also gone on the record to say that the demo is based on a build of Crysis 2 that is some weeks old, suggesting that a range of smaller changes will be made to the final game.

So while the sampler doesn't give us the kind of expansive overview of the tech that we'd like, it's still well worth further analysis and should give us some idea of progress since Crytek released its last tech demo just after GDC almost a year ago.

One of the key concerns on previous clips showing Crysis 1 or Crysis 2 assets within the CE3 framework has been frame-rate - as you might expect from tech where the underpinnings come from a top-end PC engine. On console, we've seen v-sync engaged and disengaged in various videos across a range of technology demos and not surprisingly, we've also noticed a large variance in the performance level. Reports on the recent Xbox 360 closed beta also complained about the fluidity of the gameplay, noting that the game operated with an unlocked frame-rate, adding further to a sense of fluctuating performance.

"We're looking at 30 [frames per second]," Crytek CEO Cevat Yerli said to VG247. "There's nothing below, nothing... I'm very happy the game works at all. I think the amount of push we have and the fact the game works like that puts me in a very happy situation right now."

While the old tech demos from the time Yerli made his comments clearly don't live up to his claims, this latest code gets very, very close indeed. The overall consistency of the gameplay in the demo is excellent, which is especially impressive when bearing in mind the advanced CE3 feature-set. The game is effectively v-synced, operating in a similar manner to Halo: Reach. Any torn frames are limited to the very top of the screen and are therefore virtually unnoticeable, although it's interesting to note that across the run of play Crysis 2 actually seems to be smoother than Bungie's last game based on what we've seen so far.

A montage of clips of the Crysis 2 demo, revealing a very solid performance level - something we expect to translate across to the full game.

There are other similarities with Reach, however. Native resolution on Xbox 360 is confirmed at 1152x720 - presumably chosen to make more effective use of the super-fast 10MB of eDRAM directly connected to the Xenos GPU. Again, just like Reach, high dynamic range (HDR) rendering is supported, so the chances are that Crytek opted for this framebuffer set-up for much the same reasons that Bungie explained in the recent Digital Foundry tech interview.

The parallels with Bungie's latest epic continue into other areas of image quality: Crytek has also employed a very similar anti-aliasing technique. Temporal AA is the process of merging data from the last frame into the current one, usually with a half-pixel offset on every other frame. The idea is that all the rendering time spent on the previous calculations isn't binned off in favour of fresh processing for the new frame. Since much of the new image will be very similar, it can be combined with the previous one in order to reduce edge issues and other forms of aliasing.

We discussed Crytek's innovative approach a while back, since it offered to bring something new to the table. Temporal AA has an issue whereby ghosting creeps into the image, especially on objects moving very close to the camera, or indeed any large, moving object. A CryEngine 3 tech demo showed an intriguing approach in using temporal AA for far-off detail, with an edge detect and blur on close-up objects.

The demo itself showed some excellent results:

In this technology demonstration we get to see Crytek's 'hybrid' technique for dealing with edge-smootihng - a combination of temporal anti-aliasing and edge detect/blur.

The implementation in the Crysis 2 multiplayer demo on Xbox 360 doesn't look quite so strong, however. Were it not for the edge AA being enabled in the demo's config file, it would be difficult to acknowledge it was actually in use at all, and it is clear that the temporal AA can incur some very obvious ghosting artifacts at a surprisingly close range.

Unlike Halo: Reach, we don't tend to see any kind of ghosting on the view weapon, but there are still issues with environmental detail - probably the most noticeable example is with the wind turbines in the Skyline demo, which stand in contrast in front of the skybox, emphasising the ghosting.

Mitigating the effect in places is Crytek's excellent implementation of object and camera-based motion blur. This may well be a 30FPS shooter, but many people have noted that the overall feeling of the gameplay is similar to Call of Duty. While all the COD titles top out at 60 frames per second, Crysis 2 runs at half the frame-rate but thanks to some swift response from the controller combined with the motion blur effect, the feeling is of a game that stands out from the 30FPS pack.

The temporal anti-aliasing in the Crysis 2 demo does a great job of edge-smoothing in static scenes but moving objects can produce noticeable ghosting artifacts.

That it should look so impressive shouldn't really be that surprising. The original Crysis on PC sapped resources on even the most powerful PCs at its loftier settings, but the implementation of the motion blur (especially in DX10 mode) helped in producing a look significantly smoother than the raw frame-rates would suggest.