John Carmack On RAGE For iOS/Android
Andrew Smith writes "John Carmack has an article up on the Bethesda blog discussing the iPhone/iPad version of RAGE, which is said to run at an impressive 60fps. 'Managing over a gig of media made dealing with flash memory IO and process memory management very important, and I did a lot of performance investigations to figure things out. Critically, almost all of the data is static, and can be freely discarded. iOS does not have a swapfile, so if you use too much dynamic memory, the OS gives you a warning or two, then kills your process. The bane of iOS developers is that "too much" is not defined, and in fact varies based on what other apps (Safari, Mail, iPod, etc) that are in memory have done. If you read all your game data into memory, the OS can’t do anything with it, and you are in danger. However, if all of your data is in a read-only memory mapped file, the OS can throw it out at will.' And a tweet by Carmack yesterday suggests that an Android version of RAGE is on the way too."
Is he angry about Android?
No, no sig. Really.
ThePromenader
Well, I'm not doing badly on this one - I have a rough idea of who John Carmack is, I know what iOS is and I know what Android is. So... any hints on what RAGE is other than the obvious "fury" type comments?
What is up with that?
a port to our favorite penguin-powered platform is imminent? I think I recall ID telling us there'd be no linux version of RAGE technology!
Oh good gracious people...
RAGE is a game being developed by iD Software. It is their NEW IP, like Doom, Quake, etc. It is a FPS/Racing/Open World game set in post-apoc world. It of course pushes graphical boundaries and expounds upon the mega-texturing idea essentially letting the artist "paint" an infinte amount of detail onto the surface of the world. John Carmack, being the genius that he is, was able to get this working on a freaking iPhone (a scaled down version).
I wasn't aware it was available on any platform as of yet. Where is the game?
To break down the question: Why do we need this much fps in a game on a ~4 inch screen?
To understand the importance of the question, we need to understand how human eye works, and how it processes images.
Essentially, we have two kinds of cells in our eye capable of sensing light. One is capable of sensing shades of gray, and other senses a certain color (there are three different cells in this category, sensing different light wavelengths). Notably, cells sensing shades of gray can track many more image changes/second then those sensing colors due to their original purpose - tracking movement (for hunter-prey scenarios). Another thing to note is that while focus of our vision, the area that covers a very small center zone of our field of view houses vast majority of the cells that can sense colors, most of the gray-sensing cells are housed outside focus, in area of peripheral vision.
As a result, when you play a game on a large screen at home, a large portion of the screen's image is sensed by the area out of focus, and when your frame per second counter is below 60ish, the out-of-focus area begins to see separate images, while your focus still sees the flowing animation. This is what causes the uncomfortable discrepancy during high motion scenes when viewer still sees the fluid animation in his focus, but his peripheral vision doesn't, making the image look "choppy".
Now, enter mobile phones. The screen is actually small enough to mostly, if not entirely fit into our focus. This drastically cuts the need for high fps.
So why is Carmack talking about 60 fps on a graphics engine designed for phones? Is he actually clueless about the issue, is it marketing speak, or does he simply want to advertise to developers who may not be as familiar with the issue as he himself is?
If a lowly phone with a 2003-era GPU can manage this, how come we need dual or even quad core PCs and gigs of RAM for many modern games just to get *acceptable* performance? I'm guessing this is because the process of making a PC game goes something like this these days for most companies:
A. Release console game.
B. Re-compile it for a Windows PC.
C. Include some unwanted garbage that installs hidden drivers or services on the customers' machines. Bonus points for making the consumer sign up for a service just to save their progress in the single-player game.
This is why I don't buy PC games anymore. I seriously saw a PC game tell me to "press START" yesterday. It was hard to hold back the laughter.
Yep, the only modern PC game I play regularly is The Dark Mod. (www.thedarkmod.com). I have ZERO faith in Thief 4.
Hopefully Carmack won't let us down though. He never has in the past. Doom 3 was great!
Regardless, below 60 looks like crap to me. It might not be an issue for you, but I definitely prefer 60fps. Even on an iPod Touch. I don't know why Canabalt has to run below 60fps and it sucks.
Android? Are you serious?
What about Linux port???
How many people do you think will buy Android version and How many people will download Linux installer?
I'd prefer that id spend a little more time on GAME, less on getting said product to run on the phone in your pocket.
I mean, have you actually PLAYED the last 3 crap titles from id? Bleargh.
I will always respect id for what they invented for computer gaming. The number of hours I wasted trying to control Canalzone alone....
But really, they haven't produced a game worth PLAYING since Quake2.
-Styopa
Paper on this at https://docs.google.com/fileview?id=0BzM4orHA3iGxMTUyNzQ3MzMtOGM1Ny00NjU3LWI4OTEtYjkyZGJmOTI4ODNi&hl=en
See page 51
iOS does not have a swapfile, so if you use too much dynamic memory, the OS gives you a warning or two, then kills your process. The bane of iOS developers is that "too much" is not defined, and in fact varies based on what other apps (Safari, Mail, iPod, etc) that are in memory have done
That clearly reminds me PalmOS (the 3.0 to 3.5 Palm time), where you didn't even have enough RAM allocated dynamically to be able to do such a simple thing as decompressing a Gif file (the lookup table didn't fit in it). Like with the iOS now, the doc was pretty much not clear about how much RAM you could allocate when running an application, but we finally found that we could only count on 32MB !!! So, at the end, after 10 years, phone operating systems didn't evolve much in terms of stupidity... :)
How about he makes a game with this engine before porting it to other platforms. I haven't seen anything with this engine, its becoming the Duke Nukem of game engines.
surely 01/01/01 (that's 2001) would be nine (almost ten!) years old, and therefore unable to read the article.
honestly, I didn't die hunting down and exterminating mutants like you in the Ed Yourdon milita just to have to tolerate slurs like that!
the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff