Maybe he really really doesn't understand how the JVM works ? This boggles me, because thats the only solution I can come up with...

Remember that we're talking mobile java here, where there isn't such a thing as 'the jvm' as it's a different one on each phone, right? I can't really dismiss his statements. After all, he has got much more experience with developing games on mobiles than me.

Perhaps a more important thing to notice in his article is his notion that soon we'll have mobile phones with the power of something between an XBOX and an XBOX360. So then the 'for resource constrained platforms' argument will be void, which will make you wonder where BREW will be then. Especially when you consider that you don't have the same profit potential on mobiles that you have on consoles, so in effect less budget to develop games.

I know, I know, people don't like it when you say anything bad about java. But, seriously, j2me is so bad it makes baby jesus cry.No two phones work the same, it's EXTREMELY slow (no proper compilation does that), and it helps enforce the misconception that java in general sucks.

I've talked with one guy from Gameloft when I attended the Montreal Game summit last fall and he told me that J2ME game developpers are very good at optimizing the byte code of their games with optimizers. Not that it's a simple and particularly pleasant task. If a simple developper tries to develop something in J2ME by its own then I might not have the proper expertise to speed up its game and come up with conclusions like yours. But I'm not contradicting you about the lack of performance of CMV.

It's not really possible to gain any major speed benefits by optimising the byte code.. we're talking an improvement of perhaps 10%, if you're lucky. And that still leaves java waaaay behind native apps.

(note that I'm talking specifically about CLDC and MIDP here, and that I realize this is the KVM implementor's fault. But the fact is still there.. it sucks)

I know, I know, people don't like it when you say anything bad about java. But, seriously, j2me is so bad it makes baby jesus cry.No two phones work the same, it's EXTREMELY slow (no proper compilation does that), and it helps enforce the misconception that java in general sucks.

I work with j2me prefessionally and yes, it sucks but only because the phone manufacturers do crazy stuff with their implementations.That is not j2me's fault.Everything in and around j2me revolves around what the phone manus do. If they give you a crappy version, there is not a flipping thing we can do.

And let us remember one thing, these are phones. J2me is an added bonus by them. The phone manus hope to sell more devices if it is on but, if you check out the effort they put into the sdks, you'd see they don't really give a crap.We are happy to get working emulators.. and even better if they act nearly like the devices.

Quote

It's not really possible to gain any major speed benefits by optimising the byte code.. we're talking an improvement of perhaps 10%, if you're lucky. And that still leaves java waaaay behind native apps.

You can forget about getting your hands on the a system sdk.Not to mention the systems are different for each device.

I've talked with one guy from Gameloft when I attended the Montreal Game summit last fall and he told me that J2ME game developpers are very good at optimizing the byte code of their games with optimizers. Not that it's a simple and particularly pleasant task. If a simple developper tries to develop something in J2ME by its own then I might not have the proper expertise to speed up its game and come up with conclusions like yours. But I'm not contradicting you about the lack of performance of CMV.

A single developer will not be able to know what will work on each device.We have extensive documentations about all this stuff and a toolchain to match.

Also you want to reach as many customers as possible and that means covering everything from the low to high end.S30/40/T610's slow as a snail with 96x65 & 64kb limit to SE750s with massive power and high res screens (compared to S30/S40s).

Also you want to reach as many customers as possible and that means covering everything from the low to high end.S30/40/T610's slow as a snail with 96x65 & 64kb limit to SE750s with massive power and high res screens (compared to S30/S40s).

I couldn't agree more. I previously had a Siemens S55, which while generally a great phone for it's size (at the time) was so slow, that you couldn't draw the tiles for a 2D platform type game in real time, without using the siemens specific libraries. Some lovely bugs in the event handling too, if you try to use the SMS library. My current Sony ericcson 750i is about a factor of 10 faster, possibly more.

However from a games perspective, the awful keyboard support is a real limiting factor. John's spot on in this comments there. But then, its a phone not a hand-held game.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org