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.
|
|