It's free to join Gamasutra!|Have a question? Want to know who runs this site? Here you go.|Targeting the game development market with your product or service? Get info on advertising here.||For altering your contact information or changing email subscription preferences.
Registered members can log in here.Back to the home page.

Search articles, jobs, buyers guide, and more.

By Mika Tammenkoski
[Author's Bio]

Gamasutra
December 17, 2003

Introduction

Coping With Device Fragmentation

Insights For The Future

Printer Friendly Version
   

 

Change Login/Pwd
Post A Job
Post A Project
Post Resume
Post An Event
Post A Contractor
Post A Product
Write An Article
Get In Art Gallery
Submit News

 


 


[Submit Letter]

[View All...]
  



Upcoming Events:
Workshop on Network and Systems Support for Games (NetGames 2009)
Paris, France
11.23.09

EVA 09 - Exposicion de Videojuegos Argentina
Buenos Aires, Argentina
12.04.09

Flash GAMM Kyiv 2009
Kyiv, Ukraine
12.05.09

Game Connect: Asia Pacific (GCAP)
Melbourne, Australia
12.06.09

ICIDS 2009 – Interactive Storytelling
Guimaraes, Portugal
12.09.09

[Submit Event]
[View All...]

 


[Enter Forums...]

Note: Discussion forums for Gamasutra are hosted by the IGDA, which is free to join.
 

 

 


Features

Dealing With A Fragmented Java Landscape For Mobile Game Development

Insights For The Future

Despite the challenges mobile game developers face today with the fractured Java landscape, the future still looks exciting to me. One bright spot is the Java Community Process, which was originally founded by Sun Microsystems. JCP is an open organization working on Java standards. It uses a formalized process to develop new Java technology specifications and revises existing ones. Any member of JCP can submit a new Java specification request (JSR), so it's an important tool for all of us Java developers to help evolve the standard. For more information on JCP and a full list of JSRs, visit www.jcp.org. I have selected five JSRs that are interesting from mobile game developer's point of view.

1. Java APIs for Bluetooth (JSR-82) is, as the name states, a Java API which gives the developer access to Bluetooth functionality. Bluetooth is a close proximity, low latency communication channel between two or more devices. This makes it possible to develop real-time multiplayer games. Today Bluetooth functionality can be found in most high-end devices.

2. Sony's Playstation brought gaming and 3D graphics to every household. But with today's devices and J2ME implementations, it hasn't been possible to implement real-time 3D applications. The Mobile 3D Graphics API for J2ME (JSR-184, which is coupled with OpenGL ES) will bring 3D graphics to mobile devices.

3. Today the whole J2ME application is contained in a single package. This means that the application is downloaded once, and it stays in the device memory for as long as the user wants to, or for as long as the subscription lasts. Each application has a certain amount of persistent memory it can use, but the amount of memory is low. PDA Optional Packages for the J2ME Platform (JSR-75) contains the file API, which gives the application an access to removable storage devices such as memory cards. This enables game developers to develop nearly infinite game worlds, as the user can download new graphics and levels for their games.

4. MIDP 2.0 makes it possible to launch the browser from within an application. This can be used, for example, when an episode of a game is finished and a page containing information on the sequel is shown, or when the user is taken to a community site for the game. The Content Handler API (JSR-211) makes it possible to do vice versa: launch a J2ME application from within a browser based on URI. As an example, the user can open the game site and download new levels just by selecting a link from the page.

5. Today the business model for mobile games is based either on single download fee or subscription model. Some operators give the developer access to their billing mechanism, but in any case the developer has to have different implementation for each operator. The Payment API (JSR-229) provides a standardized API for micro payments. With this the content provider can bill for extra levels, sequels, sending high scores, and so on.

To summarize, mobile applications are today merely add-ons to the device. The above- mentioned new APIs make it possible to create more seamless applications-providing new and exciting possibilities. The challenge, however, is that mobile game development is not only about producing games. All these APIs provide potentially an even more fragmented technology base -- and at the same time the developers have to support the current installed base of handsets, which is based on yesterday's technology. All the parties involved realize the problems brought by fragmentation and try to fight against it.

One of the most interesting JSRs is JSR-185, "Java Technology for the Wireless Industry." The purpose of this JSR is not to produce new APIs but to provide an overall architectural description and to coordinate selected JCP efforts for the wireless industry. One of the most practical outcomes of this JSR is that, for example, instead of saying that a certain device supports MIDP 1.0 and Wireless Messaging API, it is JTWI 1.0 compliant.

JTWI does give recommendations for minimum device capabilities, but it doesn't define actual categories, such as certain display resolutions or amount of memory. However, most manufacturers have adopted so called series thinking. This means that a manufacturer has a number of categories, which again have a number of devices in them. Examples of such categories are Nokia's Series 40 and Series 60. In the best cases the series thinking is working so well that application developers don't have to test an application on every device.

Quality assurance has been taken into account as well. In June 2003 Motorola, Nokia, Siemens, Sony Ericsson, and Sun Microsystems announced their plans for unified testing and certification programs. For more information on this one go to www.javaverified.com. We at Sumea eagerly await the results of this initiative.

The biggest problem at the moment I see in K Virtual Machine implementations: The APIs and specifications are not strict enough, leaving space for various different implementations. This should be solved soon, as the number of devices and APIs is growing. My wish-list is long, but it's clearly shorter than a year ago. I think that is a good sign.

For Further Reading

 

______________________________________________________

[back to] Introduction


join | contact us | advertise | write | my profile
news | features | companies | jobs | resumes | education | product guide | projects | store



Copyright © 2003 CMP Media LLC

privacy policy
| terms of service