Home Forums Programming Java vrs c++

Viewing 12 reply threads
  • Author
    • #3120

      Hi I am planning on developing a game for the series 60 platform and I have decided to use java. I was wondering if anyone would care to offer some opinions and/or advice concerning c++ versus java and, with relation to java, midp 1 versus midp 2. Apart from portability and performance are their any other issues I should be aware of ? I would like to hear a good debate about the lesser known pro’s and cons of doing mobile development in java. Has any one here done much mobile java development and what ide’s do you use and why ?

    • #11730

      Hey, I was about to post something about Symbian C++ soon !

      So even if I do not post it right now, I can bring my 2 cents. In fact, I am a C++ geek :D I do not like Java so much, I don’t know why but that’s it.

      So for a C++ enthusiast, there is a number of options when it comes to mobile development. I chose as you mention Symbian OS because Nokia is very active in promoting “amateur development” and Symbian is a very mature OS. Also, Nokia are pushing high on Series 60 and some other manufacturers are already making Series 60 handsets available.

      I have already started an arcade game on this platform (a Pengo like with enhanced gfx for old school gamers) and will also port the Atomix game I wrote on GBA.

      So I won’t be of any help concerning Java, but if you have some questions on the C++ side, just go… If I can answer, I will :)

    • #11735

      Ok. It’s almost midnight and the brain is shutting down but thought I better throw my lot in on this one as well.

      There are ‘as usual’ lots of issues to consider some of which are related to devices, some to operators, some to handset manufacturers, some to publishers, some to game requirements, some to finanacial requirements, some to personal issues, some related to market, some related to geography……… I think you get the point.

      Why Series 60? Why not some other ‘platform’? If you have a specific requirement for Series 60, this could answer your question very quickly

      Performance? Depends a lot on the type of game you are planning. I would be more concerned with access to APIs. Developing your game in C++ for Symbian will provide a lot more flexibility in this regard but you pay the usual price.

      Portability? When you see the term Portable, interpret it as ‘Can possibly be ported’ rather than ‘run anywhere’. It is true, however, that a Java game ‘could’ and ‘should’ be more portable that a C++ game.

      I would focus on what you want from and for your game first and then the tech decisions will flow from that. For example if you decide that you want your game playable by anyone with a phone that supports downloadable games, then Java covers the bulk of this category. If you decide that high quality graphics are a key component of the overall game experience, this will probably push the size of your game up to a point where only the smartphones can accommodate it and then you are probably looking at Series 60 and/or MS’ offerings.

      With all that said, we are developing mostly with J2ME ( and mostly MIDP 1.0 still) and only C++ for BREW development. If you have any Java specific questions, then I will try to answer those.

      Regarding IDEs: We have been using CodeWarrior but unfortunately support for J2ME has been dropped by Metrowerks. Sun’s and Borland’s offerings are the other major contenders and I am not as yet in a position to offer an opinion on which is better.


    • #11741

      Why Series 60 ? Stop me if I am wrong, but I think that even if BREW is free to download and use, you need to pay around 800$ each time you want your game to be certified, and it needs to be. If it’s not OK, then you’re good for another 800$.
      With Symbian, if you have a PC and an Internet connection, you can litteraly develop and sell it through a portal for 0 bucks.

      Then why C++ ? Well the reason I gave is very personal… I am not so keen on Java and I am very comfortable in C++ so this was a natural choice.
      But from what I know of MIDP, if you work in MIDP1.0, once again stop me if I’m wrong, but your game is limited to 64Ko. Some old school coders are not afraid of this but for some people I think it can be quite a big limitation. But as you outlined, if you want to access a wider audience, MIDP 1.0 is the choice today. It also means you have to provide good content because you have a lot of competition.

      I know even less of MIDP2.0 but it seems that the memory limitation is over or no more a hassle. Also for Symbian, C++ gives you richer APIs. You have access to Bluetooth APIs whereas Java API do not, and there are some other APIs only present in C++. This might change in the future however.
      Also few people are present on the Symbian market. This is an advantage to jump soon.

      In my case C++/Symbian was a natural choice since this is my prefered development language, everything is free with lot of support (Nokia, Symbian, dedicated and very active forums), and Nokia is still the leading manufacturer. As already said in my previous post, they are pushing hard on it and others join them (Sony Ericsson, Panasonic, LG, Siemens, …). They are still expensive handsets, but in one year, it will be the standard (maybe not Symbian C++, but this level of hardware). Wait and see…

    • #11746

      Why Series 60? That question was actually aimed at slander more to figure out what decisions had led to Series 60 being the choice.
      You are right that there are costs associated with developing for BREW. It should be considered, though, that BREW as a platform is gaining a lot of momentum in the US partly because of the End-to-End solution provided which includes reporting and billing (translation: You get paid for your downloads!), and partly because the operator involved is marketing mobile gaming.

      Why C++? Yes if you are comfortable with C++, then it makes for a sensible starting point. Java JAR sizes are limited in size, although that limitation is not a J2ME limitation, rather a handset and/or WAP gateway limitation so it varies. You will have more room to play with on a Series 60 device than on a Series 40 device even if you are coding in Java. Another limitation to consider is heap size as again this varies from device to device and can be more of a restriction than the 64kb JAR limit. I guess being ‘old school’, I see this as a challenge rather than a problem! :)

      MIDP 2.0 doesn’t by itself eliminate the memory issues but it is fair to say that the newer MIDP 2.0 devices will have larger application memory and larger heap sizes. I agree on the APIs, C++ on Symbian will give you greater flexibility and access to APIs. The Device Manufacturers do release proprietary APIs (i.e. non-Java Standard) for J2ME but availability depends on the specific device.

      I would agree that Nokia is a good starting point whether it’s Java or C++ as their developer support is quite good. Whether or not Series 60 devices become gaming devices is a tough one to call with one glaring exception! The NGage is Series 60 based and if your goal is to target that device, then C++ on Series 60 phones is the way to go.

    • #11748

      I chose java over c++ because my experience in other fields led me to believe that it would take less time to develop an application in java then it would in c++. Can anyone here with experience developing for mobile devices that use symbian in both c++ and java confirm this? Development time is a big issue for me and one of the main reasons I am taking the java route over c++.

      I am considering using midp2 over midp1. I understand that at the moment the only phones that do midp2 are the nokia 6600 and the sony ericson p900 and hence, right now by making this choice I am severely limiting the amount of people who will be able to use my game. My reasons for wanting to use midp2 is that I have heard that midp2 is a significant improvement over midp1 and makes doing things like sprites a hell of a lot easier and requires a lot less code. Can any one confirm this ?

      Another issue I would be interested in hearing about is what sort of general problems do people run into when writing games for mobile devices in java as opposed to c++ (though I am not interested in developing for mobile phones in c++ at the moment I would still like to hear your painful stories)? I am a newbie to both game development and developing for mobile devices in java. My only experience of developing anything for a mobile device was writing a wiki for an old palm v in c and that was a pain in the hole for a number of reasons.

      Also if anyone knows of any good sites (concerning game development on mobile devices) please feel free to post em. Thanks again for all the feedback and advice.

    • #11750

      With regard to why I chose series 60: My main reason for chosing series 60 was that the screen size suited what I wanted to do and the form factor seemed to be quite popular.

    • #11754

      slander… I saw on j2megamer.com forum people complaining about the speed of the tile engine in MIDP2.0 It might be wrong, it might be right, but I would say you need to define what you want to do and enquire about all the different possibilities offered to address your requirements.

      And as you say, targetting a recent platform leads to a small audience. I do not think it is a problem in fact. Starting on a widely used platform means also lot of competitors. And when you master it, it is already semi dead, given the fast pace in wireless world. I think it is sensible to target a recent and not so spread platform, it gives you time to master it, especially if like me you are (almost) new to gaming AND mobile.

      You also have the 7610 and 6620 which are MIDP2.0. It’s only a matter of months before MIDP2.0 becomes the standard.

      aduggan… The Nokia Trade Point is the equivalent of BREW deployment no ? Or even a portal like Handango ? You upload your game (or whatever) on their website, they sell it and you are paid monthly based on your sales. Correct me if I’m wrong, I will be really interested soon :) Also, what are the fees involved with BREW ? I generally noticed around 30 or 35% fees.

    • #11757

      aduggan could you tell me a bit more about your experiences with brew and how it benifits the java development you do ?

    • #11773

      MIDP 2.0 becoming the standard. I would agree that new phones being released will start standardising on MIDP 2.0 but I would expect it to take a lot longer than 2 months for MIDP 2.0 to be the standard platform in the hands of most mobile phone users.

      From what I know of Tradepoint, it is more of a shop front for the telcos to browse through potential new content. Handango would probably be closer in terms of offering. BREW in the US right now pretty much means Verizon and Qualcomm’s handling of their games service. It might sound restricted but there have been claims that 50% of all downloaded mobile games are BREW games at the moment. As for fees, 30-35% sounds more like overall fees. Revenue share varies depending on many things but 60-80% of net from the operator is a reasonable range for the US. Numbers are, however, notoriously difficult to come by.

      As far as our BREW experience goes, it’s early days yet. There are, however, certainly others on these forums who would have much more experience on BREW who might shed some more light on the porting issues involved.

    • #11775

      Again thank you bomberman and
      aduggan for all the useful information you have provided so far. The game I intend to develop will basically be a mario cart clone with a few new features. At the moment I am considering what phone to get to develop/test this on currently I am leaning more towards nokia 6600.

      Sorry for being a bit tight lipped about this earlier in the thread but generally I don’t like talking about programs till I have actually started coding them and right now I am still pretty much in the reading phase. Do either of you (or anyone else) have any information or links to pages that talk about the issues involved in implementing sprites in games on mobile phones. Bomberman do you think what I intend to do is doable in midp2 (from what I have read online I think it is ) and do you think the amount of time I have to spend optimizing my java code will in the long run outweigh the development speed advantages I should get from using java (midp2) ? Does anyone have an opinion on this ?

    • #11777
    • #19525

      Originally posted by Woody FX

      The popular Sony Eric T610 is desperately slow, Siemens have small screens. Motorola T7201 has no sound.

      Good luck
      Druidev. [/quote:a11fe570ce]

      Thank goodness, thought it was just me, and all im doing is trying to send text messages :)

      John Carmack, the master engineer of doom wrote some stuff on mobile gaming, but i think ye guys are ahead of him at the moment :)
      Link to his blog.


Viewing 12 reply threads
  • The forum ‘Programming’ is closed to new topics and replies.