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."
Re:Cell Phone (Action/Adventure) Games Are Terribl (Score:3, Informative)
Uploading new data files can be a lot more of a bother though I guess. I've never tried that.
Re:That's gonna give the Java fanbois an aneurysm (Score:3, Informative)
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.
Re:Armadillo = Amarillo? (Score:3, Informative)
Re:Armadillo = Amarillo? (Score:2, Informative)
http://www.armadilloaerospace.com/n.x/Armadillo
"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."
Re:That's gonna give the Java fanbois an aneurysm (Score:4, Informative)
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.
Re:That's gonna give the Java fanbois an aneurysm (Score:5, Informative)
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
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