ZGROUP MOBILE
Mobile games structure

Restructuring Mobile Games content

0. Important Note

Although this document is somehow old (was last edited in Oct/2005), but it is still valid. The idea of having a unified structure that can be extended in the future to include new handsets is what makes this document valid even three years after it has written and in spite of the fact that more than 2000 new handsets were added during that period.  This document was the base for the unified structure we follow for all of our mobile content in our database. Since games are the most complicated items, then most of the document will focus on the mobile game as item, but the same arguments and ideas can be applied to any other mobile content such as themes, ringtones, wallpapers. So you can replace "mobile game" with any mobile "item".  

1.    What is this document?

This document describes the new structure we use for our catalogue of mobile games. A similar structure has been applied to other content like Themes and Videos. This document is intended to be read by any publisher who is trying to distribute our games. This document is arranged as a series of Questions/Answers. We thought it would be easier to achieve our aim this way. Your future questions will be added to this document later.

This document is continuously updated but never fully finished. Due to constant changes in the mobile world and the adding of new technologies, new handsets, new requirements, etc. etc. It’s very important that you provide us with constant updates and feedbacks. If you encounter any problem and this document doesn’t provide an answer, then please contact us. We will update the document accordingly.

2.    Why new restructure is necessary?

ZGROUP MOBILE is a publisher of mobile games. At the time of writing this document we have more than 1300 mobile games coming from around 120 developer/provider. If we don’t build a unified structure for all games, then each game will have its own structure. It will have all the info needed, but organized in a different way. This will create a mess and confuse the publisher/operator in each case and will make it difficult for any provider to include the games into his/her distribution channels and/or platforms. Thus it was necessary to make one template and make all games follow the same structure.

It was also necessary to provide you (the publisher) with a way to describe each component in each game so that it will be easier for you to do an automated inclusion of games into your platform.

Since we have good experience with most CMS systems, then we can help you with the inclusion of our mobile games into your platform.  

3.    Can you tell us more about the new structure?

Each game is packaged into a zip file. If you try to explore several files then you will notice that all files follow the same structure. Here are the main points of the structure:

a.      There’s a binaries directory in which you will find all the jar/jad of the game with different handsets. This directory contains (in the first level) several sub-directories named after the manufacturers  (like Nokia, Siemens, SonyEricsson, . . . etc). For all manufacturers except for Nokia, you will find directories in the name of supported handsets. For example in Siemens directory you can find the following directories:

C60_MC60_M55_CF62_S55_S56_S57_A65_SL55_CX60

C65_S65_M65_CX70_SP65_SK65_S66_CX65

C66_SL65

CFX65

M50_MT50_C55

SX1

Note that each of these directories contain a .jar/.jad combination. The name of the directory describes which handsets the games will run on. Actually the name of the directory is no more than a list of supported handsets separated by “_”. For example the .jar/.jad found in the first directory (in italics above) will run on Siemens C60, Siemens MC60, Siemens M55, Siemens CF62, Siemens S55, Siemens S56, Siemens 57, Siemens A65, Siemens SL55 and Siemens CX60. So you can always tell on which handsets this version will run only by looking at the name of the directory. Also if you want to know what version will run on Siemens MT50, then you can go to siemens directory and search for a directory name that includes MT50 and use the .jar/.jad files inside.

 The grouping above is important as in most cases a .jar/.jad files will run on a series of similar devices. Note that in case the .jar/.jad doesn’t run on a specific handset (due to specific limitations or known bugs on that specific handset) then a separate directory will be created for that game in specific. For example if we have a specific version for Siemens C60 then you will find the following directory in the Siemens directory:

C60

 The Nokia has a special case, as there are two levels of directories inside the Nokia’s directory. The first level includes the different series for Nokia devices. The second level includes the name of the devices as in other manufacturer’s case. So the Nokia directory will include:

S30 – Nokia Series 30 devices.

S40C – Nokia new Series 40 devices like 6230i, 8800.

S40v1 – Nokia old but wide spread Series 40 phones like 7210, 6610.  .. etc. Those are MIDP 1 handsets.

S40v2 – New MIDP2 Series 40 phones like 6230, 5140.

S40v3 – Series 40 version 3 phones. 

S40v5 – Series 40 version 5 phones. 

S45 – Series 45 phones like 7600, 7270.

S60v1 – Old series 60 phones like 3600, 7650, Ncage. (MIDP1)

S60v2 – New series 60 phones like 6600, 6620, 6630 (MIDP2).

 

Let’s take one of the directories: S40v1 includes the following handsets:

2650_3100_3105_3108_3120_3125_3200

3205_3220_3300_5100_6100_6108_6200

6220_6225_6585_6610_6610i_6800_6810

6820_7200_7210_7250_7250i_7260

 And in each of these directories you will find separate .jar/.jad files running on these handsets.

 b.      There’s a marketingMaterial directory in which you can find all the necessary marketing material info about the game like screenshots, document files, animated screenshots, video. In this directory you will surely find:

                                                               i.      a series of screenshots in the size 128x128 numbered up from zero or one. For example CannonBalls0.gif, CannonBalls1.gif. . etc.

                                                             ii.      a file called animated.gif which is a brief animation useful to be included in web. The size is usually less than 100kb. The delay between two frames is set to be 1 second.

                                                            iii.      Two wap screenshots. One is 75x75 pixels, the other is 95x95 pixels.

c.      Three files at the root of each game. The first one is for short description suitable for wap display. The second is a detailed description about the game, suitable for web display. The third file (the most important one) is the descriptor file describing the content of the game in a suitable xml format that can be used later for automatic inclusion in your systems. More info about the xml file will be detailed in the following paragraph.

 

4.    Can you give me more info about the XML descriptor file?

Actually the descriptor file is an xml file. It is the most important file as it includes all the info above and it’s very necessary if you would like to do automated jobs, like automated inclusion of games into your platform.

Here is a brief description about each tag in the .xml file:

1.      Name: The name of the product. It’s the same as the name of the package file. This is the official name of the game.

2.      Type: type of the product (J2me, Brew, Mophun, Symbian. . etc) . Now it’s mostly J2ME.

3.      Verison: the version of the product.

4.      Description: Short description about the product. It can be used to show on wap

5.      Category: The category of the game. Games are arranged into different categories like Arcade, Action, Puzzle, Adult. . . etc. If the game is a premium game then this will be added to the category.

6.      Vendor: This is the name of the publisher. It’s always “ZGROUP MOBILE”

7.      Price: The minimum pricing of this product. In most cases it’s according to the agreement signed between your company and ZGROUP MOBILE. 

8.      Availability: The territories in which this product can be distributed. In 99% of cases it’s worldwide non exclusive. Anyway you still have to watch this closely in some cases.

9.      Sample-webn: A list of screenshots for the game. The size of those samples is 128x128 pixles. This is choosen to be the best for web display.

10.  Sample-wap1:One screenshot of the game suitable for display on wap pages. The size is 75x75 pixels.

11.  Sample-wap2:Another wap-screenshot of the game. The size is 95x95 pixels.

12.  Sample-animation: Animated screenshot of the game. The animation can include between 2-12 frames. The size is 128x128. The size is less than 100k. There’s one second of delay between the displaying of frames.

13.  filebundle: There’s a filebundle for each version of the game. The info about the version on each handset. Here are the sub-tags:

a.       Jad: the location of the .jad file in this package.

b.      Jar: the location of the .jar file in this package.

c.       Terminals: A list of devices on which the previous .jar/.jad files will run. The terminals are separated by ‘;’.

5.    If there's a new handset in the market, how will this structure change?  

Actually there will be no change in the main structure. We will have only to add an extra directory for the new handset. Suppose the new handset is Nokia N73. Then we check to see what series is it. This info can be found easily from Nokia's site. The handset is Nokia Series 60 v3. So we create a directory S60v3 in the Nokia directory (in case it's not already created). Then we create a directory called N73 inside it. We have to put the jar/jad files for this handset in the directory. Then we will have to include the new handset in the xml file. 

This unified structure has lot of advantages among which:

  1. New handsets can be added easily without much changing the whole package. 
  2. Having the content into directories will make it easily for anybody to identify easily and accurately the binaries compatible with a specific handset
  3. The publisher can ignore some handsets if they are old or not very frequent in the database they have.
  4. The publisher will be able to offer users of new handsets with games even if the new handset is not in the xml file. The publisher will use the binaries from a compatible handset and offer the users the same old base of games. This will ensure that new-handsets users will have something immediately.    

  

 

Home | About Us | Mobile Applications | Mobile services | Publishing Program | Download | Services | News | Contact Us

© Copyright 2002-2008 ZGroup Mobile
All Rights Reserved.