Wireless phone gaming is becoming more and more of a reality in our everyday life. Macrospace is the leading provider of wireless gaming solutions to network operators, service providers, portals, handset manufacturers and brand owners. The company's products and services enable its customers to rapidly launch secure, reliable, cost effective and revenue generating services. With expertise in single and multiplayer gaming, web emulation and content provisioning, Macrospace is uniquely positioned to offer complete end-to-end solutions ranging from content development through to final delivery and billing. ProvisionX?, the company's fully managed provisioning solution, is the most widely deployed content download service worldwide.
Hi, can you introduce yourself and your company to our readers?
Hi, my name is Kim Daniel Arthur, and I work as a part of the games team at Macrospace. Macrospace is the leading provider of wireless gaming solutions to network operators, service providers, portals, handset manufacturers and brand owners. As a company we have a range of technologies for over-the-air game delivery and web emulation, but my involvement is purely on the games side of the business.
What does your job at Macrospace involve, and how did you get it?
Together with the guys in the games team at Macrospace I take part in most areas of the game development process. As a developer my main focus is coding both the games and in-house development tools. Creating a game is very much a team effort and we all work very closely throughout the whole process, from initial game concepts to the final touches.
Although we all have our roles within the games team, be it game or level designer, developer or artist we very much get involved in all stages of the development process, and this makes our jobs both varied very exciting.
I'm sure not all the readers know enough about wireless game development, so can you tell us a bit about J2ME, and how it has matured.
Java is a technology developed by Sun Microsystems, with the aim of creating applications that run on any compatible device from any manufacturer. There are several ?flavours? of Java, and the version for small devices like phones and PDAs is called Java 2 Micro Edition, or J2ME. J2ME together with MIDP (Mobile Information Device Profile) is a development platform tailored specifically for mobile devices, and is the basis of most downloadable mobile games. It allows developers to target a whole range of mobile devices from all of the major manufacturers, and the tools and development environments our developers use are now very well established thanks to the support from the wider Java community.
J2ME or MIDP as a platform has been around for a few years now, and nearly all modern handsets incorporate this technology. These days most phones will have "Java support", meaning they can run games developed for the J2ME/MIDP platform.
Both the phones with Java support and the mobile games themselves have matured a lot during the last year or so; not so long ago most people used low-end black and white handsets with slow processors and small screens (96x65 pixels was common). Today, most phones are capable of running games, with full colour, decent sized screens and polyphonic sound, so developing new games and applications is really exciting right now.
Do you think the technology is mature enough to allow real-time online gameplay between connected gamers?
The main factor when it comes to real-time online play is the time it takes data to travel from phone to phone, known as network latency. With the mobile networks that are most widespread now you are looking at an average of 1 to 2 seconds. This is very well suited for turn-based multiplayer games like Macrospace?s CannonsME or similar turn based strategy games. As for real-time multiplayer games, this could well become the ?next big thing? as the new mobile network standards are rolled out, with lower latency and greater bandwidth. Realistically, it is likely to be a year or two until online gaming on mobile phones is commonplace.
Could you tell us a bit about what the process of developing a J2ME game involves? For instance, how much time is spent planning?
The process of developing a J2ME game is very similar to that of programming a Gameboy Advance game or similar, although the scale of the projects in terms of both human and technical resources is quite a bit smaller. A lot of my time as a developer is spent upfront trying to find an interesting style and genre of game to develop ? a lot of ideas come from keeping my eyes and ears out for things that inspire me. Once the overall feel of the game has been decided, I develop a more detailed approach to the game idea, developing a series of concepts with the focus on how the gameplay and story might work, as well as some ideas of how the game will look visually.
The actual time spent programming and refining a game varies from 1-6 months, depending of the scale of the project. The game is continually tested and evaluated as you work on it, so it is very much a team effort. As you might suspect, attention to detail and meticulous planning is important to make a game that both plays well and looks good! At Macrospace we spend a lot of time and effort making sure the game runs as well as possible, which pays off when we get emails from happy gamers saying what fun they have playing our games.
From a technical standpoint, how far do you think wireless gaming will have come in a year or two, or maybe five?
Wireless gaming as we know it today is just the beginning. As technology
advances and people become more aware of mobile gaming I think it will expand to become a major industry in itself, much as console and PC gaming has become. For example location based systems combined with high bandwith wireless networks open up for whole new genres of gameplay that have yet to be explored.
Advances in graphics and sound will also make mobile gaming far more immersive, and many of the handset manufacturers are working on phones that can run 3D graphics, which would allow the sort of games we are used to seeing on the Playstation or GameCube to work just as well on a mobile phone. The advantage a phone has over any other gaming device is its connectivity, and I think there is huge scope for multiplayer games that can span different countries and time zones.
As of now, what trends do you see in the games people choose to play? Are there certain genres that people seem to prefer? Do you think this will change over time?
The mobile gaming market is still young and users seem to be a mix of "impulse" and "early adopters". The type of games that are popular on phones is quite similar to other areas of the game industry, with platform games and shoot ?em ups amongst the most popular right now. Users also seem to favour games with a well-known brand, and mobile versions of console or PC games are quite common. Having said that, consumers are also very good at identifying high quality games, so there is no chance for us developers to get complacent!
As the technology behind the games gets better there will be new ways of playing games, but I think there are only so many basic game types, from platformers to racing games.
It could be hard to estimate, but how long do you think it would take for an average hobby programmer to learn J2ME and learn enough to actually make something fun? Do you have any tips or recommended books?
The good thing with developing for J2ME is that all the tools you need are free, and for those that have programmed for other flavours of Java before, there are more similarities than differences. It is important to understand the limitations of the target device both in terms of speed and available memory before you dive into a new game project, and looking at what other developers have done is a good source of inspiration and techniques.
The tools provided from Sun Microsystems are very user friendly and will get you up and running quickly, and browsing through the provided demo games also gives a good introduction on how to get started.
There are many online resources related to J2ME and J2ME programming, see below for a quick list:
http://Java.sun.com/j2me/ - Sun's J2ME website
http://midlet.org - a huge repository of MIDlets and the chance to make your game publicly available
http://www.billday.com/j2me/ - nice resource with mixed info on J2mE
http://www.midlet-review.com - Mobile game review site, see what games are around and how they rate
http://games.macrospace.com - excellent collection of commercial games
http://www.microJava.com - a good resource for J2ME related news, tutorials and articles
http://wireless.ign.com - IGN's wireless gaming section
http://www.kobjects.org/devicedb - list of devices and device specs
http://wireless.Java.sun.com/device/ - Another detailed list of Java devices
http://home.rochester.rr.com/ohommes/MathFP/ - easy to use publicly available fixed point library for J2ME
http://www.forum.nokia.com/main.html - Nokia's developer site, lots of news, tools and developer forums
http://www.motocoder.com - Motorola's developer site
http://archives.Java.sun.com/archives/kvm-interest.html - Sun's KVM mailing list
Is there anything else you'd like to add?
Get ready for a mobile gaming revolution!