How do you ensure portability?

Hello. It’s been ages since I’ve been on these forums. ;D

Anyway, I had a bit of fun with J2ME and MIDP 2.0 trying to develop a simple game.
The main reason I liked it was because it introduces you to basic game
techniques but is also relatively simple to use.

What I would like to know is, how do you make sure your game is compatible
across all mobile phones that run J2ME? I’ve heard that professional
game developers have to compile about 200 versions of any one game.

So I guess my question is, as a bedroom coder, is it possible to make a
fairly compatible game without buying 200 phones to test them on? :o
Can it be done with software emulators? How do people with tight
or non-existent development budgets make their games compatible?

Cheers,

CM

Basically, you can’t.

The best you can hope for is to sell your idea/prototype game to a larger company to develop.

The fragmentation in the market is horrendous, the resources needed to get even a fairly trivial game available on a sufficient number of handsets for one of the carriers to consider putting it on their decks is tremendous.

The subset of midp/cldc that you can rely on as functioning correctly across all handsets is non-existant, I don’t think there is a single method in the entire API that hasn’t been incorrectly implemented in atleast one handset.

That would be an interesting Thread actually :wink:

This is what I’m trying to do with my Platform libraries - you write your game to the Platform API, then link with the Applet lib for a web game, the Nokia series 60v1 for s60 midp1, s60v2 for midp2, the vodafone lib for sharp gx’s, and so on.

I then distribute the game, and as part of that process it gets tested in an operator lab so we’re sure it works on all handsets prior to release.

The only drawback is only the very best games will get published, as there’s so much mediocre stuff out there already.

I suppose I should get round to writing a proper thread about this =)

The overhead of an abstraction layer is significant, you will need a strategy to reduce this overhead to a bare minimum for a portable development framework to be practical.
There are 2 paths such a strategy can take; heavy use of a pre-processor; or byte code engineering.
The choice depends on your available toolset and the development tools you rely on.

Not so. I squeeze every ounce of performance out of the phone with GR++, and there’s little if no overhead with the ‘abstraction’.

I don’t use any preprocessing at all.

J2ME Polish (www.j2mepolish.org) is supposed to (though I havn’t tried it myself) ensure compability and more.

Thanks eveyone. :wink:

So the basic answer seems to be you can’t really. Ho hum. Well, I was toying with the idea of
doing a simple game, and another idea (which isn’t so simple) then dumping them on
midlet.org or something, but I’m not sure there’s much point if there’s so many portability
issues. And I’m not sure a publisher would give me the time of day (assuming I actually
managed to create a decent game). I suppose if I liked the game I could always port it
to J2SE or something like that.

Cheers all, I’ll look forward to those other threads ;D

I just found this:
http://www.mrgoodliving.com/emerge

Does anyone know anything about it?