Why is it that most of the mobile games are coded in Java (J2ME) and not native C++ (Symbian)?
From the tools standpoint, I believe that there's both C++ mand Java are well supported. I mean, there are IDEs for both Java as well as C++ mobile development, but still majority of mobile games are in Java.
I personally think that Symbian C++ games really push the limits of the mobile phones compared with Java ones. Take for example the games for the N-Gage. Quality games like Snakes3D are not only have eyecandy graphics (for a mobile phone game) but are also enjoyable. (Did I mention that Snakes3D was released as a free game for the N-Gage?)
Another Symbian C++ game worth mentioning as an example is SkyForce by Infinite Dreams. If you have a Symbian-based mobile phone, you probably have played or have heard of this.
What I'm trying to say is that Symbian C++ games are really more superior than Java-based games!
I'm not saying that Java-based games are all crap. On my opinion, I just think that Symbian C++ games are more optimized than Java ones because of the interpreted nature of Java.
But, still, how come most of the games for the mobile platform are written in Java??? Is it because it way easier to develop mobile applications particularly games in Java than C++? Is it because Java has the backing of Sun Microsystems? Or is just because coding in Java is 'cooler' than coding in C++?
I'm really curious on what's the motivation of most of the mobile phone developers on prefering Java than C++ so please enlighten us, particularly myself, on this topic.
Hi lightninglord2000! Welcome to Nokia Developer Discussion Boards!!
IMHO, the advantage of Java is due to its wide availability in different mass market platform phones like Series 40, S60 and S80.
But isn't it that the Symbian OS is embedded as well in S60 and S80 phones, just like Java? My point is that both Java (MIDP) and Symbian C++ are available for mobile developers.
Not to diss out on Java but J2ME isn't exacly write-once,deploy-many at all. I mean there's currently two profiles for MIDP: MIDP1 (found in older S60 phones such as Nokia N-Gage & Nokia 3650) and MIDP2 (found in newer S60 phones such as 6600 & S80 phones). That is why Java games from developers (such as Gameloft) are released with two versions: v1 (for MIDP1 devices) and v2 (for MIDP2 devices).
Yep, implementing a Java game requires many versions (tailored for different handset), but the market potential is still driving games to be Java - not Symbian.
This is not to say that there is no business for Symbian games - there is, just a little different market.