To help usher in Battlefield 3, NVIDIA has released some behind-the-scenes footage from GeForce LAN 6 detailing how DICE made the game the gorgeous masterpiece it is. The video series features rendering architect Johan Anderson showing off and explaining a little of what’s behind the end product you see.
In case you haven’t been keeping yourself up to date on this game, Battlefield 3 is what Johan calls the studio's “big return to the actual true Battlefield experience.” The game consists of three main modes, single-player, co-op, and 64-person multiplayer. While Battlefield 3 will be released for PC, PlayStation 3, and Xbox 360, the videos and this article will stick to talking about the PC version.
Battlefield 3 uses the Frostbite 2 graphics engine (Battlefield 2: Bad Company used Frostbite 1.5), which offers pretty noticeable advances in graphics quality. Please note that Battlefield 3 does require that DirectX 11 is installed on your computer, and won’t run without it. While it will run on DX10, there will be a significant difference in graphics rendering speed, as I will go on to talk about later. My suggestion: run it on DX11. If you can’t, go buy a card that can.
The Frostbite 2 engine is essentially broken up into five parts: objects, lighting, effects, terrain, and post-processing. To kick it off, Johan starts off with the object parts, which includes well ... everything. Each level has over 10,000 objects in it, which requires efficient and scalable handling as well as the ability to render the simulations in parallel with each other to take advantage of multi-core PCs. Mesh and texture streaming is something new to the Battlefield stage, which allows for more variation, better quality, reduced memory requirements, and shorter loading times.
Johan then goes on to talk about the improved lighting engine in Battlefield 3, and how it has drastically improved from previous games. Out of the five engine components I mentioned earlier, I feel that the increased lighting quality plays the largest quality boost in the gameplay. Whether it’s the indoor lighting from spotlights, fires, or lens flares or outdoor with the sun; both environments are extremely well done and will hopefully not only make Battlefield 3 shine (no pun intended), but also pave the road to future games as well.
DICE took the less-beaten path when it comes to how shading is handled. Instead of using forward rendering like the majority of games in circulation now, DICE decided to use deferred shading (Killzone uses deferred shading as well). While the entire process is completely different, it pretty much allows more flexibility with how the designers can handle the light sources (making them destructible, having hundreds of them, or just one giant one). While it does use quite a bit of memory, like 160MB of memory (keep in mind most GPUs these days have 1000MB of memory), the the team has alleviated this by using the fun tools in DX11.
Until Johan broke down the light sources, it didn’t occur to me how much detail comes from the light sources, and I found this particularly interesting, as even indirect light made a huge difference in graphics quality.
While effects are a major in all games, they play a particularly strong role in all the Battlefield games because of the explosions and such. Most of the effects consist of thousands of both big and small particles that fit and interact with the environment, which consists of playing around with the lighting angles. In previous games, you wouldn’t see shadows for smoke rising from a burning tank. With the increased effect patterns however, you can actively see shadows from both the smoke and flying debris. The days are gone when you would see a uniformly colored cloud of dust, despite its surroundings. Now, you’ll see surroundings casting shadows or lighting up the effect particles mentioned earlier.
Moving onto terrains, the team faced a lot of challenges integrating huge terrains while at the same time having the same high quality the rest of the game has up close. Once again, those of you trying to run this on DX10 will be in for a disappointment. While DX10 may render the terrain on say 1,000 triangles, DX11 will render the surrounding terrain on 1,000,000 triangles allowing for an awesome increase in quality (especially noticeable in mountain areas).
What exactly is post-processing? It’s more or less the final effects that show up on your field of vision. For instance, it’s the blurry screen you get when you’re dying, the other blur that happens when you’re moving, or the screen glare you get when some annoying prick decides to shine that flashlight in your eyes (yeah, I hold grudges like that), and also plays a part in not being able to see things very well if there’s a big difference in light levels (for instance, looking out from the metro into the bright light. You can’t see very well, just like you wouldn’t be able to in real life).
One big thing Johan details on is the increase in ambient occlusion technologies. For low and medium settings on PC and for all console versions, they went with SSAO, which is a super cheap AO effect. It has no extra memory cost, and is very fast. For high and ultra settings however, they went with HBAO. While they had this technology in BF2, they have vastly improved it. You can see pretty clearly that it darkens parts, while keeps others bright as they should be, and adds even more detail to the picture.
To close up the fourth part of the video, Johan breaks down a construction of a scene from the ground up, quite literally. Starting from the terrain and slowly adding everything in, you can actively see how Battlefield 3 goes from looking kind of dull to a beautiful game.
At the final section of the video series, Johan takes a quick overview of what kind of system you’ll need to play Battlefield 3 on its various settings (taken directly from the video):
LOW = lowest possible
MEDIUM = good performance
HIGH = what the game is designed for
ULTRA = highest possible
As you can see, ultra is not for the faint of heart, system-wise. Unless you have a pretty kick-ass machine, don't think you're going to be able to pull off ultra without a hitch.
Battlefield 3 comes with a few nifty tools for those of us who benchmark and track our performance with various games, with an in-game console (accessible through pressing TAB), a built-in FPS meter (Render.DrawFPS 1 in the console), and a performance overlay that shows CPU/GPU graph over time (Render.PerfOverlayVisible 1 in the console). Personally, I really enjoy this feature, as it will make my life quite easier.
Wrapping it up, Johan briefly covers the 3D Vision capabilities of Battlefield 3. I don't know how many of you game in 3D, but it's pretty sweet, albeit a little tiring on the eyes. Sadly, while Battlefield 3 does not have 3D Vision support upon release, we expect EA to add 3D support in the upcoming patch. Also, check out NVIDIA'S latest GeForce 285.62 drivers here. These drivers are compatible with and support 3D Vision for Battlefield 3.