Rage for iOS is a fun little game at an unbeatable price. And it is one of a few titles on the iPhone, iPod Touch or iPad that brings us a taste of current console generation eye-candy. But it is not groundbreaking. And in some ways, now that the dust has settled it’s a little bit of a disappointment to the hardcore gamer in me.
John Carmack and his team at id software are all very talented developers. And their pedigree is well established in the dungeon crawler game genre. I am personally a fan of id’s software. Carmack’s career has more or less spanned the same era in the computer industry as mine, and we specialise in similar fields of CG. So I find his occasional blogs, and more frequent tweets on his coding experiences to have a familiar feel to them in their approach to technical problems and the logic behind solutions to those problems.
Carmack is a geek, and as such he is genuinely happy to share what he finds, and even post past creations for free as open source bundles. In many ways his approach to developing the Rage Tech engine for the iPhone has been more akin to a true indie bedroom hacker’s modus operandi, than that of the increasingly more cynical mainstream iOS developers. id have shared access to early software ideas, and spoken with the gamer community on pretty much all of their recent projects. The Rage engine, and Rage the game for iOS is no exception. And john has shared his solutions to problems he found when developing the more tricky technical aspects of Rage.
Put simply Carmack has done what few people who have, or are still developing engines for iOS have done. And that is leverage the Unix underpinnings of iOS, a strong knowledge base of how to code a game engine spanning back to an era when hardware was much less powerful, and the similarities between desktop Open GL and mobile OpenGL ES to produce a scaled down, but ambitious console style engine for Apple’s mobile eco-system. For the past 18 months some of you may know that I have also been involved in producing a similarly ambitious engine for a very different genre of game, also for iOS. So id’s progress in producing more immersive, more “grown up” (if you will) iOS games is something I am really keen to see succeed. Just as I am also keen to see Epic produce something special with their engine for iOS.
But recent news from Epic, and what we actually got with Rage / Rage HD have me a little concerned. Infinity Blade, the game based in Epic’s new iOS engine and the “Epic Citadel” environment shown in Epic’s free technology demo on the App Store, is looking more like a basic ring based combat game, albeit a pretty one based in a cool environment. And Rage is basically a rail-shooter. Again, sure it’s a damn good rail-shooter. But it’s not a real FPS with facial hair, and certainly not an RPG. Nor does it look like it’s going to embrace multiplayer anytime soon.
Now there are reasons why developers are A: scared & B: having genuine problems putting fully blown RPGs on the iPhone. Some of those reasons are very simple. When the average price of a game on the App Store is $1.99, and an RPG or FPS of any merit needs a massive development team, and tons of development time for game assets like textures and models, and let’s not forget the coding, it is very hard for anyone who is not independently wealthy or backed to the hilt by big publishers, driving established IP to produce something of that scope. Believe me, I know, I’ve been working on an RPG for iOS now since the first iPhone hit the stores. And we’re not close to getting it finished this year even!
But in id and Epic’s case, they are backed by large publishers, do have strong IP, and they can ensure that a product gets promoted so that it sells. They also have the gaming pedigree to bring something more ambitious to the iPhone than EA.
When interviewed by TUAW Carmack had this to say:
There is absolutely zero doubt,” he replied, “that you can technically do an excellent, full-featured FPS game, because these devices are more powerful now than like a previous generation Xbox. They’re still multiple intervals away from like a 360 or a PS3, but they’re in the same order of magnitude, so there’s no doubt that you could compile and build a wonderful FPS.” We have seen a few good FPS games out there (NOVA and Archetype come to mind), but as Carmack said, “they’re not as large of a success as Angry Birds.
Apparently id plan to bring other aspects of the Rage universe to iOS before the full Rage FPS / RPG is released on consoles next year. Carmack hinted at a racing game as one of these titles (there is a lot of racing in Rage – as well as killing mutants). So it seems the plan is to give us bite sized tastes of the Rage universe as teaser ads for the main event on home consoles. Which is disappointing. We get those kind of AAA title tie ins from all the other publishers.
So, is it technically possible to bring a decent FPS to the iPhone? I certainly think so. And so does John Carmack. Is there a market for it? I think so too, and hope I am not wrong as I have put 2 years of my career into one.. so far.
One of id’s fears for Rage was that the massive download for Rage HD would turn App Store customers off. So they produced a lower resolution version, identical in every other way, but without the HD moniker. In actual fact it has turned out so far that the HD version of Rage was the most downloaded version of the app by far. “Rage” was languishing at number 30 in its slot in the App Store, while “Rage HD” was number 1 on launch day. So I would say there is a market for 750MB or bigger game downloads, and games with more scope, as well as more grown up violence or mature strategy than your average run of the mill iPhone “snack” game.
One of the reasons Rage is not a fully roaming FPS on the iPhone is because if the game has control over what you see, and when you see it, and from what angle, then a lot of the game environments, and enemy flow can be predetermined before hand so that assets such as textures and sound effects, as well as models are all cached into memory at the appropriate time. This reduces load times, and frame stutters when trying to get very high fidelity graphics to the screen.
With the month or two of serious development that Carmack has been able to put into Rage a fully featured FPS was probably not on the cards. But they have laid some great groundwork with a mobile version of their engine. The underlying technical reason for why you can’t roam freely around in Rage Mutant Bash TV on iOS is really all about the level design. Unlike the mutants and collectable objects the environment textures in Rage are all predicted based on your “flight path” through the game and pulled in and out of memory mapped space as and when needed. SO levee design at the moment is a big one way only database.
Whilst that system could theoretically work with you free roaming, going backwards through the data, and perhaps allowing you to look in any direction in a room at any time would mean that a lot more data is available immediately to the game engine. Something that is beyond the scope of where id are with the Rage Tech engine right now.
It is interesting, surprising and refreshing to me, that id did initially start supporting older devices with Rage. i.e. Pre 3GS devices which only support the older Open GL ES 1.1 standard for graphics. And according to Carmack, that is still pretty much the case in Rage as we see it today on the iPhone. But the market for gaming on those devices is seen as very small now. So any future product from id would seem to be planned for 3GS devices and newer, as well. This is a similar conclusion, and identical initial approach that I took with my first iOS engine; Virush 1 is completely Open GL ES 1.1 compatible. Where as our new internal development engine Virush 2, whilst still able to fall back and run on older devices is 100% focussed on OpenGL ES 2.0 graphics. In other words – shaders!
I would expect that more reliance on shaders, and putting a more flexible database together for Rage on iOS is where John Carmack would like to go next. It’s certainly the route I have taken with the engine I am working on. But the issues of getting assets into memory on time in a free roaming game with a large scope is really what separates the very good engines from the good ones. A lot of this is to do with the quality of imagery we as players expect today. Sure the devices we have in our hands are comparably powerful to last gen. consoles. But in last gen. consoles we weren’t quite pushing the same boundaries with data-set sizes, texture resolution, or screen quality in the case of the iPhone 4 and iPad for example. Nor were we exploiting networking, multiplayer or even social networking the way we do now. All of these things, on a system in our hands which is also checking for mail, accepting push notifications, playing 3D sound, and running accelerometers and touch screens off of a tiny battery are huge concerns for game makers pushing the boundaries.
Some of John’s later comments on his own blog about how the Rage engine came together for iOS seem to hint that he has based quite a lot of it on earlier code. But he would rather re-write it from scratch. I too know that feeling!
All in all it seems that the future of a full fledged id FPS on iOS is something that may come in the future. And may come sooner rather than later based on the positive feedback that Rage HD : Mutant Bash TV is getting.
I fervently hope so. My mind is firmly fixed in developing space RPGs. A far more niche genre than dungeon crawling. But id’s link to Bethesda, and the thought of the likes of a full Rage for the iPad, or Fallout even makes my mouth water.
Is something more like Doom, Fallout or Wolfenstein what you expected from the gameplay in Rage for iOS? Or are you super happy with what we got, and excited for more of the same? Have your say in the comments…
This post is a part of our series of opinion articles, in which we encourage our writers to present their opinion on something they feel strongly about.