The Austin Game Conference has emerged as one of the primary conferences for game designers, developers, and entrepreneurs in North America. This year, more than 1400 professionals from over 350 companies attended the conference to discuss the technical and business challenges that face today's game industry. For mobile developers, this annual conference is enticing because of its comprehensive lineup of sessions dedicated to mobile games. The crowded sessions indicate that mobile games are steadily gaining in mind share of game developers and publishers in the field. (But like any emerging technology, of course, the mobile game industry is laden with both opportunities and land mines.) It is certainly an opportune gathering for newcomers to learn a great deal from veterans and early adopters. While attending the conference, I had the opportunity to sit in on sessions hosted by leaders in this industry and to engage in one-on-one conversations with many of them. Here's what they had to say.
The big picture
The popular interests in mobile games, from the business end, arise from the huge potential market and the frustration of the high barrier of entry in the conventional console/PC game market.
The Smart mobile handset is already the largest computing platform ever to exist and is still growing at explosive rates in emerging markets. MFORMA Group's EVP and CSO, Robert Tercek, said that in China alone, there are 300 million mobile subscribers -- more than the entire population of Europe -- and that number will grow to 500 million within the next two years. Entertainment and games are the leading applications driving the growth of the mobile data market. Perhaps the biggest reason for these numbers lies in the diversity of its users and the appeal to the mass market. According to Sorrent's VP of marketing, Jill Braff, most of the mobile game players surveyed in their marketing studies do not fit the traditional profile of lone commuters waiting for public transportation. In fact, most mobile gamers play at home several times a day even though many of them already own dedicated game consoles. They play mobile games while they are watching TV, SMSing, or otherwise multitasking. Very young kids can now have access to mobile games through family plans for wireless services. Mobile gaming is becoming a way of life for an entire generation of consumers. To recognize this from an older generation developer's point of view, look at today's teenagers: they are often more comfortable with slow text messaging than with conventional e-mail or voice communication. The diverse demography of mobile consumers makes the mobile content market a mass media market that might eventually rival or exceed the television market. It is a historic opportunity for developers and content providers.
Nokia's game researcher, Greg Costikyan, explains mobile game developers' apparent enthusiasm from a different angle: Today's successful console and PC games require highly polished graphics and visual effects that are very expensive to produce. The barrier of entry to the console/PC game market has become insurmountable for most small independent developers. A console game could cost five million dollars to develop, plus several million more in marketing costs. With such high launch costs, most of the console games fail to make a profit. That has caused publishers to be extremely conservative about experimenting with new innovations in game plays. On the contrary, mobile games are still relatively cheap to develop, and independent developers can experiment with new "killer game" ideas. The cost to develop a mobile game is steadily increasing as the devices become more sophisticated and the advanced features, like Java 3D, become available. But for most serious developers, now is still a good time to break into the mobile game market.
Overall, the big picture is that mobile gaming is still in its infancy and resembles the overall game industry in the early 90s. As a result, there will be boom and bust cycles to watch out for. Game developers are right to be excited about the opportunities, but should also remain aware of the risks.
Appeasing the operators
Different from the traditional console/PC game market, the mobile game market is essentially controlled by the wireless service provider (the operator). The operator decides what devices it supports and what data services are offered to its subscribers. It also provides integrated authentication and billing services for mobile content providers, including game developers and publishers.
Most importantly, the operator provides crucial marketing support for mobile games. Consumers have a strong tendency to purchase services for their phones directly from their wireless operator. Although Java programming-based mobile games can be downloaded from many third-party portal sites, such as java.net, more than 90 percent of the actual purchases come from the wireless operator's online catalogs. As Ms. Braff pointed out, the current prices and revenues of mobile games do not yet justify large scale TV advertisement campaigns. So, to get your game in the operator's catalog is critical for its commercial success.
The operator likely has quality requirements for the games in their catalog and needs those games to run on most of the handsets their customers currently use. It is important for developers to understand those requirements, and it is a good idea to get in touch with operators early in the development life cycle.
Now let's discuss how operators' needs can affect the developer's choice of development platforms and strategies.
Choosing the right platform
For game developers, one of the most important choices to make at the beginning of the development process is on which mobile software platforms this game should run. Although developers have constantly complained about the limitations of the mobile phone hardware and software environment, it is somewhat surprising to see that few of them actually choose the more powerful mobile platforms, such as Symbian C++, Visual C++, and .Net Compact Framework, to develop their games. Most developers focus on the relatively constrained Java 2 Platform, Micro Edition (J2ME) and Binary Runtime Environment for Wireless (BREW) platforms. The reason is simple: Those are the two platforms with the highest volumes and, therefore, the best support from operators.
BREW is a C++-based smart client platform for handsets based on Qualcomm's CDMA chips. Its main attraction is that the platform integrates very well with the operator's services and enjoys automatic support for content downloading and billing. BREW is very popular among CDMA network operators in the United States. For commercial mobile developers who lack the experience working with wireless operators, BREW is a good platform to start on, although its reach is limited. The number of CDMA network subscribers is only one-fifth of GSM network subscribers worldwide. In addition, the C++ programming language is difficult for many developers to master. For hobbyist developers, the tight integration between BREW and the operator makes it difficult to distribute free or personal BREW games over third-party Web sites.
J2ME is by far the most popular application development platform for mobile devices. It is primarily available on GSM handsets and is supported by all major GSM manufacturers, including Nokia, Motorola, Samsung, and Sony-Ericsson. In fact, J2ME is even supported on Nokia's CDMA devices and Motorola's Windows Mobile devices. The J2ME handset manufacturers have a combined market share of more than 80 percent, and J2ME is available on more than 250 million handsets. By the end of the year 2003, 85 wireless operators worldwide had deployed Java programming support. With automatic memory management and a rich set of easy-to-use APIs, J2ME is designed to boost developer productivity. On the other hand, the large market share and diverse device support for J2ME also present the biggest technical challenge for J2ME developers -- the problem of porting an application to a variety of devices.
Porting, porting, porting ...
Although the J2ME API is relatively easy to learn, it is misleading to suggest that mobile Java language game development is somehow simpler than developing console or PC games. In fact, in terms of the percentage share of the total revenue, the development and engineering cost for mobile games could be much larger than those for console or PC games. Most of the speakers at the Austin conference agreed that the biggest (and most expensive) challenge in mobile game development is the support of these many different devices in a fragmented market.
The J2ME platform makes the Java programming language and a standard set of APIs available across all the Java-compatible devices from multiple vendors. Ideally, a J2ME application developed for one Java handset should run without modification on all other handsets supporting the same APIs. However, Java's "Write Once, Run Anywhere" vision has yet to be realized, thanks to the fragmentation of the device market. Meanwhile, there are several reasons why there are so many phone models:
- Because mobile devices are highly personal, each one is designed for a very specific usage pattern. For example, enterprise users, consumers, messaging teenagers, price-conscious users, and hardcore gamers all get different phones with different combinations of functions and UI styles.
- Mobile phone manufacturers need to differentiate their product offerings. Different manufacturers adopt different CPUs, memory sizes, base operation systems, and UI features. They also provide proprietary Java extension APIs.
- Operators need to differentiate their service offerings, such as by customizing the device hardware and software. They can also decide to enable or disable certain data service on the device. For example, NexTel would not permit a third-party J2ME application download to general consumer phones on their network.
- Mobile phones are evolving faster than Moore's law, with hundreds of new device models on the market every year. Those devices support different versions of the J2ME standard and different sets of the optional API packages. Right now, the low-end MIDP 1 devices have the largest installed base. But many new MIDP 2 smart phones, including advanced devices that support the J2ME 3D, Bluetooth, and Web services APIs, are starting to take over the high-end market.
Supporting all the popular devices on the market maximizes the J2ME game's chance of reaching the critical mass for commercial success. A Java application needs to be ported, optimized, and tested for each target device it is intended to run on, which is a complicated challenge. For example, even among Nokia products, Series 60 and Series 40 devices have very different screen sizes, memory sizes, and CPU speeds. Furthermore, the quality control of the Java Runtime Environment (JRE) on devices has been weak. Different devices could have different bugs, particularly in their thread or memory management implementations. You have to work around those problems one device at a time. This can be extremely expensive and requires extensive technical know-how to optimize for more than 70-80 devices in house.
According to J2ME game developer Oliver Miao, CEO of Centerscore, today's J2ME game industry has original application developers and specialized porting houses. The original application developer typically develops a generic version of the J2ME game for a representative mass market device (or one version each for the high-end and low-end devices). If the operator is interested in the game, the operator arranges for a porting house to optimize and test the game for all Java handsets it carries.
For beginning developers, Mr. Miao suggests starting from a high-end device with the least amount of computational and API constraints. Those devices allow the developer to focus on the correct API usage and game design instead of advanced CPU and memory optimizations. A Nokia Series 60 MIDP 2 device would be a good device to start with. Then, as you gain experience as a developer, it's a good idea to move toward more restrictive mass market devices. For example, most Nokia Series 40 devices only support 64 KB Java Archive (JAR) file size and 200 KB heap memory size limits. To port a graphic-intensive application from Series 60 to Series 40 requires reworking the graphics and even changing the game play. This step is absolutely essential, though, for the commercial success of the game. As discussed here, the great strength of mobile games lies in the large volume it occupies in the mass market. The low-end devices have by far the largest volume in the mass market. For instance, the Nokia Series 40 devices -- the most widely adopted Java phone ever -- have sold 10 times more units than fSeries 60 devices. The skill to understand the low-end devices and optimize applications for them is what separates novice developers from seasoned ones.
The Nokia Series 40 was the most frequently mentioned line of devices at the conference. Developers love it for its huge market share, but hate it for the amount of optimization work needed to port applications to it. For mobile game developers, it is important to master the skills to scale applications up from or down to Series 40 devices.
The Austin Game Conference clearly showed the interest and momentum developers have in mobile games. Although the consumers have yet to catch on, early market studies show this is due mainly to the lack of consumer awareness in mobile games. As devices continue to become the convergence point of personal communication, business data, and entertainment, the future is bright for mobile games. Now is also the best time to enter the market, while the barrier of entry is still reasonable.
For developers, the key challenges are managing wireless operator relationships and developing applications for multiple target devices
About the author
Dr. Michael J. Yuan is a recognized expert in mobile end-to-end solutions with J2ME, J2EE, and .Net technologies, having authored more than 30 technical and academic articles on this subject. He is the author of two books, Enterprise J2ME (Prentice Hall, 2003) and Developing Scalable Series 40 Applications (Addison-Wesley and Nokia, 2004).