Introduction
System Architechture
Client-side Modules
Server-side Modules
Home
Introduction
Mil & Schedule
Training
Developer Forum
About Us










Client-side Modules

The client-side is a collection of library components running on mobile device with J2ME or Symbian support. The OnME client-side is written in two different languages, one is Java for the J2ME platform; the other one is C++, which is for the Symbian platform. Both versions have the same functionalities and the differences are on the API syntax and the underlying implementation language. The main justification of having two implementations is to support a wide range of handsets. In other word, the OnME platform is not architecture-dependent like the Nokia N-gage. Therefore, many games designers and handset manufacturers can benefit from the OnME platform.

Figure 2: Client-side architecture

Figure 2 illustrates the client-side architecture for the OnME. The components of the client-side software are listed below:

Memory management module: the functionalities of this component are to perform compression/decompression of information before/after packet transmission, to perform model-based boundary checking so that when a user is close to the edge of the virtual world (or a sub-part of a game), the memory module can perform automatic pre-fetching of the next virtual world or graphical model. Note that this is an important component since a good memory management module can reduce communication latency and thereby provide a higher chance to synchronize all users¡¦ viewpoints within a game.
For the compression, we propose to first compress images and data models to as to reduce network transmission delay and memory consumption. The compression technology that we will use is the ¡§indexed-color-based¡¨ so as to significantly reduce file sizes for the mobile game.

Live-version update module: Version update is an essential feature for mobile online game because (1) game designers may provide new story/characters for the game, or (2) a new version of a game is necessary to remove existing software bugs. Therefore, it is crucial to have an automatic notification feature so client handsets can automatically update new software update. The functionalities for this component are to perform automatic code and data update from the OnME game server. Therefore, users who play the multi-player mobile game do not need to manually check for new version of the game. In this project, we will develop a communication protocol for this live version update module.

Networking module: In general, all mobile devices with J2ME platform support the HTTP protocol. However, not all devices support the low level protocols like TCP/UDP. Note that for video streaming, one has to use the UDP but not the HTTP protocol so as to satisfy the video continuity requirement. Our network module can communicate using low-level protocols like TCP or UDP, or higher layer protocol like the HTTP. The advantage of using the low-level protocols is that they are much faster and more efficient than the HTTP protocol since they involve less headers and overhead. This module allows game designers the flexibility to communicate in different communication protocols. For example, game designer may choose to stream video data using UDP, transfer graphics files using TCP and game status update using the HTTP. Also, to reduce network latency, our networking module will also provide compression/decompression/encryption options for game designers.

Lobby system module: Every online mobile game has to handle multi-players interaction and user matching mechanism. Users may create a lobby (or waiting area) to invite friends to join-in and work together on a mission. The lobby creator can restrict the access of lobby, e.g. invite his friend or reject any unknown user to join in the lobby. Within a lobby, the status and viewpoints of all users must be synchronized by passing status update message. Therefore, the size of lobby has a strong impact to the communication overhead. We propose to design a generic lobby system that supports optimized message exchange and at the same time maintain strong viewpoint synchronization.

 


Supported by Innovation Technology Fund of Hong Kong SAR GovernmentInnovation and Technology Commission