April 5th, 2005
This month we take a closer look at the world of mobile gaming with "JBJ Sisters adventure", a classic arcade game that was recently ported from a web-based Flash version to J2ME. We've talked with Squize and Vex about the current status of mobile games with Flash and the difficulties that you may find if you plan to write your own games for cell phones.

Q: Can you introduce your "JBJ Sister" game to our readers?

Squize: It was my fourth game. Before it I'd done the Majestic Triolgy, three old school shooters, in the space of about two months, and I'd just reached saturation point for all things metal and shooting. As a complete kick back agaisnt that I opted to do a cute as could be platform game. The game itself is based on ( Read, copied ) from a really old Spectrum game called "Jumping Jack". It's a platform game, but not in the more usual sense.

Vex: For the mobile version, we've duplicated all the gameplay of the original, and wrapped it up in a different (more suited to a mobile phone) interface. There are three version of the game currently, suited to different phones, a Nokia Series 60 MIDP1 version (N-Gage, 3600, 3650, etc), a Generic MIDP2 version (Nokia 6600, QTek S100, Sony Ericsson P910i, Sony Ericsson K700i, etc), and a Nokia Series 40 version (3100, 3300, 6800, 7250, etc). For the Nokia Series 40 version, we've had to remove some of the smaller details from the game (such as the different bonus items, the snow in the background), in order to fit within the limited space available on such devices. We might also be doing another MIDP2 version, but designed to fit to smaller screen sizes (Sagem myX5-2, etc).

Q: What version of Flash was used to develop it?

Squize: Flash MX. I still even now only develop with the 6 player in mind.

Q: How much time did it take to develop the game? (both in Flash and Java)

Squize: It was such a drawn out development period, worse I've ever had. The Majestic games all pretty much fell into place, but with doing the graphics myself this nearly killed me. I think from memory it was around 4 months or so! I just wasn't happy with a single pixel I drew, I re-worked so many sprites it's untrue and to be honest I just got bored of it. After so long I started craving the genre I'd turned my back on, I wanted explosions and metal and particles, and here I was stuck with two jumping sisters.
It became so painful, mainly due to lack of interest and also because the code was so poorly written near the end where I was just forcing myself to complete it, that I actually posted it on FlashKit games for some feedback. It's kinda like when you're trying to give up smoking, if you tell everyone you're giving up then you're going to look so stupid if you don't. Same with JBJ, if I pimped up a 95% complete game I'd have lost so much face for not completing it.

Vex: The mobile version started as a simple proof of concept demo, which was a day or less of coding. Then to create the Series 60 and MIDP 2 versions took about a month and a half, to two months. The Series 40 cut down version took a couple of weeks to complete, most of which was spent redoing the graphics, and reducing the code size to fit the device limitations.


Q: Can you talk about the history of g4mes.net website and what are you doing today?

Vex: G4MES.net was started just over a year ago, which is when I started learning mobile development, initial it was mainly selling wallpapers for mobile phones, but over the past year our games portfolio has built up quite nicely, and we're now looking to get our games out onto other mobile sites, via distribution deals with content providers and network operators. We currently have three new games in development.


Q: What are the advantages of using the Java 2 Micro edition (J2ME) ?

Vex: The main advantage is the large number of mobiles that support it, well over 150 devices currently support it (based on the limited device database on G4MEs.net). Whereas mobiclip, for example, currently only runs on around 17 devices (and these are high-end devices). Almost every phone on the market at the moment is java capable.


Q: What are the limitations you have to face when developing for mobile devices?

Vex: The main limitation is size, both in terms of the final game 'package' and the amount of memory available when running. With the lower end of the mobile market, the 'package' size is limited to around 60K, and there's usually about 200K of 'heap space' (memory to run the game in). Higher end phones have less restrictions, with around 100 - 4096K for the 'package' size, and 512 - 8192K of 'heap space'.

click thumbnails to
enlarge them.











click thumbnails to
enlarge them.

Q: What would you suggest to Flash developers interested in learning the J2ME? Where should they start from?

Vex: Well, first get to grips with the basics of Java, but bear in mind that a lot of Java's features are not available in J2ME, there's plenty of information available on the internet, and many of the IDE's used for development are free (NetBeans and Eclipse for example). Bear in mind though that Flash is quite a unique language, with it's movieclips and timelines, etc. J2ME is much more of a traditional language, were you have to do a lot of the hard work yourself. :)

Q: MIDP 2.0 brought some nice features specifically designed for game development. Can you briefly describe them? Do they speed up development?

Vex: I've yet to truly experiment with MIDP2 devices, but the Game API does have many interesting features. It has support for sprites, including the much needed mirroring and flipping options. This is something that was a problem that we had with JBJ Sisters, as with MIDP1 devices you can't flip a graphic image. The only way around this issue, is to use a manufacturers specific API, in this case Nokia's. Nokias additional API allows for the mirroring and flipping of images, which when you have characters that can move left and right on screen is very useful! Without this we would have had to include the 'flipped' graphics for each of the characters and several of the bad guys. This in turn would have significantly increased the overall size of the game, making it impossible to fit on most phones. The MIDP2 specification adds this much need feature to all MIDP2 phones.

MIDP2 also includes layer management, which is a bonus for developing tile-based games, although it seems that many of the actual implementations of this feature on current phones is very slow. So it's generally considered to be better to create your own. There's also additional features for audio support, and improved network support.


Q: What is the typical size of a mobile game done in Java?

Vex: Depends a lot on the device your targetting, as each one has limiations.

For MIDP 1 games, the size is limited to around 60K, but for MIDP2 phones, and the higher end MIDP1 phones, our average game size is around 100-120K at the moment.


Q: Are there compatibility issues among different phones ?

Vex: Yes, every phone is different, and even the same model phone can have different firmware meaning that something that works in one version of the firmware doesn't necessarily work in another version. It's a very annoying aspect of game development on mobile devices, and a proper standard for every device is something that many development companies are pushing for.


Q: Is there a good way to test mobile apps/games without having to buy all the available cell phones on the market?

Vex: Unfortunately no. Many of the manufacturers provide emulators that can be run on a PC, but these are never an accurate guide as to how the game will perform on the real device.


Q: What is your favourite tool to develop J2ME games?

Vex: I currently use NetBeans 3.6 and I'm upgrading to version 4 for new projects. I've also recently received a free copy of Borlands JBuilder X Mobile Edition, which is meant to be very good, but I haven't had a chance to test it out yet.


Q: What type of media files (images and sounds) can be used in games?

Vex: PNG is the main format for graphics, although some phones do support JPG and GIF (rarely). Sound is poorly supported on most phones, the earlier phones have no support at all for sound within J2ME, unless you used manufacturers specific APIs, and even then it was limited to very basic tones. More modern devices have better support, including MIDI, wav, AMR, and MP3, but sound playback is still very limited and generally unpredictable.


Q: Is it possible to handle online hiscore tables in order to create more competition? Did you already implement this feature in one of your games?

Vex: Yes, online high score uploading is possible, and nearly all our games support this feature (including JBJ Sisters). Players are required to sign up on our site first (for free), and then they can upload scores and compete against their friends.


Q: What about multiplayer mobile games? Is it possible to create that kind of interaction on those devices?

Vex: Multiplayer is possible, but at the moment it's really limited to turn based, as most phones only support HTTP type connections, however some newer phones do support sockect based connections. Also there's bluetooth for close range multiplayer games, including many popular N-Gage games that allow two or more players to compete against each other.


Q: Flash games are very simple to deploy since they can be published on the web for online playing or for download. How do you usually deploy mobile games?


Vex: Mobile games are usually provided OTA (Over The Air), users are send an SMS message with a WAP URL to download the game direct to the phone, for commercial games, billing is handled via premium rate SMS, IVR, credit card, paypal, etc.


Q: It is well known that a SWF file can be easily reverse-engineered and this is a real nightmare for many flash developers. Are there good ways to protect Java bytecode? What would you reccomend?

Vex: Java is in a similar situation to Flash, in that the bytecode can be fairly easily decompiled, however there are a number of obsfucation programs available, which not only make the code a lot harder to understand, but also help to reduce the overall size of the application, which is pretty important for mobile development. Also, because of the standard deployment method (OTA), generally the user can't access the actual game files, although some phones do allow access to the files with the right software.


Q: Talking about businness models, mobile games are usually sold at a price between 2.00 to 5.00 euros / US dollars, which seems pretty low for the number of hours spent developing. Is this model working?

Vex: To be honest it's hard to answer, for us at the moment, no it isn't working, as our sales are pretty low, but we're still a fairly new development company and it's only in the past few months that we've started to setup distribution deals, and hopefully this will help to increase our sales a lot.


Q: What do you see in the future of mobile game development? Do you think it will become a more profitable market?

Vex: The popularity of mobile games is increasing a lot every year, according to a recent article on "The Register" mobile gaming revenue for 2004 was predicted at over one billion US dollars (€880m), and it looks set to continue to increase.


Q: Are there any other alternatives to this model, maybe like a pay-per-play or something else?

Vex: The Japanese and Korean markets use a subscription based system, where the user pays a fixed subscription to a content site, and can then download as many games as often as they like, although it's believe that this system is unlikely to work well in the west (as it relies on revenue from the data calls, which are more expensive than in Europe and the US).

A pay-per-play system could possibly work on a multiplayer game system, but I think it'll be a while before that becomes really possible, particular as the network support on devices isn't that good at the moment.


Q: Are there any other good alternatives to J2ME?

Vex: There are other options available, but none of them currently have the market peneration that J2ME has. Flash is only available on the high-end phones, and limited in it's capablities. Symbian based apps, written in C++, are generally very good, but again are limited to the high-end market. Brew, is used in some US phones, and I believe it's C++ based, but again it's limited to the US market, and it's a closed system requiring a license before you can begin developing. Mophun is another system, but is limited to mainly Sony Ericsson phones (along with some other Symbian based phones).


Q: Do you think Flash will become more popular as a development tool for mobile?

Vex: I don't really know. At the moment flash is limited to a few high end phones, and then only a very simplistic version of flash at that. I don't really think it will become that popular, unless it comes as standard with a large range of phones.

back to SpotLight index



Have you played one of the best web games ever ?
Did you create the latest kick-ass flash game and would you like to seen it reviewed in these pages ?
Suggest us some high quality games to feature in our SpotLight!

Game suggestions HERE
| Homepage | News | Games | Articles | Multiplayer Central | Reviews | Spotlight | Forums | Info | Links | Contact us | Advertise | Credits |

| www.smartfoxserver.com | www.gotoandplay.biz | www.openspace-engine.com |

gotoAndPlay() v 3.0.0 -- (c)2003-2008 gotoAndPlay() Team -- P.IVA 03121770048