Rage: The Tech Behind Id Tech 5
id Tech 5
When id first announced Rage back in 2007, much of the discussion focused on Carmack's then-new MegaTexture technology, which first debuted in Splash Damage's Enemy Territory: Quake Wars. id Tech 5 has evolved considerably since the company started talking about it four years ago, however. While it contains a number of additional features, MegaTexturing remains one of the game's most visible advances and remains a good jumping-off point for any discussion.
The vast majority of games use a technique known as texture tiling when rendering a game environment. Texture tiling uses a small number of texture tiles to create a large environment. The advantage to creating an environment this way is that it dramatically reduces RAM storage requirements and memory bandwidth overhead. The downside is that it creates extremely repetitive patterns, as shown in the left-hand image below.
Screenshots from WoW's DX11 mode. The only difference is the amount of ground clutter--"Low" on the left, "Ultra" on the right.
MegaTexturing approaches the need to conserve memory bandwidth and GPU storage from the opposite direction. MT uses a single large texture to map the terrain of an entire area. Data from that texture is streamed in depending on where the player is standing and what's visible, but the jarring texture-load issue that plagues console ports isn't necessary. Effects that would normally be blended in traditional tiled texturing can be baked into the megatexture and streamed off disc when needed.
The upper-right image shows the same bits of grass duplicated. MT doesn't preclude the use of more standard texturing methods.
id hasn't publicly released a laundry list of the engine's full capabilities, but one feature we know Rage doesn't support is tessellation. While Carmack acknowledged that tessellation is one way to create more detailed terrain, he noted that supporting tessellation in id Tech 5 would've required bolting it on rather than incorporating it from the beginning.
Under The Hood -
Some of the most important features of id Tech 5 operate behind the scenes. One of the major features of the engine is its ability to run on a wide variety of architectures. In contrast to the Doom 3 engine, which didn't scale particularly well, id Tech 5 is built to run on a huge range of products and in very different environments.
Carmack's latest keynote makes it clear that while he prefers the PC for development purposes, the id team didn't shirk when it came to optimizing Rage for the XBox 360 or PS3. The engine exploits CPU parallelism by categorizing the engine's tasks by job, then assigning those jobs to various SPE's. The technique may be a response to the challenges of programming for the PS3, but it shows how much work has gone into insuring that Rage's engine can scale across devices.
We suspect id Tech 5's multiprocessor, multiplatform support may be one of its most attractive features. Carmack demonstrated part of the engine running on the iPhone 4 back in 2010, and while the company isn't planning to aggressively license id Tech 5, its multi-platform awareness could make it uniquely suited to cross-platform development.
Ultimately, id Tech 5 will rise to prominence (or not) based on the success of its shipping titles. For now, that means Rage. Doom 4 is still scheduled for a 2012 launch, but Carmack isn't sharing details or screenshots on the new title yet. Either way, it's obvious id has further developed their proprietary technologies such that Rage is shaping up to offer yet another environmentally immersive experience for gamers; that and potentially a whole bunch of fun.