The Order: 1886

How is that possible? What else do we have that is not PS4, XBone or PC and could run anything remotely close to the visuals of The Order?
Shield Android TV at 1024*600?
I got that from the GameInformer interview:

[Ready at Dawn reached out to us with a clarification after this interview was published. The studio says that it does not have knowledge of an unannounced platform, but rather was speaking about its plans to develop for an existing platform that is new to the studio.]

SRC
 
It's sad we might never see a sequel to The Order but as long as that engine gets utilized to make more games I'm still happy, I want to see what an improved engine could do for a PS4 exclusive or multiplat in a few years of time.
 
It's sad we might never see a sequel to The Order but as long as that engine gets utilized to make more games I'm still happy, I want to see what an improved engine could do for a PS4 exclusive or multiplat in a few years of time.

I don't think it's the engine that makes The Order stand out. I think it's the art team. If you look at it from a technical perspective -- it's got PBR, and some good PostFX. Everything else is pretty much baked. And baked extremely well.
 
From SIGGRAPH: http://readyatdawn.com/ready-at-dawn-siggraph/
capture5hs3a.png

You might notice this number right here (click), which has a pretty high upper bound. That comes from cinematics where the character’s hair took up a large portion of the screen. Our hair was rendered as layers of transparent geometry with full dynamic lighting, and so the cost could get really high during close-ups.

2qhj5n.png

Now that the background is out of the way, it’s time to talk about what we used in The Order to combat aliasing. In the end the tools we used weren’t particularly novel or exotic, but it was still important to choose the right ingredients.

The first component was EQAA, which is a variant of MSAA available on AMD GPU’s. Like Nvidia’s CSAA, it essentially lets you decouple MSAA fragment storage from coverage computations so that you can more finely tune the balance between quality and performance/memory. For The Order we used 2 color fragments and 4 coverage samples, which puts the raw quality somewhere between 2x and 4x MSAA if you’re using a standard hardware resolve.

To increase stability, we wrote a custom resolve shader that uses a wider, higher-order reconstruction filter instead of the typical box filter that’s used in hardware. This essentially let us smooth out the signal a bit while resampling, in order to give a result that was more stable under motion.

Finally, we combined our resolve pass with a fairly standard temporal antialiasing component. This is done primarily to reduce flickering from shader aliasing, by tracking and reprojecting surface samples from previous frames.
 
Last edited:
So, 36.1ms [27fps] if every section of the engine is pushed to the limits. Of course, in the game itself there is never such moment, game has such awesome silky smooth framerate.

From previous events they talked that apparently because they are "guaranteeing" that each frame will come in time, there is no frame buffering, each frame is sent directly to the display [which reduces input lag]. Since DriveClub is also rocksolid perfect-framepaced 30fps and I find it VERY responsive on controls, is it also using this feature?
 
So much AA pass, EQAA, MSAA custom compute shader, temporal AA, special cases for MSAA and HDR.
Do not forget the solution for specular lighting, it helps a lot.
And what is baked, exactly?
Don't tell me they were so dumb and chose Forward+ just to pre-bake everything.
They baked at least indirect lighting and possibly some non-moving direct lights.
It's quite common to use different methods for direct and indirect light/shadows.
 
Last edited:
Do not forget the solution for specular lighting, it helps a lot.

They baked at least indirect lighting and possibly some non-moving direct lights.
It's quite common to use different methods for direct and indirect light/shadows.

And post sharpening AA
 
Do not forget the solution for specular lighting, it helps a lot.

They baked at least indirect lighting and possibly some non-moving direct lights.
It's quite common to use different methods for direct and indirect light/shadows.

They do mention a pre-processed culling for lights to save processing during run-time, but I don't remember them mentioning baking diffuse for direct lights. Have I missed something? They do cache shadow maps to be used in later frames.
 
Same AA used in Project Cars (and at 60fps too with more color fragments, 8).

I would be very interested to know how much GPU time does EQAA take compared to the others AA solutions (including pure MSAA). Why using EQAA instead of pure MSAA? What are the advantages, precisely?
 
Same AA used in Project Cars (and at 60fps too with more color fragments, 8).

I would be very interested to know how much GPU time does EQAA take compared to the others AA solutions (including pure MSAA). Why using EQAA instead of pure MSAA? What are the advantages, precisely?

http://www.anandtech.com/show/4061/amds-radeon-hd-6970-radeon-hd-6950/10
EQAA_575px.png

Thus we have EQAA, a compromise on the idea. Color/Z samples are expensive, but just checking if a triangle covers part of a subpixel is very cheap. If we have enough color/Z samples to get the necessary color information, then just doing additional simple subpixel coverage checks would allow us better determine what percentage of a pixel is covered by a given polygon, which we can then use to blend colors in a more accurate fashion. For example with 4x MSAA we can only determine if a pixel is 0/25/50/75/100 percent covered by a triangle, but with 4x EQAA where we take 4 color samples and then 4 additional coverage-only samples, we can determine blending values down to 0/12/25/37/50/62/75/87/100 percent coverage, the same amount of accuracy as using 8x MSAA. Thus in the right situation we can have quality similar to 8x MSAA for only a little over 4x MSAA’s cost.

They (RaD) also said it results in something between 2xMSAA and 4xMSAA with it probably costing a little bit more than 2xMSAA.
 
Same AA used in Project Cars (and at 60fps too with more color fragments, 8).

I would be very interested to know how much GPU time does EQAA take compared to the others AA solutions (including pure MSAA). Why using EQAA instead of pure MSAA? What are the advantages, precisely?
Isn't the advantage control over the resolve? In the abstract, they mentioned a custom high order filter. I would like to know more about this high order filter.
 
Same AA used in Project Cars (and at 60fps too with more color fragments, 8).

I would be very interested to know how much GPU time does EQAA take compared to the others AA solutions (including pure MSAA). Why using EQAA instead of pure MSAA? What are the advantages, precisely?
They provide a table to compare the costs in a particular scene. Most of your questions are answered in the presentation really.;)
 
Isn't the advantage control over the resolve? In the abstract, they mentioned a custom high order filter. I would like to know more about this high order filter.
They did a custom resolve in order for a wider tent than is normally offered in-hardware. Custom resolve is just capability of the HW, but most dont do it because PC variability, API, dev time etc.
 
They do mention a pre-processed culling for lights to save processing during run-time, but I don't remember them mentioning baking diffuse for direct lights. Have I missed something? They do cache shadow maps to be used in later frames.

Baking the direct contribution was optional for local lights. They usually didn't do it for the lights you'd see in gameplay areas, since for those you really want high-quality direct specular and dynamic shadows. They would also bake direct lighting if they used area lights, since we didn't support area lights at runtime.
 
They did a custom resolve in order for a wider tent than is normally offered in-hardware. Custom resolve is just capability of the HW, but most dont do it because PC variability, API, dev time etc.
Custom resolve just means that you use multisample load instructions in your own (compute) shader. You execute this shader instead of a normal fixed function resolve. This has been possible on PC since DirectX10.

In our case we do custom resolve in the beginning of our (tiled) lighting shader. This way you never need to pay any bandwidth cost of the resolve operation (as you would if you write it to memory).
 
Back
Top