Tech Analysis: RAGE HD
Digital Foundry on Carmack's latest iOS side-project.
Also, it's fairly apparent that no platform or version of the game runs with any form of anti-aliasing.
"The game does not have anti-aliasing enabled. I had it working for the QuakeCon demo, but I disabled it because it had a huge performance penalty, which I still don't fully understand," John Carmack posted on the TouchArcade forums. "A tiled graphics chip should have much less AA overhead than a frame buffer based one. I still need to follow up on this."
Visually, RAGE HD is definitely a treat. The fact that it stands up so well running on an HD display is testament to the quality of the base tech, but it is perhaps something of an exaggeration to suggest it compares with the Xbox 360 or PS3 - the impression is very much of an Xbox 1 style of game operating at a higher resolution. Elements of the idTech 5 megatexture-streaming system used in the forthcoming versions of the game are repurposed for the iOS platforms,
"The approach used for mobile RAGE is to do the texture streaming based on variable sized contiguous 'texture islands' in the world. This is much faster, but it forces geometric subdivision of large surfaces, and must be completely predictive instead of feedback reactive. Characters, items and UI are traditionally textured," Carmack noted on the Bethesda Blog.
"We build the levels and preview them in RAGE on the PC, then run a profiling/extraction tool to generate the map data for the iOS game. This tool takes the path through the game and determines which texture islands are going to be visible, and at what resolution and orientation. The pixels for the texture island are extracted from the big RAGE page file, then anisotropically filtered into as many different versions as needed, and packed into 1024×1024 textures that are PVRTC compressed for the device."
As RAGE is an on-rails shooter it appears that the game's art assets are built around the exact trajectory the player takes through each level, ensuring a high-quality graphical experience at any given point (and also precluding the chance that the game could support free, off-rails exploration). There are some issues with texture quality levels shifting right before your eyes, but this may well be down to how the assets are streamed in from the device's flash memory - an issue Carmack muses upon in his Bethesda blog posting.
Bearing in mind that RAGE is such a close match to DOOM Resurrection in terms of gameplay, Carmack also imported elements of the existing code into his existing toolbox of iOS modules.
"What we did have was DOOM Resurrection, which was developed for us by Escalation Studios, with only a few pointers here and there from me," he says. "The play style was a pretty close match (there is much more freedom to look around in RAGE), so it seemed like a sensible thing. This fits with the school of thought that says never throw away the code."
There's not much you can disagree with about yesterday's 6/10 Eurogamer RAGE review. It is a limited game, but it is so by design. It lacks the true long-term lastability of a classic mobile concept-driven title, but there is still plenty of replay value in there - "learning" the levels and improving performance and score are rewards in themselves. Combine this with the absurdly low price point and it's something of a must-buy.
Carmack and his mobile team aren't finished with it either. Game Center support is going to be added, and you can't help but think that friends comparisons and more detailed game stats could realy play up the score-attack strengths of the title.
Other features are being explored too - for example, a 180-degree flip for catching items you might have missed, along with a "tourist mode" that'll allow you to pause the game and look around the scenery from your current point to better appreciate the environments. Discussing game improvements directly with users on the TouchArcade forum, Carmack seemed particularly taken with the notion of adding in a mirror mode to further spice up the game. Two additional iOS RAGE games along similar lines are also being mooted for a potential release before the full title ships on PC/360/PS3.
Related to that, there is still the sense that the id tech mastermind would love to get his hands really dirty and produce a state-of-the-art experience for the iOS platforms that is written from the ground up to his own exacting standards.
"I have a good idea what the codebase would look like if I wrote it from scratch. It would have under 100k of mutable CPU data, there wouldn't be a resource-related character string in sight, and it would run at 60FPS on new platforms/30FPS on old ones," Carmack says in his Bethesda blog posting.
"I'm sure I could do it in four months or so (but I am probably wrong). Unfortunately, I can't put four months into an iPhone project. I'm pushing it with two months - I have the final big RAGE crunch and forward-looking R&D to get back to..."