The Clash of Mobile Platforms: J2ME, ExEn, Mophun and WGE
by [email="firstname.lastname@example.org"]Pedro Amaro[/email]
[b]Abstract:[/b] The author makes a brief introduction to the development of cellphone games. Some of the specific characteristics of this market are analyzed and the four primary free game development platforms are described, mentioning each one's advantages and disadvantages. This article is primarily targeted at amateur development teams who wish to evolve to professionals in this market.
2. [url="#a2"]The wireless gaming market[/url]
7. [url="#a7"]Which should you choose?[/url]
At the moment, most programmers enter in the videogames' world "through" the computer. Taking in consideration the high licensing fees in the console market, it's extremely difficult to commercially release games on these systems (at least in a legal way). However, these last two years (and especially in 2002), another "gateway" to professional game development has been opened: the cellphone. The appearance of several free and device-independent development platforms allows amateur development teams to compete head-to-head with this sector's professionals without any notorious disadvantages. To achieve this, one must choose the platform that best fits the intended objectives. To make that choice easier, this article introduces the four main free platforms available in the market: J2ME , ExEn , Mophun and WGE . Initially, the reader is introduced in the specific characteristics of this market, to help him notice the development differences regarding other systems. This introduction is followed by an analysis of the strong and weak points of each one of the platforms mentioned above. The last paragraph contains a short summary on each platform, as well as an indication of what type of situation each one fits better.
[b]2. The wireless gaming market[/b]
Unlike what happens in other systems, the amount of people who buy a cellphone just to play is extremely reduced. Sometimes the choice is purely based on the price, sometimes people buy whatever the mobile operator sells them and there's also people who choose a certain model just because his friends also have one... there are plenty of reasons to choose a device and the available games are usually only seen as a nice "side effect" of buying a cellphone.
With the appearance of the most recent cellphones, which have advanced graphic and sound capabilities, this market started expanding. Apart from the mentioned capabilities, the existence of free device-independent development platforms played a major role in this expansion. Looking at the success of handheld consoles (especially Nintendo's Gameboy, which became the world's best selling console in 1999), it becomes obvious that there's an excellent market to explore. Afterall, most people use their cellphone to be reachable anywhere, anytime. This means that, usually, they always take the cellphone with them. You can't say the same thing about a handheld console, since its users only carry it around when they're sure that they'll go through long waiting periods. The cellphone, on the other hand, is always there: at the bus stop, at the dentist's waiting room or in a boring class. Its main function (communicate) is constantly being requested, which means that its remaining functions (where games are included) are also always available.
Another important aspect lies on the fact that the typical cellphone user doesn't care about the technology available in his device. "J2ME", "ExEn" and "Mophun", for example, are words that most users don't know. Now, if the selected term is "Snake", it's pretty certain that at least those who usually play with a cellphone will recognize the word. Even though, at the moment, the choice of a cellphone isn't influenced by its games, it's extremely likely that this situation will change in the next 2 to 3 years. However, you shouldn't expect that common users will start checking if the device they're planning on buying supports a certain platform. What they will look for is if that device supports a good amount of quality games at reasonable prices... without forgetting that a cellphone's main function is communication.
A final thought goes to the game genres with higher probabilities of achieving success in this market. Unlike what's usual in other systems, the cellphone users don't play during long time periods. Games which involve that necessity (like, for example, RPGs and platforms) must have an extremely high quality level to "conquer" the user. Puzzles are the most common genre: if they're easy to play, fun, feature a fast action and do not demand a lot of training time, the success is almost assured. Another genre which is starting to become famous is the action: fighting games, shoot'em and beat'em up are now starting to enter the cellphone gaming market. When developing a game for this system, you shouldn't forget that there's a high probability of it being played only for 5 or 10 minutes at a time. If it doesn't "grab" the player in this time period, its commercial success will be quite limited.
The "Java 2 Micro Edition" is usually considered what Java was originally supposed to be: a cross-platform language capable of working in devices with highly reduced capabilities. With that in consideration, it doesn't come as a surprise the similarities between J2SE and J2ME. As a matter of fact, J2ME is often considered a Standard Edition stripped to the essential.
Since it wasn't initially planned for games, its potential is quite reduced when compared with the other platforms created specifically for that purpose. Although MIDP 2.0 already comes with a GameAPI, the current version (MIDP 1.0) only has a few rudiments of what would be required to produce technically advanced games. For example, there's no support for resizing images, perform simple 2D rotations or even include sound. However, due to the fact that it appeared first and managed to acquire a good amount of supporters, J2ME became almost a market standard and it's the platform that carries more games in more devices.
J2ME's development costs are extremely reduced. The SDK is freely available and there are no licensing expenses, which means that anyone can create a game and market it. However, unlike the other platforms created specifically for games, there is no J2ME business model. The developer must negotiate its commercialization with three possible "partners": manufacturers, operators and distributors.
Negotiating a contract with a manufacturer is usually the most difficult option. Most of the times, it's cheaper for the manufacturer to create its own internal development team rather than paying a third party to develop games to be included in all its devices. Besides, considering that it's already possible to download games for the cellphone, the number of titles initially available in the device's memory is a characteristic losing some attention. Most of the times, these games are weaker than those the player can obtain through a simple download.
Negotiating directly with an operator is becoming the most common alternative. Most operators already have a service targeted at game developers and the current indicators show that these services will expand. The profit margins in revenue sharing are usually the highest (around 80%). However, sometimes commercializing a game can be quite difficult. Most of these services require a test period in which the game download is free. If the game is successful in this period, it moves on to a commercialization stage. The problem with this option lies in a simple fact: when the game enters the commercialization stage, the "new game" effect has wore out and the possible buyers already played it when it was freely available. Another problem lies in the limitation of negotiating with just one operator. For example, to release a game in more than one country, negotiations with at least two operators are required. This problem thickens when the developer wants a continental-wide or worldwide distribution. Anyway, sometimes it can be the best option (when, for example, due to localization difficulties, the developer wishes to target a single country and the operator does not demand a free download trial period).
The third option, dealing with a distributor, is usually the most appealing when what the developer wishes is a large scale distribution. It's quite common for distributors to have agreements with several operators. The turnoff of this lies on the lower profit margins. Usually operators take 20% of the profits, while the remaining 80% are divided among the distributor and the developer. Although it's possible to obtain a revenue share between 20% and 70% (which is above the 5% to 10% from other markets), the profit will never be as high as it would be if it was negotiated directly with the operator. Apart from this disadvantage, the developer also has to find a distributor interested in his application, which sometimes can be extremely difficult (although there are cases where it's the distributor that contacts the development team). The main advantage lies in the lack of commercially worries for the developer, since both the operator negotiations and the marketing are a task for the distributor.
Regarding J2ME's future, generally speaking you could say it's excellent. Not only does it have an extensive list of manufacturers supporting it (making it almost a standard), but it also managed to overcome the problems of JVMs that did not follow the specifications (which occurred due to the manufacturers' "rush" in releasing devices supporting this technology). On the gaming market, its future is somewhat dependent of MIDP 2.0. It's certain that it won't fade away and it should keep the leadership during 2003... but if one or more of the remaining contenders stays ahead in a technological level and manages to include its engine in an amount of devices similar to J2ME's, Sun's platform will face some difficulties in keeping the leadership in this specific market.
"Execution Engine" (also known as ExEn) was developed by In-Fusio to "fight" the limitations imposed by J2ME in game development. It's also interesting to notice that In-Fusio tried to overcome those limitations working together with Sun by presenting the proposal of a GameAPI for MIDP 2.0.
ExEn was the first mass market downloadable game engine to be made available in Europe. This was an important first step that allowed ExEn to achieve the current position of leader in this continent, making it the most used game engine (which also means that it's the one with a wider range of games).
In early November 2002, there were 18 models which supported ExEn. In an European view, this means around one million available cellphones. Although it's a somewhat reduced number when compared with the five million devices which have J2ME technology, it's an impressive amount for a "small" proprietary technology.
Nevertheless, when compared with the remaining contenders, it's incorrect to say that such leadership is justified by the technological capabilities. Both in graphical and processing speed terms, ExEn is far from the lead. However, by supplying additional important game development functions (sprite zooming, parallax scrolling, raycasting, rotations), it easily overcomes J2ME. Adding to this a virtual machine that, despite not being the fastest, can be around 30 times faster than a generic VM (although usually is only 10 to 15 times) and only leaves a 5% footprint on the device's memory, it's easy to see why this is the most widely chosen game engine.
Another important reason that lead several developers to choose ExEn is In-Fusio's business model. This is divided in 2 levels: standard and premium. In the standard level (free subscription), In-Fusio offers the SDK, an emulator, on-line technical support and the possibility of, later on, upgrading to the premium package. The developers that achieve the premium level have their games marketed by In-Fusio, which promotes them in the operators who have devices supporting this engine.
Execution Engine's growth perspectives are quite good. With a new version (2.1) released in the beginning of 2003, the support of several influential software-houses (Handy Games and Iomo, for example) and an attractive business model for independent producers, the number of available games should increase considerably. In-Fusio has also started to enter the Chinese market, which should become one of the strongest (if not the strongest) in the next 2 to 3 years.
Mophun is described by its creators (Synergenix) as a "software-based videogame console". Although its development began in late 1999, its market implantation only achieved a serious level in November of 2002.
Its late appearance, allied to the fact that only three devices carry this engine (Ericsson T300, T310 and T610) made some developers discard the option of developing for this system. The somewhat biased market analysis performed by Mophun's producers also "scared away" some interested developers... for example, in one of those analysis, Mophun is shown dividing the leadership of the European market with J2ME. However, while the J2ME and ExEn information reported back to October of 2002, the values presented for Mophun were predictions for 2003. This fact passed on the feeling that something went wrong with Mophun at an operator and manufacturer support level.
Technically speaking, Mophun has no rivals. Tests performed by independent organizations showed that, in a device where Mophun reaches 60 MIPS, J2ME only went as far as 400 KIPS (this represents a performance 150 times higher). Synergenix also adds that, in certain devices, part of the VM code is directly translated into native code, meaning that it's possible to achieve 90% of the device's maximum capability (for instance, reaching 90 MIPS in a device that reaches 100 MIPS when running native programs). The remaining characteristics are similar to ExEn's.
Like ExEn and J2ME, Mophun is also freely available. In some aspects, Synergenix's business model resembles In-Fusio's: after the game is developed, Synergenix handles certification, distribution and marketing. However, since its current network isn't very extended, it doesn't seem to be as appealing as ExEn's, which made some developers choose the theoretically weaker system.
Mophun's future is "semi-unknown". If Synergenix fails to quickly acquire additional support, it's quite likely for Mophun to be dropped in favour of less powerful but financially more appealing development technologies. However, if the promises that several operators and manufacturers are going to adopt Mophun briefly are followed, this system's advanced technical skills can make it the new leader.
The "Wireless Graphics Engine" is TTPCom's solution. Although it began being considered the main candidate for domination of the game engines' market, the lack of support by game developers ended up decreasing the initial appeal.
It's impossible denying that, from a purely technical point of view, WGE has everything to win. It may be slower than Mophun, but the several API modules make 2D and 3D programming easier (including tile management and collision detection functionalities), allow a simple access to networking functions and grant sound support, among other capabilities.
As its direct contenders, the SDK download is free and TTPCom has a business model aimed at attracting the game development teams. To the usual revenue sharing from the games sold on a download basis, there's the addition of a "minimum income" resulting from selling the games directly to the device's manufacturers.
Unfortunately, despite the initially generated "fever", the lack of support from the primary manufacturers ended up limiting WGE's success. Most software houses avoided it, which lead small companies and independent developers to follow that example. The result is easy to see: the number of games available for WGE is slightly over 30. This lack of interest shown by the majority ends up bringing an advantage for those who want to start developing for WGE: with such small internal competition, it's easier for a quality game to succeed. The disadvantage lies on the lower number of possible players, which may considerably limit the profits obtained from the game's commercialization.
Although it's wrong to say that WGE's immediate future is dark, its perspectives have been more pleasant. Considering the strong competition that the current market fragmentation will bring in the next two years, if TTPCom isn't able to bring more software houses to its catalogue, it'll hardly get the support of additional manufacturers. On the other side, without the support of additional manufacturers, it's extremely hard to attract more software houses. WGE's future depends on TTPCom's ability to break this cycle. If it makes it within the next 3 or 4 months, the growth perspectives are quite positive. Otherwise, the end is almost unavoidable.
[b]7. Which should you choose?[/b]
At this point, a question arises: which platform shall a programmer choose? Due to the high fragmentation of this market, there isn't one answer that suits all situations. To choose the platform that best fits the situation, it's necessary to set the objectives of what the team wants to produce and analyze the advantages and disadvantages of the several available platforms.
When the objective involves reaching a wide market and it's possible to make some compromises on a performance level, J2ME is the best option. If commercializing the game is also an objective, the team must expect to lose some extra time negotiating the distribution deals.
If the project requires more potentialities than those offered by J2ME and there's the option of choosing a smaller market or if the team wishes to choose a platform that offers a simple business model, ExEn should be selected.
When the most critical aspect lies on the performances (both in speed and graphical terms), Mophun appears as one of the main choices. In this case, it's important to check if taking the risk of choosing a not yet widely spread platform is a possibility.
If the option for a platform with a reduced market isn't a problem, if the objective is the creation of a high-performance game and if Mophun isn't a satisfactory choice for any reason, WGE is the best option. Once again, it's advisable to study well the choice in order to prevent excessive expenses when compared to the expected profits.
With this article, the author intended to make a brief introduction to the main wireless game development platforms. It is expected that this may aid the choice of the platform by those who wish to enter this emerging market. This analysis was limited to the four main freely available platforms, in order to make this article especially useful for the amateur development teams who seek an entrance into professional game development. However, all those who wish to go through such entrance must remember that it will only be possible with the production of quality products adapted to the specific needs of this market.
1. Sun Microsystems, J2ME Homepage, [url="http://wireless.java.sun.com/"]http://wireless.java.sun.com[/url]
2. In-Fusio, ExEn Homepage, [url="http://developer.in-fusio.com/"]http://developer.in-fusio.com[/url]
3. Synergenix, Mophun Homepage, [url="http://www.mophun.com/"]http://www.mophun.com[/url]
4. TTPCom, TTPCom Homepage, [url="http://www.ttpcom.com/"]http://www.ttpcom.com[/url]
5. 9Dots, WGE Support Page, [url="http://www.9dots.net/"]http://www.9dots.net[/url]
Pedro Henrique Sim?es Amaro
Departamento de Engenharia Inform?tica
Universidade de Coimbra
3030 Coimbra, Portugal