Wiley.Games.on.Symbian.OS.A.Handbook.for.Mobile.Development.Apr.2008 (779888), страница 14
Текст из файла (страница 14)
Artwork may also occasionally need to changefor locale variations, perhaps for language or cultural reasons, and thelimitations of the screen real estate must be considered in advance.Similarly, many games are designed for play on landscape orientationscreens, particularly those for mobile game players such as the NintendoDS or Sony PSP. Most mobile phones have portrait aspect screens,although some Symbian smartphones do have landscape orientationscreens or the ability to switch dynamically between either layout.
This isan important factor when designing the graphics of a game, or determininghow to port the game from another platform.1.13The Future for Games on Symbian SmartphonesWhat is changing to improve the user experience and drive the uptake ofmobile games on Symbian OS to greater sales volumes?THE FUTURE FOR GAMES ON SYMBIAN SMARTPHONES391.13.1 Easy and Cheap DownloadsMost people keep their smartphones with them at all times. If it’s easy tofind good games, they are likely to download and play them.
Ubiquityis an advantage of the mobile platform – but until now, the expense anddifficulty of finding games has put a brake on purchases.The rollout of next generation high speed data networks will be animportant factor in facilitating download of larger, better quality mobilegames. This combined with fixed-rate data plans – and the increasingprevalence of WiFi in Symbian smartphones, such as the Nokia N95and E61i – means that purchasers can make more regular downloads andgame purchases. It can also be expected to boost quality, and particularlythe market for the rich content native games supported by Symbiansmartphones, such as those for the N-Gage platform.
Games with goodvisual and sound quality need sophisticated and large game asset filesand would otherwise be too expensive, or impossible, to downloadover the air.For 2.5G handsets, the maximum download should be limited to500 KB for a good user experience.
For 3G networks it is acceptable tosupport up to 2 MB downloads. For 3G High Speed Access, UWB, CDMAEV-DO, or WiFi networks, larger downloads (e.g., 10–25 MB) should beacceptable.A nice example, given in 2005, is the ‘‘cycle of improving quality,driving and being driven by improving technology . . . seen in the evolution of the Internet. As more people gained broadband access morecomplex content became readily available. As more content was offered,more people wanted broadband access.’’23The importance of making it easy for a user to discover, try, play, buy,and share games is something that the Nokia N-Gage platform emphasizeswith its N-Gage application for S60 smartphones.
The N-Gage platformlaunches at the end of 2007, after this book goes to press, and the futureuptake of mobile games on Symbian OS smartphones may well be heavilyinfluenced by the user experience it introduces.1.13.2 Game Quality ImprovementsA guaranteed level of quality in the experience of purchasing a mobilegame is needed to improve the uptake of mobile game purchasing. Atthe 2007 GC Developers conference in Leipzig, Diarmuid Feeny, Nokia’sGames Business Manager, quoted statistics from Nokia’s channels thatshow 50 % of mobile phone owners are willing to buy games, but lessthan 5 % actually do so, and then less than half of them make a repeat23www.igda.org/online/IGDA Mobile Whitepaper 2005.pdf40INTRODUCTIONpurchase.
It seems that the potential customer base is wary, and thereasons cited for this include the experience of making the purchase andthe unpredictable quality of the game.The technical constraints against writing good quality games for Symbian OS are few. The capabilities of Symbian smartphones are constantlygrowing, offering larger screens, faster processors, and more memory ineach new generation of smartphone. Some smartphones, such as theNokia N93 and N95, have hardware acceleration, allowing consolequality graphics. The increase in memory and disk space available onSymbian smartphones supports the enhancements in download speeddescribed previously, allowing larger assets for higher quality gameplay.The increasing support for standards and game development middleware that Symbian OS and the UI platforms offer, also makes it easy fordevelopers to take advantage of familiar APIs and idioms when portinggames from other platforms (see Chapter 7 for details).The availability of documentation (such as this book!), SDKs, andtechnical support for game developers is increasing, enabling them todesign and implement high-quality games and get them to market faster.A good example for small developer teams is the free Forum Nokiaremote device access (RDA) service, which enables testing on differentphones to ensure consistency across the range of phones, without havingto purchase them all.For professional developers, the N-Gage platform goes further, byguaranteeing the game to run on N-Gage enabled devices, if writtenagainst the N-Gage SDK (see Chapter 8 for more details).
Other middleware suppliers, such as Ideaworks3D, offer alternative solutions tocompatibility and portability across a range of mobile devices (see theAirplay appendix at the end of this book).In general, improvements in the network speeds available and flat-ratedata charging, as described in the previous section, mean that larger gamebinaries can be downloaded, with better graphics, audio and video, aswell as opportunities for multiplayer games and social game playing.1.14SummaryThis chapter has raced through some of the aspects of mobile gamedevelopment to give an overview of the industry for those wantingto create games for Symbian OS smartphones.
It serves as a basicintroduction to a huge topic, and gives some context, before diving intothe technical details found in the rest of the book.In this chapter, I’ve described the fact that, as a games platform,smartphones are different to consoles, PCs, and even portable gameplayers like the Nintendo DS. There are challenges to writing gamesfor a ‘Swiss army knife,’ but also opportunities to exploit the servicesSUMMARY41available.
You can write casual or hardcore games, or something inbetween. FlashLite is available on a number on Symbian smartphones ineach global region. Java ME is available on all Symbian S60 and UIQsmartphones, and DoJa – described in Chapter 10 – is available in Japanon FOMA phones. For rich content games, native Symbian OS C++ APIsare provided in S60 and UIQ SDKs, and a range of middleware platformsand standards support is also available.NativeC/C++Closed: No installableC/C++ applicationsInstallable hardcore (rich content) games NativeC/C++Installable casual gamesUIQ or S60Java MEor DoJaInstallable casual gamesInstallable casual gamesJava MEor DoJaFOMA, UIQ or S60Feature phonesFigure 1.5Symbian smartphonesThe types of installable games that can be created for feature phones and Symbian smartphonesFigure 1.5 reflects the types of game that can be created and installedon Symbian smartphones using Java ME and native C/C++, and contraststhe options available for creating installable games for feature phones.The message of this chapter? Symbian smartphones sell in large volumes compared to portable game players.
Symbian OS is set to be foundin more mainstream phones than ever, because of the new pricing modeland technology available for Symbian OS v9. It has never been a bettertime to create games for Symbian smartphones!Part TwoCreating Native Games onSymbian OS v92Symbian OS Game BasicsJo Stichbury2.1 IntroductionThis chapter describes some of the basic issues to consider when creatinga game on Symbian OS v9 in C++. We discuss how to write a standardgame loop using an active object timer, how to handle user input from thekeypad and screen, and discuss how to pause the game when interruptedby a change in application focus. Some of the resource limitationsassociated with the mobile platform (such as memory, disk space andfloating point math support) are also discussed.A sample game skeleton, imaginatively called Skeleton, which illustrates the points discussed, is available for download from developer.symbian.com/gamesbook and runs on both UIQ 3 and S60 3rd Edition emulators and hardware (it was tested on Sony Ericsson M600i,Motorola Z8, Nokia N73 and E61).
The code uses the basic applicationframework for each UI platform generated using the New Project wizardavailable with Carbide.c++ v1.2. Very little additional UI-specific codehas been added, because the basics described here use generic SymbianAPIs. However, where differences exist between the platforms, they aredescribed below.2.2 The Game LoopMost applications on Symbian OS are driven by user input, directlyor indirectly.
For example, the Calendar application displays text as auser types it, or responds to commands the user submits through the UI(such as formatting text, or creating and deleting appointments). If the44SYMBIAN OS GAME BASICSuser stops interacting with the application, the thread is suspended andonly continues executing on receipt of, for example:• an event generated when the user next does something, for example,by pressing a key or tapping the screen• a system event such as a timer completion• a notification of a change of focus, such as when the user switchesto use another application, or the application is sent into the background by an incoming call or other event. For instance, the Calendarapplication may have an outstanding timer that expires when theapplication needs to display a notification dialog to the user to remindthem of their next appointment.The Symbian OS application model is said to be event-driven, whichmeans that it does not run on a tight polling loop, constantly checkingfor input or changes of system state, but instead waits to be notified torun when it needs to respond to an event.