Breaking Down The Order: 1886

Daniel Rose
GameTextures
Published in
10 min readOct 28, 2018

By: Daniel Rose

The Order: 1886 is an important game, although many people don’t realize it. Delayed out of the “PS4 launch window” and released in early 2015 to middling reviews at many gaming press sites, The Order is an often overlooked game in the PlayStation 4’s library. While opinions on the game may vary, The Order: 1886 is unquestionably a technical marvel. Visually, it stacks up quite favorably to what I consider the most beautiful game to date; Uncharted: A Thief’s End. In some ways, it even surpasses it. Perhaps even in a minor way, Uncharted would look a bit different or might have shipped a bit later without The Order: 1886. This is because Ready at Dawn, the studio behind The Order, published a handful of talks and papers on the game while it was in production. In addition to the information shared by Dotnod after they shipped Remember Me, Ready at Dawn’s willingness to share some of their process in 2013, a full two years before The Order shipped, paved the way for greater understanding and quicker adoption of Physically Based Rendering.

The majority of this article references the following publicly available presentations from Ready at Dawn. I’m not going over everything and I highly suggest anyone who’s interested in learning more about their workflow, challenges The Order posed, and PBR in general check them out. There is also a lot of information about lighting that I won’t be covering.

The Order: 1886 started development in 2011. Ready at Dawn had created 3 other titles before jumping headlong into The Order; Daxter, God of War: Chains of Olympus, and God of War: Ghosts of Sparta all on the PSP. Ghosts of Spartaespecially was an impressive PSP game at the time and more than likely holds up on a PSVita today. The leap from the PSP to the PlayStation 4 was (and clearly still is) a monumental one. That necessitated that Ready at Dawn create all new tools and an all new engine from the ground up. In 2013 Ready at Dawn shared a small part of their workflow at SIGGRAPH. It was their approach to material work, and it helped me personally understand the general concepts behind working in a PBR system a little bit better. It also introduced the concept of material compositing and layer blending (not the same as texture blending) which I would use in creating textures in Photoshop for some early PBR props. I also tested some of the same concepts a bit in a personal project in Unreal 4 at a later date.

God of War: Ghost of Sparta

Ready at Dawn’s material compositing workflow is ingenious. Artists have access to a large library of base materials, many of them having been scanned in using an internally developed scanning method. These base materials can have multiple variants created as well, such as a pristine copper, a lightly worn copper, and a heavily worn copper. These materials are designed to be maintained by a minimal team and values that define these base materials can only be changed in the base material file. This is done to maintain material consistency across the game. Also, to be clear, this library isn’t a library of images or Substances. They are fully featured materials that live within Ready at Dawn’s custom material editor. That material editor is where the material compositing magic happens. When an asset is ready to be “materialized”, that asset as well as its associated base maps (Ambient Occlusion, Normal, Cavity, and Curvature) are loaded into the editor. Once that’s completed artists start adding composite layers. These composite layers are where you will specify what base material you want to add to the asset. Once that base composite layer is set, the artist will start adding more layers. Each layer can have a mask associated with it. This mask drives the visibility of that composite layer. The mask is usually some combination of a grunge mask and a supplied base map. You can composite as many layers as you need to for an asset as well.

How did the team at Ready at Dawn create such a flexible material system that also performed well? Their material composite editor is mostly offline. Once the asset has its material layers set up, their editor bakes out the required texture maps and it is these maps that are used in the engine. This way, an asset that has 14 materials in the material editor only has 1 material in game. Finally, if a base material needs to be edited, the Material Editor can re-bake all the assets that reference that single material. For example, a gold needs its diffuse albedo lightened to be more physically correct. After the artist fixes that error, all the hundreds of assets using that gold are re-baked and auto updated in the game. The bakes can be time consuming, but it’s easier than editing hundreds of textures by hand.

I attempted to replicate this to a much smaller degree on my personal project titled Desert Falls. For a few different assets, I used a tiling stone material that was defined in one Material Function. I had two other Material Functions that had two different sand variants. My goal was to test out Material Functions and see if I could replicate what Ready at Dawn did with The Order. While it was achievable on a small scale, using Layered Materials in Unreal is not really the same thing as material compositing. Layered Materials using Material Functions can be VERY expensive. This is because the engine is drawing two materials at once. You could actually have up to four layers in an Unreal Layered Material, but the amount of draw calls and possible complexity of these draw calls for a single asset (4) would make it relatively useless in a production environment expect in special cases. Ready at Dawn’s engine supports this as well, which they call Run-Time Material Layer Blending. It uses vertex colors and height maps to blend between two to four different material layers at run time. This is similar to the blend shaders Naughty Dog has used on the Uncharted games.

Interestingly enough, this workflow is being adopted by some studios today using off the shelf tools. Allegorithmic hosted a number of talks at their GDC 2016 Expo booth this past year. One of them was hosted by Lucas Granito, a Technical Artist at Ubisoft Montreal. You can check out the full talk here:

Early on in his talk, he goes through the Rainbow Six: Siege team’s search to find tools to create high quality PBR materials quickly. They settled in on a combination of Quixel’s Megascans (high resolution scanned textures) and Allegorithmic’s Substance Painter. Megascans, in addition to Painter and Designer materials, were the basis of the material library. Substance Painter was used to combine all of these materials into a single texture set. While there are obviously going to be differences, the general idea is the same; Have a library of defined materials that are layered using masks and supplied base maps to create a singular texture set for an object. Ready at Dawn was using this method prior to the 1.0 release of Substance Painter (Late 2014).

While Ready at Dawn’s material work information was available as early as 2013, other information about their environment work wasn’t available until after the game shipped. In order to match the high quality material work that was being done, Ready at Dawn needed to focus on improving their modeling work as well. Creating meshes for the PSP (or a low end mobile device) requires a lot of hard edges. These hard shading edges create visible shading changes in meshes. It helps to create larger details. This is used a lot less today because models use Normal Maps in conjunction with higher polygon counts, which will handle a lot of the shading you need. The PSP did not support the use of Normal Maps, so developers used a large number of hard edges in their models to show the needed detail while keeping polygon counts low. During internal testing, Ready at Dawn found that they looked harsh and unrealistic when using their materials. They moved to using an edge bevel with pre-defined settings for size so the bevels remained consistent throughout the game. They encountered a few downsides with this technique (having to manually edit edge normals through the use of a custom made tool) but I believe the results speak for themselves.

There are a few other little fun bits I feel that are worth mentioning. The Order: 1886 engine uses a Tiled Forward Lighting (Forward+) lighting engine. There is A LOT of technical stuff behind what makes Forward+ different that Deferred Lighting and which is better for what, and I’m going to avoid speaking much on it because it is honestly too technical for me. I do however want to specifically mention the use of Forward+ because the glass in this game looks spectacular. Their transparent (glass) materials receive full specular shading. This is notable because in Unreal 4, the current implementation of transparent shading causes glass to not receive specular shading. I think it’s one of the reasons The Order looks so excellent.

The Order: 1886 is also a strong case for using baked data such as light maps, reflections, and more. Many more games are leveraging the flexibility of deferred shading and rendering in real time. This is great for a variety of reasons including ‘what you see is what you get’ in editor, or WYSIWYG. However, it’s important to step back and ask what best suits the need of the project. The Order is made up of medium sized levels and arenas at fixed points in time. This particular set up means that time of day doesn’t need to change during a single level. Baking out lightmaps and reflection data (and other lighting based data) made the most sense.

Finally, let’s take a quick look at memory budgets. The PS4 has a total of 8GB of memory available on the system. However, about 3 GB-3.5 GB of RAM is used for the System OS. This leaves about 4.5 GB-5 GB available for developers. The Order: 1886 had the following memory budget.

  • 2 GB texture budget shared between environments, characters, and props
  • Of this, 600 MB or a little more than 25% is dedicated to Character Textures
  • 700 MB level geometry
  • 700 MB animation
  • 250 MB Global Textures (FX, UI, light maps. Characters even had light map data)
  • 128 MB Sound

That comes to a grand total of a 3.8 GB memory budget. It’s a pretty large budget and one that fits within the PS4’s available RAM. Whatever RAM was left was probably used for other tasks within the game. By contrast, the PSP had a whopping total of 64 MB at the end of its life cycle. The PS4 is more powerful than the console Ready at Dawn had previously worked with by an ungodly order of magnitude.

The Order: 1886 is a technical marvel. It has brilliant art direction, great acting, and well realized world that is unique and genuinely interesting. The jump that Ready at Dawn made from PSP to PS4 was gargantuan and in making that jump they shared some of their findings with the greater development community, which slowly coaxed the game industry forward just a touch faster than it would have been otherwise. Their use of Material Libraries and layering is being adopted by large studios and individuals alike, using programs like DDO, Substance Designer, and Substance Painter in conjunction with services like GameTextures.com and Megascans, to create richly detailed assets that adhere to the laws of energy conservation. While the actual game may have its flaws, the entire industry is a bit further ahead in this 8th Console Generation thanks to The Order: 1886.

That last sentence might be an overstatement. But you know what? I’m a bit further ahead thanks to The Order: 1886.Thank you for sharing Ready at Dawn.

--

--