Saturday, 8 May 2010

Tech Analysis: Halo Reach Beta

You may remember that we did an initial tech analysis on some of the first in-game screenshots of Halo Reach way back in February, in which we discovered that the underlying engine behind the game had been completely reworked, and overhauled in such a way, that there was a large noticeable jump in quality over both Halo 3 and ODST.

Certain things still eluded us however, such as the game’s final rendering resolution, or whether or not Bungie could still afford to keep their trademark high-end HDR lighting system firmly stamped in the final build. The beta we said would finally be the place in which we could get a tangible look at the tech behind the game. And so today at IQGamer that’s exactly what we’ll be doing, ripping apart the engine behind Halo Reach and revealing just how far it’s come from its early Halo 3, and original Xbox beginnings.

The first thing to say, is that the engine powering Halo Reach is more of a giant evolutionary step forward rather than a brand new revolutionary driving force. That said it is a vastly superior beast in every way shape and form compared to the engine used in the previous two games. Boasting numerous improvements, from rendering resolution, texture work, lighting, shader effects, and character modelling, everything has seen an overhaul. Some areas have only been subtly enhanced, while others have been completely changed, making for not only a large boost in image quality, but also a smoother looking game as a result.

One of the main complaints in Halo 3 and ODST besides the lack of any anti-aliasing, was the game’s sub-HD rendering resolution. Both titles rendered at 1152x640 in a dual framebuffer, which came together to form the final 640p image. For Reach Bungie have upper the game’s resolution, albeit ever so slightly, just enough it seems to be able to be loosely qualified as 720p. Reach basically renders in 1152x720p, keeping the horizontal resolution the same as Halo 3 and ODST whilst upping the vertical res - which is the one that the human eye is most sensitive to, thus the most important to increase.

It is also likely that the developers opted for this 1152x720p resolution in order to keep the framebuffer firmly fitting into the 10MB EDRAM, which is something that seems to be a priority for Reach. Even with all the enhancements and additions made to the game engine, they still want to avoid tilling.

In addition to this increase in resolution, Halo Reach also retains the unique HDR lighting implementation from the last two games. The effect has been reduced somewhat, appearing to be of a slightly shorter range compared to the ultra wide range lighting on offer in the last game. However it has been bolstered by the use of far more local lights, and a brand new differed dynamic lighting system featuring dozens of individual lights on screen at once.

This new lighting system means that there can be upward of thirty or more light sources on screen at once, given off via weapons fire, explosions, and environmental lighting, such as the glow given off from lights inside buildings. All of these light sources are real-time, and interact with their surroundings. So a gunshot, or rounds from a Needler will light up surrounding areas, and change the shadows created by moving objects. Each individual projectile from the Needler also has its own light source, as do many other projectiles in the game, which is a first for the series and is exactly what you’d expect from next-generation lighting techniques.

Shadowing is a mix of pre-baked and dynamic. All the environmental shadows in the game are baked shadow maps, stationary and un-reactive. Moving objects however, are given the proper real-time treatment, with full dynamic shadows to complement the use of multiple light sources in the game. Shadows on these react to both other objects and the environment, with neighbouring light sources affecting how they are displayed.

SSAO (screen-space ambient occlusion) is also present in the beta, though it is only visible on indoor areas, and isn’t used anywhere else. It’s implementation is pretty much artifact free, and blends almost perfectly with the baked shadow maps in the dark areas which use it. Bungie had originally stated that it wouldn’t feature in the beta, but clearly, its here for all too see, if very subtle at this point. We expect that the use of SSAO will extend to the outdoor areas in the final game, if only for the single player campaign.

In terms of texturing, detail, and filtering, Reach has seen a massive improvement over Halo 3 and ODST. Texture detail has been significantly increased, with better use of normal and environmental bump mapping creating a depth and detail that simply wasn’t there before. Texture filtering, one of the main complaints with the last two game, has seen a huge boost. Reach uses what looks like a combination of anisotropic (AF) and trilinear (TF) filtering for all of its textures, meaning that detail is now visible for longer distances than before. You can see this at work in the screenshot below.

The other main complaint from the last two games, the lack of any anti-aliasing, has also been approached, though not completely dealt with. Reach uses a form of AA known as ‘temporal anti-aliasing’, which works by blending two separate frames together whilst combining them during a time delay, creating a 2xMSAA look on certain objects and geometry when the game isn’t moving. However, the down side is that when there is any movement this form or AA causes a distinct blur effect, not unlike the motion blur encountered on a old LCD TV, and one which is highlighted by the game’s use of a post process motion blur effect.

Also, another downside is that certain objects, such as the 2D foliage, aren’t affected by this form of AA, leaving them with noticeably jagged edges. This doesn’t blend in too well with parts of the game that do benefit from the temporal AA, and just showcases another problem with using this technique. A proper MSAA solution would have been far more beneficial, though Bungie would have then have to use tiling to fit the framebuffer into the 10MB EDRAM.

Despite these issues, Reach in beta form is still a great looking game, and features some impressive high resolution particle effects, debris at lower resolution, good use of transparency effects, tessellated water, and a nice bit of bloom lighting to top it all off. The whole visual range feels a lot more organic than before, even with the Halo series’ typically clean lines and smooth industrial look.

All this is backed up with an accurate post-process motion blur effect, one that is even more impressive than the one created by Namco for use in the PS3 and 360 versions of Tekken 6. Reach’s motion blur technique, like in Tekken 6, works on an individual object basis, and is incredibly accurate. Unfortunately, it so obviously interferes with the temporal AA used in the game, creating some unwanted ghosting and being pretty intrusive when you least want it to be.

Like with Halo 3 and ODST, Reach aims to maintain a constant 30 frames per-second at all times, without breaking the v-sync that’s in place. Occasionally it does do this creating some mild screen tearing, but this is usually relegated to one or two frames appearing at the top of the screen. The game does slow down however, mainly in busy scenarios, but that scarcely seems to affect the amount of tearing that appears to any great extent, meaning that the v-sync is working as it should do.

In many ways Halo: Reach is simply using the backbone of the previous game engine, reworking and enhancing it along the way, using it to blend in new graphical improvements with tried and tested old ones. At the same time it still manages to work in the tight constraints of the 360’s EDRAM. Not so surprisingly we don’t get a proper 720p (1280x720) rendering resolution, or multi-sampling AA. However the game’s cleaver new LOD system allows the screen to be filled with dozens of detailed objects and light sources, whilst retaining most of the HDR lighting from the last two games, and still include some excellent texture filtering.

So far the multiplayer beta has certainly impressed, especially with its use of effects that we thought would probably just feature heavily in the single player campaign. Instead Bungie have seen fit to try and include all of the technological improvements the revised engine has to offer for both single and multiplayer modes. The game is clearly visually superior to its predecessors in nearly every way, minus the blur caused by the AA, and still has a good couple of months to go before its done and out the door.

It should be interesting to see just how far the main campaign has come along, and whether they have managed to further improve on the foundations laid down in the beta. Certainly, what we’ve seen today looks better than the early screenshots of the single player gameplay, and no doubt that the final code will look even better. How much better though, will largely depend on how much they insist on pushing the engine for the multiplayer side of things.

All things considered, Halo Reach looks like every bit the next-generation Halo game that it predecessors should have been. Of course, the sparse slightly bland look that comes with the Halo universe isn’t going to go away. After all, that IS the look and feel of the series. But at least, for the first time the franchise has actually transcended its old Xbox roots into something that actually feels it belongs, from a visual perspective anyway, on Microsoft’s 360.

No comments:

Post a Comment