Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
First Person Shooters (Games) Cellphones Portables (Games) Games

John Carmack On RAGE For iOS/Android 105

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."
This discussion has been archived. No new comments can be posted.

John Carmack On RAGE For iOS/Android

Comments Filter:
  • Rage? (Score:5, Funny)

    by ThePromenader ( 878501 ) on Saturday October 30, 2010 @12:34PM (#34073906) Homepage Journal

    Is he angry about Android?

    • Re: (Score:2, Funny)

      D'roid rage?
      • Re: (Score:2, Funny)

        by Anonymous Coward

        DROID ANGRY, DROID SMASH

    • Re: (Score:2, Informative)

      by klingens ( 147173 )

      RAGE is the 3D game engine Carmack/id Software wrote. Now they want to port it to smartphones and pads to enable others to build 3D games there.

      • Re:Rage? (Score:5, Informative)

        by Narishma ( 822073 ) on Saturday October 30, 2010 @01:55PM (#34074434)

        No, the RAGE engine (which stands for Rockstar Advanced Game Engine) is the one used by Rockstar in their various recent games (GTA4, Red Dead Redemption and others). id Software's engines are called idTech and the one used for Rage the game is called idTech 5.

    • The Android port isn't a given. He's since tweeted [twitter.com] "I am going to take a stab at bringing Rage up on Android soon, but we have NOT committed to a product".
      • Re: (Score:3, Insightful)

        I don't blame him, I would be hesitant of committing to shipping such a demanding, immersive application with the same performance on Android as can be delivered on iOS.

        I got modded down the last time I tried mentioning this [slashdot.org], but as someone currently making an income from Android development:

        Android audio is a MESS.
        Even if it improves anytime soon, not all devices will be getting OS upgrades.
        Other unresolved issues I've mentioned [slashdot.org] are why fragmentation is becoming a more and more valid criticism of the platf

  • What is up with that?
    • Re: (Score:1, Offtopic)

      by MachDelta ( 704883 )

      Welcome to the world of video games, where everything is wrapped in thick layers of bubble wrap and plastered with warning signs because, "O-M-G, think of the CHILDREN!!!!!1`1"
      Input your age to view this, input your age to read that, input your age to input your age so we can ask about your age and make sure you are of age! It's fucking ridiculous. But video games have been labeled as a bogey-man, so god help us we'll pressure and legislate the piss out of them until they are completely safe for your childr

    • You'll notice that it's hosted by Bethesda.

      Most big gaming companies have been putting all their content behind such an age-wall. I assume they think a 14-year-old won't be able to figure out how to get past it.
    • Put in 01/01/01 (that's 1901). Maybe someone will read the logs and figure out that there's a huge market of 109-years-old who surf the internet and play violent video games on mobile devices.
      • 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!
  • by rkoot ( 557181 )
    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!
    • Re:so... (Score:4, Insightful)

      by gilesjuk ( 604902 ) <giles DOT jones AT zen DOT co DOT uk> on Saturday October 30, 2010 @01:12PM (#34074136)

      Android applications are written in a Java style runtime. It's not native Linux code.

      Android applications can call some native code, but it's a bit like JNI in Java.

      One can expect the frame rate of the Android version will be lower than the iOS version for that reason, it's not 100% native code.

      • Re: (Score:1, Informative)

        by Anonymous Coward

        I think the only important Dalvik dependency for a native game is on audio and I/O -- stuff like app setup simply isn't relevant from a performance perspective. OpenSL ES should take care of the audio part, if/when that arrives (2.3? 3.0? who knows?).

      • Re: (Score:3, Informative)

        by Anonymous Coward

        That's not true. You call into native and you can stay there entirely for the rendering portion so there is no JNI back and forth overhead only native.
        You need the Java code just to setup the windowing system and provide integration with the platform.
        Currently Android has slightly lower FPS than iPhone because it uses an outdated FP library.

      • by brkello ( 642429 )

        I wouldn't expect that at all. You can write as much or as little as you want natively. Why are you making stuff up?

  • I wasn't aware it was available on any platform as of yet. Where is the game?
    • Re: (Score:3, Insightful)

      by MachDelta ( 704883 )

      Not out yet. iD and Epic are just having a bit of a pissing match with "Our latest nexest-gen video game engine with gobs of megatextures and pixel-threaded-hyper-polygons will run on *gasp* an iPHONE! So when you're looking to make your next craptastic overpriced piece of shit farmworld-on-an-iWhatever, developers, pick me! Pick ME!" Of course, this is ignoring from the fact that they look like ass and are utilizing the worst control scheme known to man.

      I'm half expecting someone to announce next week that

      • I'm half expecting someone to announce next week that they've ported their newest game engine to a freakin' TI-82.

        It's not his newest game, but I wouldn't be surprised to learn, that John Carmack has ported Commander Keen [wikipedia.org] to the TI-82 ...

  • by Luckyo ( 1726890 ) on Saturday October 30, 2010 @01:28PM (#34074244)

    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?

    • I personally get the impression that John Carmack is filled with geeky pride that he got Rage running at 60fps on an iPhone. I know I would. I don't think this is really any kind of marketing strategy.

      I find a 60hz refresh rate on an iPhone device impressive, mostly as a feat of engineering. Carmack tends to be a developer who tries to get every ounce of computing power out of whatever platform he's working on.

      • Indeed. The only reason why we're still talking about him is that he does things like this in an effort to see how far he can push the boundaries. The iPhone is a terrible platform for this sort of thing. The controls alone are enough to doom it to obscurity, but it's an interesting programming and design challenge and a way of reminding the other developers that he hasn't gone soft. I'm sure it's also serving as a way of making sure the engine scales well and has other practical applications as well. But h
        • by Thing 1 ( 178996 )
          Half style points for using "doom", but you should have also added something about "competitors will be quaking in their boots". And also, "he's got a keen eye for detail", or something.
      • But its not a 60hz refresh rate, its 60 fps. They imply different things. The 60hz would be up to the screen, the 60 fps means the game + graphics processor can feed that many frames per second to the display driver, but if the display driver only does 45hzs.. Then unneeded frames. If the screen does 120hz refresh rate, then the 60 fps is really only feeding the display driver half of what the actual display panel is capable of
    • by willy_me ( 212994 ) on Saturday October 30, 2010 @01:46PM (#34074382)

      So why is Carmack talking about 60 fps on a graphics engine designed for phones?

      Generating graphics is not the only task given to the CPU*. There are many other parts to a game that all require CPU time. So if a game can get high frame rates it implies that there will be some CPU available for the other important parts of a game.

      *And I realize that the GPU does most of the work with graphics but the CPU is also an important part of the equation.

    • Well he probably does not have a degree in human biology, so it's understandable...
    • I'm pretty sure it's just anecdotal. I'm not really sure why you would want to actively throttle the fps, it's probably not an issue. Think "Oh, look, it's running at 60 fps."
    • Re: (Score:3, Informative)

      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?

      Or perhaps, just perhaps, he is happy about 60 fps on a phone, simply because it gives a 100% headroom for situations and games that require more than the RAGE demo?

      I don't know about you, but personally I'd rather have 100% headroom than 0%.

    • Maybe we don't need 60fps, but certainly the more the better, especially that no game runs at x fps flat - there are always more graphics-intensive scenes when the framerate drops significantly.

      But IMHO he's just bragging, he showed only some very low poly scenes there.
    • I think he's trying to show off the flexibility of the RAGE engine. Let's face it, id's first engine titles are showcases to win licenses...that's where they make their real money. Think Quake 3 engine, and (a failure to many) the Doom 3 engine.
      • Re: (Score:3, Interesting)

        by Narishma ( 822073 )

        They're not in that market anymore. They do not want to license (and support) their new engines.

    • I can definitely see why you'd want it on a tablet, even if you don't on a phone.

    • "Is he actually clueless about the issue"

      I'm sure the number of relevant issues that Carmack is ignorant about could be counted on no hands.

    • The majority of gamers would disagree with you.

    • by UnknownSoldier ( 67820 ) on Saturday October 30, 2010 @04:29PM (#34075384)

      Sorry for sounding like a jerk, but your exposition on rods and cones is all nice and good, but it is _completely_ missing the point, and tells you have never actually shipped a game.

      1. You provide "head room" or "breathing room" so when the level designers and artists go crazy, you don't blow you frame rate budget,
      2. If you can't hit 60 Hz when you ship, you can still EASILY hit 30 Hz. It is MUCH harder when you are already barely pushing 30 Hz at alpha/beta and you need to guarantee every playable area needs to hit 30 Hz without having to drastically redo levels / models, and/or optimize code
      3. 60 Hz is smoother then 30 Hz, (yes there are people that can tell)

      > So why is Carmack talking about 60 fps on a graphics engine designed for phones? Is he actually clueless about the issue,
      As he practically _invented_ 3d first person shooters on PC, I _seriously_ doubt that.

      • 3. 60 Hz is smoother then 30 Hz, (yes there are people that can tell)

        Indeed, the vast majority of people can tell the difference between 30fps and 60fps, even on a small device. Even the differences between 30fps and 40fps or 50fps and 60fps are quite apparent to many people.

    • Let's not forget latency. On modern 3D architectures, there can be several frames between when the game engine processes user input and when the result appears on the screen. Typically the CPU is filling out a display list for frame 3 while the GPU is rendering frame 2, and the display is showing frame 1. And this is over any additional latency in input processing. At 60 fps, 3 frames is under 50 ms, while 30 fps it's 100 ms. For an amazing display of what low latency is like, try playing something l
    • Re: (Score:3, Insightful)

      by billcopc ( 196330 )

      He's talking about 60 fps because he's proud to have achieved this level of performance on what is widely perceived to be a piece of shit platform for 3D graphics.

      It's the same pride that keeps the demoscene alive to this day, spurring coders to cram dazzling animations and music in 4096 bytes of mind-twisting code. That drive to bring out a computer's fullest potential through tireless tweaking, profiling and creative thought.

      It is far too easy to be lazy with today's fast PCs and GPUs. There is so much

  • 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.

  • 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... :)

    • by tlhIngan ( 30335 )

      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... :)

      You do

      • Frankly, and excuse me to say it this way, but that's bullshit. If there's 512 MB of RAM, and you can allocate 32 MB only, what's the point of having that much available on the hardware? Just so that the specs looks good for new buyers? I'm ok that there should be limits set somehow, but not like that. How could an application like Stellarium that I run in my n900 run on iOS ? Are you going to say "sorry, there's too much risk that your phone will crash, so I wont let you load all your stars database"?

        As

You can tune a piano, but you can't tuna fish. You can tune a filesystem, but you can't tuna fish. -- from the tunefs(8) man page

Working...