Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Portables (Games) Wireless Networking Hardware

John Carmack's Cell Phone Adventures 109

Mr. Carmack has updated his blog with news of his latest interests. Apparently mobile gaming on cell phones has consumed a large portion of his time of late, and he has some witty commentary on programming for the emerging game platform. From the article: "I'm not a cell phone guy. I resisted getting one at all for years, and even now I rarely carry it. To a first approximation, I don't really like talking to most people, so I don't go out of my way to enable people to call me. However, a little while ago I misplaced the old phone I usually take to Armadillo, and my wife picked up a more modern one for me. It had a nice color screen and a bunch of bad java game demos on it. The bad java games did it."
This discussion has been archived. No new comments can be posted.

John Carmack's Cell Phone Adventures

Comments Filter:
  • by Hast ( 24833 ) on Monday March 28, 2005 @01:11PM (#12066908)
    Transferring the MIDP program is hard? I just drag and drop it to the root in the Bluetooth folder and it is uploaded. I'd think you can do the same thing over IrDA or USB, but I don't know as I've never tried.

    Uploading new data files can be a lot more of a bother though I guess. I've never tried that.
  • You're right, there has been an enormous increase in J2ME execution speed as well as feature set in the recent past. I've been doing some J2ME developement some weeks back - it really is very easy to get into once you have an IDE running - and I was surprised. For instance, the popular Sony Ericsson T610 is just awful wrt to Java: it only supports the very basic MIDP1, and it's extremely slow. My own Nokia 6230 supports MIDP2 and is more than 10x as fast. But it doesn't end there, today's phones are still 2 or 3 times faster than that.

    There is an excellent resource [club-java.com] available at a French Java website, very much required reading if you're interested into J2ME development I'd guess. It lists most available Java phones, their feature set and speed.

    Of particular interest in responce to Carmack is the comparison with P3 execution speed: "As fast as a PIII (without Java compiler) at 1,477.2MHz" (that's a Nokia 6630). That said, I don't see how even a 3G smartphone could equal the execution speed of a 1.5Ghz P3, so that kind of makes their whole benchmark a bit dubious. Unfortunately Carmack only mentions just one handy (Motorola i730) which isn't listed on the page (hey John, download their benchmark and send them the results!). The fastest Motorola they do list (V600) is as fast as, haha, a PIII 16.7 MHz (still twice as fast as a T610!), so maybe Motorola just stinks in terms of Java execution.
  • by Klowner ( 145731 ) on Monday March 28, 2005 @02:52PM (#12068007) Homepage
    Carmack is a smart guy, he can tell the difference I'm sure. In his reference to "Armadillo", he's most likely referring to his cool rocket development group which is named "Armadillo Aerospace", iirc.
  • by Wyatt Earp ( 1029 ) on Monday March 28, 2005 @02:57PM (#12068067)
    He means Armadillo Aerospace

    http://www.armadilloaerospace.com/n.x/Armadillo/ Ho me

    "Armadillo Aerospace is a small research and development team working oncomputer-controlled hydrogen peroxide rocket vehicles, with an eye towards manned suborbital vehicle development in the coming years. The team currently consists of a bunch of guys, a girl, and an armadillo named Widget. Ourfearless leader, John Carmack, will lead us to space and, well, outer space. Please feel free to make yourselves at home and check out our journey."
  • by Screaming Lunatic ( 526975 ) on Monday March 28, 2005 @05:10PM (#12069708) Homepage
    John Carmack reasons very simple from a game developer point of view. Basically anything that gets in the way of direct access to the hardware annoys him. This way of thinking about writing software is not really suitable for mobile development.

    Bullshit. What Carmack is asking for is value types. That arrays of data be laid out contiguously. He's not asking for direct access to hardware. He's asking the runtime to not be so damn brain dead.

    Supporting value types will not destroy hardware abstraction.

    And this not a game developer's point of view only. For example, .NET/CLI supports value types.

    This is based on a fundamental principle of computing that contiguous data access is better than non-contiguous data access. Period.

  • by John Carmack ( 101025 ) on Tuesday March 29, 2005 @04:08AM (#12074071)
    I did try running that benchmark, but it won't load on the i730 (score one more for run-anywhere...).

    One of our test platforms is a fairly high end Sony Ericsson, which is 10x as fast as our Motorola base platform. For a 128x128 screen, the Motorola renders about 4 fps and the Sony renders about 40 fps. Compare with Wolfenstein-3D performance (the DoomRPG engine has some extra graphics features, but it is still in that general class) at that resolution on older systems. A 386-16 would go significantly faster.

    Note that the "As fast as a ..." comparisons from the benchmark are against purely interpreted java on the P3, which is about 1/10th the speed of a native implementation, and benchmarks that focus on expression and control operations will overestimate relative performance for applications that are array access heavy. Still, if a java app on that phone performed like a P3-100mhz, it would be pretty impressive.

    It is true that a good JIT (which the phones don't have) can make java code go nearly as fast as C/C++ code that is written in the same style. The "in the same style" part is often overlooked -- in lower level languages you often have options for implementation with pointers and CPU tailoring that would make the code look very different, but go significantly faster.

    I still generally like java, and maximizing performance is only important in a rather limited subset of software engineering.

    John Carmack

Those who can, do; those who can't, write. Those who can't write work for the Bell Labs Record.

Working...