The Gamasutra Deep Dives are an ongoing series with the goal of shedding light on specific design, art, or technical features within a video game, in order to show how seemingly simple, fundamental design decisions aren't really that simple at all.
Earlier installments cover topics such as building an adaptive tech tree in Dawn of Man, achieving seamless branching in Watch Dogs 2’s Invasion of Privacy missions, and creating the intricate level design of Dishonored 2's Clockwork Mansion.
This edition, which offers an in-depth look at how Gears Tactics was optimized for a variery of PC hardware to remove the barrier for entry, was penned by Splash Damage technical art director Raouf Bejaoui and The Coalition technical director Cam McRae.
Gears Tactics is a fast-paced, turn-based strategy game set in the universe of one of gaming’s most-acclaimed franchises -- Gears of War. In Gears Tactics, you step into the boots of Sergeant Gabriel Diaz as he recruits, equips and commands his squad on a desperate mission to hunt down the relentless and powerful leader of the Locust army: Ukkon.
This new installment in the franchise takes players in an immersive character-driven story in which your squad must outsmart the Locust Horde in brutal turn-based tactical combat. As a PC-first game, this was a fantastic opportunity for us to expand the franchise and reach an even greater number of players, therefore we did not want hardware to be a barrier for entry.
Broaden the audience
From the very beginning, one of our primary goals was to reach a much wider audience on the PC. Ultimately, this meant optimizing the game for low end specifications such as integrated graphics chips on notebooks or desktop PCs using decade-old components. The Gears franchise has always been a graphical showcase for Microsoft’s first-party line-up and the franchise upholds very high standards, Gears Tactics would be no exception. Changing the art style or lowering quality was not an option – Gears Tactics had to live up to series expectations and deliver a gorgeous looking campaign on high-end hardware while also running smoothly on laptops and lower-end devices to help bring the franchise to a broader audience of PC gamers.
The teams at The Coalition and Splash Damage were determined to achieve this, focusing on performance from the prototyping phase all the way through to the final bug fixes. The hardware targets were set early in development and held all the way through to the end. These are the minimum, recommended (including laptop), and ideal specifications we shipped the game for:
From integrated graphics chips to 4K capable machines
“Optimization first, scalability second” was our motto throughout the development of the game. Gameplay critical items such as the HUD, diegetic UI, geometry occlusion or fog of war were under extra scrutiny for their run-time cost as these elements could not be compromised on low specifications -- players should not be penalized by the hardware they’re playing on. From a game design perspective, they must enjoy the experience under the exact same conditions as their counterparts playing on high-end rigs.
As part of our wider content creation pipeline, we defined different “tiers” of importance, clearly separating the cosmetic aspects from the game content that was critical to the user experience. Scalability is first and foremost a set of tools that empowers developers to author content with different hardware limitations in mind, allowing them to make sound decisions when trade-offs have to be made. Whilst game consoles generally have a fixed hardware throughout their lifecycle, making performance profiling relatively easy, the same cannot be said about a PC game that has to account for a plethora of components and varied conditions on the players machine.
For Gears Tactics, the gap in processing power between our targeted minimum and recommended specifications was too large to consider focusing our effort on a single specification, instead we opted to focus our efforts on three main specs that would run the game with our low, medium and high quality pre-sets respectively throughout development. We held ourselves accountable with monthly milestones to reach our performance targets for each spec.
Modern notebooks have high resolution displays but fairly slow GPUs in comparison, so having an integrated graphic chip as one of our primary targets caused us to constantly optimize our gameplay critical systems and content. We have integrated many improvements and optimizations from the Gears 5 engine such as temporal upsampling to help us get a crisper image on notebooks at sub-1080p resolutions.
From gameplay to cinematics, our technical art team worked closely with each art discipline to author content with scalability in mind. During the pre-production phase we created benchmark assets and levels to set the quality bar but also to explore existing and novel techniques to optimize the content across all specifications. We equipped our QA team with a wide range of PCs, using multiple combination of CPUs, GPUs, RAM, hard drives, and monitors to test the game. Development time can limit optimization efforts, to make this more manageable, our tech art team worked closely with our rendering and core-tech departments to expand Unreal Engine 4’s scalability feature whilst maintaining a toolset that allowed us to enforce our budgets for content creators.
Players generally accept the concept of graphics scalability, but in reality, only a few use the video settings. Gears Tactics identifies the player's CPU and GPU at launch and generates a score that allows the system to adjust each setting to the appropriate value to get the best balance between visuals and performance. This allows players to quickly jump into the game without having to worry about diving in to the variety of available settings. For players who want to fine tune their settings and get the most out of the games visuals, we’ve improved upon the benchmark tool from Gears 5 and created a comprehensive list of settings that control both graphical and content quality scaling. Each setting has a description in plain language and an image to highlight the difference the setting will make in game. The benchmark mode allows players to preview the games visuals and performance in real-time with a graph showing three curves representing the workload of the CPU game logic, CPU rendering work, and the GPU workload for graphics.
A different perspective
Our goal with Gears Tactics was to deliver a campaign with best-in class visuals with gorgeous looking cinematics. Turn-based tactics games aren’t traditionally associated with AAA quality game visuals, we were uniquely positioned to raise the bar. Although mostly seen from an isometric camera, the visuals on display had to be clearly identifiable as a Gears game.
As a starting point, we prototyped our environments with Gears of War 4 multiplayer content which was already optimized for 60Hz performance on Xbox One S. This helped us quickly build a diverse collection of assets that we could use to start building our levels, but also revealed a new challenge in using existing content from the Gears library. Large set pieces such as rooftops and ground compositions were authored for a third person camera, so rooftops didn’t get anywhere near the same level of attention as walls, props or low covers. Ground was mostly designed to guide the players through the battlefield from a camera roughly at the same height as the characters. Our ground composition became one of the most important visual features in the game. This new challenge forced us to re-think how we authored new content but also re-adjust a few geometrical details where needed on already existing assets. The level of detail required was no different than Gears 5, we simply had to shift it elsewhere.
Our rendering and technical art teams made a number of contributions to assist our artists in elevating visual quality. Gears Tactics levels are generated at level load time from a library of pre-built encounter spaces we call "Parcels." We built a custom global illumination system that uses precomputed radiance transfer to bounce light seamlessly across parcel boundaries. We also implemented our own planar reflections which allowed us to render the reflections of the environment outside of the view frustum, which is quite often the case with an isometric camera. Our planar reflections use shadow data and our custom GI to generate reflections without needing to render a mirror of the entire scene.
Whilst developing our own features and content, we heavily relied on the Gears 5 technology that was being developed in parallel and integrated into the Gears Tactics engine. One graphical feature that truly elevated the quality of our dynamic lighting system is the volumetric fog feature. One of the key missing elements in the visual composition of our top-down camera was skies. Volumetric fog allowed us to “sculpt” cloud shapes via atmospheric scattering, adding subtle motion to the cloud shadows on the ground further enhanced the living world. Furthermore, using a combination of planar reflections and a post process shader that projects the skybox texture with a panning effect, we managed to bring even more detail and vibrancy to the ground with animated reflections on our puddles:
By the end of our pre-production phase, the team had successfully delivered a benchmark level, called a vertical slice, which was mainly composed of classic Gears content:
The level was running at 60Hz at 1080p on a laptop equipped with an NVIDIA GeForce GTX 1070m. After multiple optimization passes, we had achieved a smooth 60Hz on our recommended spec at 1440p, ideal spec at 2160p and a solid 30Hz at 900p on the Intel Iris Gen 11 laptop:
Shortly after our vertical slice, our scalability plans were on track and the team gained more confidence with each milestone, improving visual fidelity and performance across the board. This is when we started thinking about further stretching our scalability plans with the support for ultra high definition monitors.
While we authored our content for a 60Hz experience across most of our specifications, we wanted our real-time cinematics to benefit from an extra boost in quality. Gears Tactics’ cinematics were authored at 30Hz to use extra processing power for increased visual fidelity.
As a character-driven story introducing a new band of heroes, we wanted our hero characters to leverage all recent rendering and animation techniques found in AAA games cinematics. Our character and animation teams worked closely with their Gears 5 counterparts at The Coalition. Gears 5’s character models benefited from a big step up in quality compared to the previous instalment, and we were determined to leverage the same technology, maintaining a comparable quality bar with the rest of the franchise. We adopted the same topology on all of our heads, integrated all the latest improvements made to the skin, hair and eye shading models in Gears 5 and equipped our Artists with 4K monitors to iterate on a quality benchmark for character rendering.
We aimed to use ultra high definition to distinguish Gears Tactics as graphically cutting edge in the Tactical genre. Authoring bespoke and hero assets with 4K mind helped us increase visual quality at all levels. 4K rendering is a very unforgiving environment, any flaws such as low resolution textures, bad texel/ratio or angular looking geometry are sometimes imperceptible at 1080p but far more noticeable at 2160p. Fine detail geometry such as fly-away hairs or rivets on armours can make a real difference at this level of definition. We started comparing close-up shots of our benchmark characters in different resolution scenarios with 1080p being the baseline, super-sampled 2160p rendered at 1080p and native 4K.
A lot of extra detail emerges at this resolution, this exercise also allowed us to better highlight areas where improvements where needed. Our teams spent a lot of time iterating on armours, faces, hair and facial hair to utilize our vertex count budget as efficiently as possible. To keep production costs reasonable, our Technical Art team prototyped with various polygon reduction algorithms, such as Simplygon. We heavily relied on Simplygon’s tech to author character LODs that could be used on lower specifications.
What we discovered after a few days of optimizations and fine-tuning was that the increased detailed we added to the 4k models also benefited the crunched down versions of our Medium and Low LODs. Because Artists were working with much less restrictive constraints, it allowed them to add subtle detail to our characters without being bottlenecked by tight vertex count limitations. Simplygon’s silhouette preserving algorithm worked wonderfully at retaining the broad geometrical shapes of our facial features (including blend shapes for animation), armours, and even hair/facial hair cards.
Bridging the Gap: Content driven scalability
Very early on during pre-production, we understood that traditional scalability may not be enough to achieve our goals – the technical art and engineering departments had to join forces to re-think our content creation pipeline. We did not want our content team to be bottlenecked by the performance of our minimum specifications, neither did we want to focus all of our efforts on high end devices which would have jeopardized our scalability goals.
Alongside the typical scalability settings exposed to the player such as lighting and post processing quality, the cost of our content had to scale in a similar fashion if we wanted to retain this quality level for high end rigs – Not doing so would have forced us to be significantly bottlenecked by the lower end of our scalability spectrum.
For geometry, both our environment and characters use a LOD biasing technique. For hero characters which require those super high-quality models in cinematics, we use a total of 4 LODs.
On the high/ultra presets, LOD0 is forced during the cinematic sequences and used for close-up shots during gameplay. LOD1, 2 and 3 are used during gameplay from the isometric camera depending on the distance. For Medium specs, the LOD hierarchy gets biased by 1, effectively using LOD1 which is reduced to a total of 75% of the initial vertex count as LOD0. Similarly, Low specs bias the LOD hierarchy by 2, now with LOD2 acting as LOD0 with a vertex reduction percentage down to 60%. This is a setting that we exposed to the players as “mesh LOD quality” in our menu:
Not only was this critical for us to achieve our performance targets on older GPUs, some of which were heavily geometry bound, but it also allowed us significantly reduce memory consumption. Our core-tech team developed a new LOD biasing technique that strips out higher LODs from memory at load-time. Some of our hero characters and large bosses were using between 100K to 120k vertices, with the addition of blend shapes for facial animation and 3 extra LODs, some of these models can take up to 55MB in memory. With two LODs left and a 60% reduction on low spec, this brought us down to only 10MB per hero characters. In typical story missions which include cinematic sequences, we’ve managed to reduce both our static and skeletal mesh memory footprint by a factor of up to 70%! Not only was performance greatly improved on lower end devices, but this also managed to free up a significant amount of memory to support the Texture Pool.
Another great addition to our scalability arsenal was what we exposed in the settings as “world detail.” We first expanded Unreal Engine 4’s “detail mode” feature by adding an “ultra” detail mode, which allowed our technical artists to work with each discipline to selectively disable assets such as expensive particle effects, small assets scattered on the ground like pebbles and rubbles or even extra lights. None of this content affect gameplay, but it gave us more granular control over what to trade-off for each performance tier. We went one step further by adding a “Shadow Detail Mode” which allowed us to disable shadow casting on a per light or per object basis for each performance preset. During gameplay, these adjustments gave us between a 30 to 50% performance boost on medium and low hardware specs:
The Shadow Detail Mode gave us an extra level of Artistic control over the cost of our lighting. This came in handy for some of our cinematics shots where large shadow casting lights are quite common – Instead of disabling a light rig all together on medium specifications, we were able to have “in-between” quality levels where the light can remain on screen but without casting any shadows:
Lastly, we also exposed a setting called “shading quality” which switches some of our more expensive materials for a cheaper variant. Most of Gears Tactic’s materials were authored with a custom solution written by The Coalition for Gears of War 4 called MMS (Material Masking System) which allowed our artists to efficiently create environmental materials with a layer-based UI à la Photoshop. While geometry was a significant bottleneck on integrated graphics chips, most of our other low and medium specifications were predominantly texture fetch bound. Environment wise, Gears Tactics makes use of fairly complex materials sampling up to 12 textures on large scale assets such as our grounds or large walls, thus making material scalability one of the most critical components of our scalability strategy.
Some of our complex materials rely on multiple layers sampling two BC7 textures, each blended with vertex color. For Gears Tactics, we’ve expanded all blending Material functions to allow us to “by-pass” certain textures and replace them with scalar values entered by the Artists for each quality level. This gave our artists extra control over the complexity and detail of our materials for each quality setting.
We used a stack-ranking approach for each layer (depicted below from left to right), gradually removing texture samplers from our materials at each quality level:
In this example, only the yellow paint and brick wall layers are kept for low spec machines. The grime and white plaster add some nice transition and break-up to this material but are negligible compared to the extra cost they add to the scene on low specs. On a video card with 2GB of VRAM, the combination of our LOD biasing technique and texture usage optimization in our materials allowed us to allocate more memory for our textures but also display crisper textures as a result when VRAM is limited.
To support the content team, the engineering team spent a lot of time working on game-wide optimizations. In addition to the general performance work that needs to be done to eliminate hitches and keep the game on budget, the team also looked at newer solutions to help further reduce frame times and allow more flexibility in the overall performance profile.
One of the solutions we landed on was variable rate shading, which is a relatively new technique in DirectX 12. Using variable rate shading (or VRS), we can selectively reduce the number of pixels that need to be shaded by different rendering passes. This is done by changing the number of surrounding pixels that will be affected by a pixel shader.
There are two tiers of VRS; Tier 1, which is more broadly supported and Tier 2, which is currently supported by a more limited set of a hardware. With our goal of being accessible to a wider audience, we chose to use Tier 1. The main difference between them is Tier 1 works only per draw call (which is generally a group of objects) while Tier 2 can also work in screen-space.
The goal of VRS is a performance increase with a negligible reduction in quality. By choosing Tier 1 VRS, we had to balance performance against quality with a coarser toolset. It’s easy to switch the base pass to use a 4x4 shading rate, but the quality loss for a high detail game is very noticeable. We tackled this by exploring each rendering pass and testing the results of different shading rates in the final image. Some passes could handle a coarser shading rate with almost no change in quality, such as depth of field. Others we had to disable entirely, such as Translucency and objects in the 3D UI.
After a few iterations we realized we had a great opportunity to more aggressively apply coarse shading rates to objects in the fog of war, because the quality reduction was hidden by the fog. After implementing support for changing shading rate for objects in the fog and tuning the system a bit further we ended up with two quality levels and a performance gain of up to 20%.
VRS On is conservative with the shading rates and aims to get ~10% gain with negligible quality loss. VRS performance is more aggressive with the shading rates and aims to get ~20 gain, but some quality loss may be noticeable.
Ultimately, the goal is to give more power to the player to choose how they experience the game. The only way to do that is by building content that can scale and optimizing at every level. With Gears Tactics, we think the results speak for themselves.