How does Avalanche Studios and id Software’s first person shooter stack up in the technical department?
When RAGE released nearly a decade ago, John Carmack’s vision had been straightforward: The man who coded Quake—the first mainstream 3D FPS—wanted to push the visual boundaries way out there one more time. While id Tech’s engine’s haven’t seen widespread industry use since the id Tech 3 days (and likely won’t after the Bethesda buyout), each new iteration of their engine is something to look forward to, showcasing as they do the majority of the technical highlights of their particular generation: You just need to have one look at 2016’s DOOM to understand what we’re talking about: GPU particles, high-poly models, physically based rendering, and more—the entire gamut of 8th-gen AAA visual effects is served on a platter here.
RAGE 2 is a strange case. It’s id Software IP, but wasn’t developed by id. It borrows heavily from the DOOM reboot’s gameplay oeuvre, but was built on the same engine as Just Cause 4, a title that’s the polar opposite of DOOM in terms of hardware optimization. And its colour palette is as far as possible from the “brown shooter” aesthetic id is infamous for. With id Tech 5 and RAGE, John Carmack and co tried to revolutionize the industry with a unique tech—Megatexturing—that ultimately didn’t pan out as intended. A lack of focus elsewhere—in the lighting department, for instance, meant that at launch, RAGE was in the peculiar position of looking both better and worse than its AAA counterparts at the same time. RAGE 2, in fact, has ditched the id Tech engine entirely, having been built on Avalanche’s Apex engine of Just Cause fame. Why the big change, and especially with an IP id had developed specifically to showcase a new engine back in 2011? And what makes RAGE 2 tick at a technical level? Let’s find out here. But first, let’s go back in history and have a look at the technical highlights of 2011’s RAGE.
RAGE and id Tech 5: What Went Wrong?
Eight years ago, id Software wasn’t exactly in a good place. 2009’s Wolfenstein reboot had been a commercial failure. Bethesda took over the studio shortly thereafter. id Tech 4 was a relatively adaptable engine, with soft shadows, better physics, and the bespoke Megatexture technology added in over time by newer titles. Nevertheless, it was, at its core, the same decrepit tech that powered DOOM 3 in 2004 and, as the years went by, it showed. Wolfenstein both looked and ran worse than the competition. Levels were claustrophobic in size and set pieces were, well, “meh.” The FPS space id had practically created in the 90s was saturated with competing titles that were simply better at a technical level. After half a decade of stagnation, of building incrementally on what was essentially late sixth-gen tech, id needed something that’d propel it back to the helm of AAA development. That something was id Tech 5, and RAGE was to be its showcase.
id’s key aim with id Tech 5 was to drive 60 FPS experiences that didn’t skimp on visuals—twitch shooters handed in a 60 FPS update on console, but featured unappealing visuals and subnative resolutions. On the other hand, more technically ambitious titles often struggled to maintain a 30 FPS update. Memory restrictions were also a major constraint at the time—the consoles had just 512 MB of system and video memory, meaning that texture detail was often the first thing to be compromised in just about every title. id Tech 5, as seen in RAGE, tried to rectify all these issues but ended up introducing its own compromises, the most infamous of which was Megatexturing. Having debuted in Enemy Territory: Quake Wars, Megatexturing was seen as a way to solve the challenge of inadequate console video memory. Instead of storing numerous textures for each item—which would have to be low res and tiled (reused) across assets like flooring—all texture data was stored in one giant texture which would be streamed in on demand.
This meant that instead of tiling the same texture on, for instance every wall, artists could add unique details. This meant that, at least at a distance, texture work in RAGE was often stunning, simply because of how bespoke and crafted the textures seemed. The idea was to stream in parts of the Megatexture as needed, but console memory restrictions reared there head again here: limited VRAM meant that individual slices of the Megatexture were still of a low quality, creating a peculiar situation where textures were, well, good and terrible at the same time. Fire up RAGE and you’ll see what we mean: At moderate distances, the artwork holds up well even today. But get close to any wall and it’ll turn into a blurry mess.
The emphasis on 60 FPS meant that id compromised elsewhere. Dynamic lighting is almost completely absent in RAGE, with most shadows baked into the Megatexture. In order for precomputed shadows to work, objects have to be…well static. RAGE features some of the least impressive physics we’ve seen in a seventh-gen title: Since nearly all objects feature baked shadows, few in-game objects are interactable. The overall effect is of a title that looks good in action, but turns into a muddy, static mess if you take a closer look at anything. Performance was good on console and the visuals were better than those in the vast majority of 60 FPS console shooters.
As we’ve mentioned, the engine was crafted with a specific target in mind: 60 FPS experiences on the memory-constrained 7th gen consoles. A lot was compromised in order to get there, from lighting quality, to physics, to fine texture detail. When the 8th gen consoles arrived a surfeit of VRAM, id Tech 5 simply became redundant. A handful of other Bethesda-published titles—including Dishonored 2 and The Evil Within—made use of the engine, but this was more on account of the fact that id Tech 6 wasn’t ready until 2016.
id Tech 6 had the same goal as id Tech 5—hand in great-looking 60 FPS experiences on console—but the target hardware was much different—and much closer to PC than the 7th gen consoles were. id Tech 6 ditched megatexturing entirely: the much larger pool of VRAM available on PS4 and Xbox One made memory constraints a thing of the past. Greater emphasis was placed on lighting—a clustered forward rendering approach allowed for a large number of dynamic lights onscreen without compromising performance. Materials also received a boost in quality with the use of physically based rendering. id Tech played to the strengths of the eighth-gen consoles here. Because they’re so similar to PCs, this meant that DOOM—and Wolfenstein II—ran great on a wide range of hardware. Even the modest RX 560 can hand in a locked 1080p/60 FPS experience with some settings pared back. When it was first announced a year ago, we expected RAGE 2 to also make use of Id Tech 6—it was the perfect fit for a DOOM-inspired shooter. The engine had a track record of excellent performance scaling and the IP was owned by Bethesda. It was something of a surprise, then, when Avalanche announced that they’d be using Just Cause’s Apex engine.
Apex Engine: Performance Implications
The decision to make use of Apex has a number of consequences. Among the most notable of these is in terms of performance. id Tech 6 is one of the most well-optimized engines of this console generation. It reliably hands in 60 FPS experiences with better visuals than many 30 FPS console titles. And ever since RAGE, id Tech and Carmack made it their stated objective to get their games running at 60 FPS across platforms. The use of Apex changes things here. Avalanche’s Just Cause games aren’t well-known for performing well. We’re currently going through Just Cause 4 on an RX 480—equivalent to the Xbox One X’s GPU—at roughly 45 FPS. Apex’s forte is elsewhere—in terms of physics—but we’ll get there shortly.
To get to the point, RAGE 2 just doesn’t run that well, at least at high settings. After the CPU-bottlenecking debacle with Just Cause 3, Avalanche tweaked Apex to do more GPGPU—running more of the physics on the graphics hardware as opposed to the processor. While this means that Just Cause 4 and RAGE 2 more reliably hit their target framerates on console, it makes Apex games more demanding in terms of GPU resources, without necessarily looking better than the competition. Consequently, you’ll need a GTX 1070 or thereabouts to reliably hit 60 FPS—and this is just at 1080p, mind you.
This makes RAGE 2 a pain to run on mid-tier hardware. Cards like the GTX 1060 and RX 480/580, designed to hit 60 FPS at 1080p, can only manage this with lowered settings. To put things in perspective, a GTX 1060 can run the original RAGE at a locked 4K/60 FPS. But where Apex taketh—in terms of performance—it giveth in terms of a whole host of visual and physics features that are well beyond what we’ve seen in id Tech 6 games till date.
Physics: The Apex… of Apex
There are only a couple reasons why average-looking games don’t perform well: they’re either poorly coded or they have other hardware-intensive features, apart from shiny lighting. Sadly, all too often, it’s the former. Ever played a Ubisoft game that both looked and performed like junk (and also generally was junk)? Or gritted your teeth to get through the stutter-fest that was Dishonored 2 because the game did everything right except run well? The sad truth is that poor coding is what makes games run bad in most cases. There are some instances, though, where performance and visuals are sacrificed for innovative gameplay: just look at the Red Faction games to see what we mean.
RAGE 2 doesn’t sail the insane physics boat out quite that far. Nevertheless, Avalanche’s knack for creating convincing, set piece-like spectacle on a moment-to-moment basis, evolved over the span of the Just Cause series, is on full display here. Reviews of RAGE 2 have been quite mixed but one thing almost everyone seems to agree about is that the combat feels incredible. The newer consoles are running the game at 60 FPS which helps quite a bit but that’s not the whole story. Apex was designed around the needs of the Just Cause series—namely to stream in large open worlds and allow for large-scale destructibility with a focus on particle effects as opposed to deformation-oriented destructibility a la Red Faction. The latter is arguably more realistic—there’s real heft to Red Faction’s trademark sledgehammer.
However, when it comes to moment-to-moment thrills, Apex’s approach to destructibility is the clear winner. As with Just Cause 4, the environment in RAGE 2 isn’t arbitrarily destructible in the way the Bad Company 2’s was. Instead, Avalanche focuses on alpha-heavy particle effects, post-processing, and applying physics to incidental objects and clutter. This approach means that instead of creating large-scale set pieces, the destruction here is more intimate—think DOOM on steroids. This approach lends a lot of heft to regular weapons, making gunfights remarkably satisfying: incidental objects are only too ready to explode in a particle-based fireballs, and clutter gets flung around, as if by a maniacal spring cleaner.
Models and Animation
Animation was one of the highlights of 2011’s RAGE. Ragdoll was applied to character models but, alongside this, character models reacted realistically to positional damage: Shoot an enemy in the arm and scrabble desperately at the wound with their free hand. With RAGE 2, Avalanche builds on a solid foundation. Because of the post-process and particle-heavy nature of RAGE 2’s spectacle, relative to the original, it’s often easy to miss just how well the game is animated. Skeletal rigging is a clear step up from the original game. Enemy move organically, with mutants carrying themselves around with irregular shuffling movement. Since gunfire is now significantly more over-the-top, the general tendency is for enemies to explode in a mist of gore. However, enemies do respond realistically to positional damage, with smooth transitions between regular movement and wounded states.
Models receive a clear boost to overall fidelity. While she’s aged considerably in RAGE 2, Loosum’s model demonstrates the key differences between the two in terms of modelling. Part of this is down to the change in art-style. While RAGE 2 goes wild in terms of colours, the original actually features more stylized art design—character textures are smooth and almost painterly. Character models are also somewhat low-poly. Loosum’s model in RAGE 1 is almost chunky, but, again, because of the painterly look, this doesn’t detract too much from the visual experience. While RAGE 2 certainly doesn’t aim for photorealism, models are substantially more rounded out, with added polys where it counts: Hair is notorious difficult to render on lesser hardware and RAGE 1 opted for literal “hair helmets”—Loosum had bangs that stuck out beneath her helmet.
RAGE 2 features polygonal, animated hair, as is standard now. Moreover, clothing and incidental details on character bodies—from knapsacks to weapons—receive boosts to poly counts. This makes for bodies, and objects attached to them, that are shaped much more organically. Subsurface scattering is also evident, with light transport through skin accurately modelled. While RAGE 2’s character models are better on a strictly technical level, we have to say here that, at least at an aesthetic level, the original’s painterly style is more pleasing. The Uncanny Valley is a strange place—increasing fidelity while retaining a stylized design can result in characters that just don’t look right—creepy movie Sonic, for instance.
Lighting is an area of clear improvement in RAGE 2 compared to the original. id Tech 5’s main drawback was an over-reliance on Megatexturing. Regular forward-rendered games utilize pre-baked shadowmaps but also make liberal use of dynamic lights where they’re needed. The Halo series, and Killzone on the PS Vita are good last-gen examples of forward-renderers with robust dynamic lighting. In RAGE—nearly all shadows were prebaked into the Megatexture, apart from the obligatory dynamic shadows for onscreen characters. Despite the use of HDR and volumetrics, this led to RAGE looking rather flat most of the time. RAGE 2 utilizes Apex’s considerably more accomplished lighting solution.
The lighting model utilizes clustered forward rendering—a solution with the performance of forward rendering and the ability to implement a large number of light sources, as with deferred rendering. Global illumination, first seen in the Just Cause 3 iteration of Apex, is on display here. This is paired with SSAO for a reasonable approximation of indirect lighting. RAGE 2 also makes good use of volumetric effects—the interplay of coloured lighting with dust and smoke is a key aspect of the game’s gory-garish aesthetic. Screen-space reflections are present but used sparingly—would you expect random puddles of water in a post-apocalyptic wasteland? The effect is present nevertheless and adds to the atmosphere where it is employed.
RAGE 2 has a fully-featured post-process pipeline. While there are some that might be turned off by the liberal use of post-process effects here, they’re well integrated into the scene, adding oomph to explosions and combat and emphasizing the gritty, yet stylized art design. DoF and Motion blur are both in play here. Thankfully, neither is overdone. In-game, DoF adds a subtle blur to the far distance, while a shallower depth of field is used in cutscenes. Motion blur is of the per-object variety and, together with the smooth animations, helps to keep combat feeling kinetic. Chromatic aberration is present here as well. There is, thankfully, there’s simple toggle to turn it off on PC if you aren’t that interested in simulating the flaws of a camera at the expense of GPU resources.
As most recent titles have done, RAGE 2 eschews hardware MSAA in favour of a post-process temporal AA solution. What we’re seeing here is an evolution of the TAA implementation in Just Cause 4 and the output is just as good: coverage is excellent, with both transparencies and geometry getting AA. The “temporal” component is spot-on, with minimum shimmering in motion.
On PC, at the top AA quality setting, TAA is paired with FXAA—TAA irons out the more obvious jaggies and FXAA adds an extra layer of coverage on top. There is an impact on sharpness due to this, but we feel that the slightly softer output blends well with the post-effects heavy nature of the game.
Dynamic Resolution Scaling
A staple in an era of anaemic console hardware, dynamic resolution scaling is curiously omitted from the console versions of the game but makes its way onto PC. It’s quite useful when you’re in an edge-case scenario—for instance, RX 480-class hardware hands in framerates in the mid-50s when running at 1080p. Rather than just dropping down to 900p, the dynamic scaler drops resolution only as much as needed. Because of the excellent temporal antialiasing, and because of the game’s soft focus, post effects-laden presentation, you’re not likely to notice a huge impact to image quality.
Conclusion: An Interesting Evolution of the Apex Engine
We were, admittedly, a bit worried last year when we got word that, not only was RAGE 2 not being developed by id, but that it’d run on Avalanche’s Apex engine. We were struggling to get Just Cause 3 to run somehow without horrible stutter at the time. Apex didn’t make for a very good impression at the time. We’re pleasantly surprised with RAGE 2, though. While performance remains an issue, at least on PC, the game itself is a joy to play, and the best of both worlds: frenetic, DOOM-style shooting paired with Avalanche’s signature propensity towards pyromania. Playing RAGE 2 at the same time as Just Cause 4, we had an interesting experience in seeing exactly how Avalanche adapted their engine for a relatively more focused first-person experience. A decade ago, Carmack and id-developed the original RAGE with the goal of creating a fluid and good-looking shooter. While you’ll definitely need faster hardware, Avalanche succeeded in doing much the same with RAGE 2.