Time to get some answers. Let's go on a visual and intellectual journey together. Click on the image links to see the full size. Watch the vids.
Rebellion's AvP (2010) Engine
Features in AvP (2010)
*SSAO (Screen Space Ambient Occlusion)
*Shader Model 5.0
*Parallax Occlusion Mapping
DoF (Depth of Field)
Motion Blur (camera and object)
*Advanced Physics Simulation
*PC only features
When one takes the time to play Rebellion's AvP and actually pay attention to the differences in the DX9 features (console) and the DX11 features (PC only) it becomes apparent very quickly the massive differences. Even the features that the console version share in common with the PC version are highly enhanced. The lighting is better; the images crisper and clearer; the characters have greater detail on their faces and bodies. The Aliens' tails trail out behind them dynamically - never the same animations twice - interacting with the environments in new ways with every movement. The humanoid characters had dynamic movement interactions and physics when they impacted the ground; place an obstacle in their path and they would run into it, step on it (their feet actually touching the object) or step over it. Enemy death animations differentiated depending on where they were hit and how hard. The deferred lighting meant that lights would get brighter or dimmer, have massive glare or none at all depending entirely upon your position and distance. Grass and other bendables/breakables/moveables would interact differently everytime you struck or interacted with them - and the physics behind reactions was believable - unlike other engines. Even the sound was set up to be played in full theater/surround sound mode. Play as a Space Marine and you could hear the Aliens claws clattering across the metal grating behind you. You could hear them hissing above you, sneaking up behind you. Every moment was a thrill ride like no other.
The fact is, Rebellion put so much time, love and effort into their game that it absolutely dominated everything (visually) that had been released to that date. It made for a unique and immersive game experience that no one else had been able to produce before. If you haven't tried it, I would recommend it just so you can get the unique and wonderful experience.
Let's take a look at a youtube user's gameplay, shall we?
The final word in DirectX 11
CryEngine 3 Live Create
The Truth be told, Crysis 2 had only 1 real failing in it's programming: The AI was ridiculously easy to exploit/beat unless you were on the maximum difficulty. Then it was challenging. At maximum difficulty, the enemies would figure out where you were after 1 sniper shot. They would move in concert to out-flank you while laying down suppressive fire. If weren't a wily, sneaky S.O.B. then you weren't long for this world.
The only other flaw I could find in it was that Alcatraz (the main character) throws like a baby girl. Even light-weight objects could only be thrown for a few feet and you de-cloaked to do it. Which defeats the purpose of throwing an object from cloak to distract or misdirect enemies. So rather than use cool tactics like misdirection, I had to use sneaky-bastard tactics like fire and displace. Still very fun. And oh-so-satisfying to watch enemy heads explode like watermelons at a Gallagher show.
And still, the gorgeous pictures above just don't do the game play justice. It really is something everyone should experience. The level of talent and artistry that goes into making games like this is far above and beyond anything classical artists were ever capable of. It represents a level of talent and technical knowledge they could never have achieved. You simply MUST experience it, understand it, to appreciate it.
Unreal Engine 3 - Finally catching up to the times
But is it too little, too late?
But they are ridiculously late to the game. Developers like Rebellion and Crytek had been using DX11 for much longer than Unreal. And they have been optimizing it, implementing it and stretching the boundaries of what it's capable of.
Don't misunderstand me, I'm not trashing UDN's transition into the new technology. I'm happy that I can finally purchase true DX11 games from another developer besides Crytek (who, btw, are really awesome guys). But, given that certain developers - like Rebellion and Crytek - have been using DX11 much, much longer and have had tons more experience with it and optimizing for it, I do question whether or not Unreal's late entry into the field will have an impact. But it does tell me something very important:
"Next-Gen" consoles will include DX11... even if it is somewhat limited.
How can I possibly know that for sure, you wonder? Take a look back over UDN's release history; they tend to only catch up to the times if consoles will feature it. Around the time when the Xbox 360 and PS3 were released, a new version of Unreal Engine was released with DX9 features (which is where current consoles are) so that prospective developers would be enticed into using their engine. UE3 also features similar instant test features first used in CryEngine 3 - in other words, no need to compile the game in order to test features, simply hit a keyboard shortcut and off you go.
I'm not going to make some ridiculous and trite statement about how they "stole" the feature from another developer - which may or may not be true - but rather laud them for including a feature that should've been present since the outset of game design; especially given that the hardware to do it has existed for 3 years now.
And while UE3 does look pretty good, I can't help but think they're too damned late.
While UDN was working on it's catch-up game engine, devs like Crytek have been expanding... and innovating.
Need proof? Check out the PC demo below (he's using a 360 gamepad on a high-end gaming PC, if you look closely at the beginning of the video, in the bottom lefthand corner, you can see the PC's they have set up to play on):
The Technical Stuff
The long and short of it is: DX11 is an API - or Application Programming Interface - that has features specific to it's version. Remember that long laundry list of features from AvP? That's a pretty good taste of what DirectX 11 offers. But what it doesn't tell you is how fast. Or how much. Let's cover a few:
Hardware Tessellation - what this is, in a nutshell, is the ability of the API to take each individual polygon and subdivide it into 4 new polygons to increase the total surface area - on the fly. What do more polygons mean? Higher quality models on high settings, lower quality models on low settings (this is how you optimize for different PC's without recreating several copies of the same models). As anyone with 3D experience knows: The more polygons you have on a surface, the smoother it can be made and the more you can manipulate it. The more you can manipulate it, the more realistic in can be made to look. The only thing no one has been specific about is how much tessellation DX11 offers. Anyone experienced with Mental Ray can tell you that render engines can offer multiple levels of tessellation depending on your needs/wants/requirements and your hardware specs. Mental Ray offers up to 64K. This means each polygon can be subdivided 64,000 times. 1 poly becomes 4. 4 polys become 16. 16 polys become 64... you see where this is going? That was only 3 subdivision instances. Now imagine being able to do that 64,000 times...
Welcome to my world.
SSAO (Screen Space Ambient Occlusion) - is a rendering technique for efficiently approximating the well-known computer graphics ambient occlusion effect in real time. It was developed by Vladimir Kajalin while working at Crytek and was used for the first time in a video game in the 2007 Windows game Crysis made by Crytek.
*** Take note of how Crytek innovated this ***
***Ambient Occlusion - Ambient occlusion is a shading method used in 3D computer graphics which helps add realism to local reflection models by taking into account attenuation of light due to occlusion. Ambient occlusion attempts to approximate the way light radiates in real life, especially off what are normally considered non-reflective surfaces.
Unlike local methods like Phong shading, ambient occlusion is a global method, meaning the illumination at each point is a function of other geometry in the scene. However, it is a very crude approximation to full global illumination. The soft appearance achieved by ambient occlusion alone is similar to the way an object appears on an overcast day.
Parallax Occlusion Mapping - Parallax occlusion mapping (POM) is an enhancement of the parallax mapping technique. Parallax occlusion mapping is used to procedurally create 3D definition in textured surfaces, using a displacement map (similar to a topography map) instead of through the generation of new geometry. This allows developers of 3D rendering applications to add 3D complexity in textures, which correctly change relative to perspective and with self occlusion in real time (self-shadowing is additionally possible), without sacrificing the processor cycles required to create the same effect with geometry calculations.
Parallax occlusion mapping was first published in 2004 by Zoe Brawley and Natalya Tatarchuk in ShaderX3. Natalya Tatarchuk conducted presentations of the technology at SIGGRAPH in 2005. It was used in ATI's 'Toy Shop Demo' to showcase the Radeon X1800's Ultra-Threaded SM 3.0 technology. It is used in video games and rendering engines such as Unigine, CryEngine 2, and CryEngine 3. It has also been used to create stereoscopic images from single images.
A good game developer will want to immerse you into the game as much as possible. This is done with story, visuals, sound and game play. And game devs know that we are harsh critics. And we should be; it's our money that pays their bills. We should demand that they constantly innovate and find new and amazing ways to entertain us.
But we should also be grateful for the time and effort they put into their work. Crytek took a lot of heat for "consolizing" Crysis 2. When they did release a full patch for DX11 and Hi-Def textures, it was generally overlooked instead of lauded. Even I - shamefully - admit my own voice was amidst the outcry. Of course, unlike many others, my tune changed once I was given - for free - DX11 package and Hi-Res textures.
As we go on, in the coming weeks, to talk about GPU hardware, remember this post. It's going to play very heavily into the GPU overview. And I hope I've reduced some of the mystery surrounding what you know about DX11 and gaming in general.