Wiley.Games.on.Symbian.OS.A.Handbook.for.Mobile.Development.Apr.2008 (779888), страница 75
Текст из файла (страница 75)
Airplay SDK solves these problems through unique technologywhich has already been proven in many award-winning and best-sellingmobile games, providing enormous cost savings and opening up newchannels to the consumer.What is Airplay SDK?Airplay SDK from Ideaworks3D consists of a comprehensive C/C++ SDKand a set of tools for native mobile game development.The solution comprises two environments: a development environmentand a deployment environment. Both environments include a set ofpowerful and extensible tools and technologies within a framework ofprocesses and workflow best practices. This combination of technologyand know-how delivers significant cost savings during both developmentand deployment and enables a faster time to market.The Airplay solution is the unique result of a six-year symbiotic relationship between Ideaworks3D’s technology and game studio divisions.It is through building many of the most innovative mobile games in theworld that our solution has been fine-tuned and thoroughly battle-tested.Airplay consists of three components:Airplay System – This is an easy-to-learn abstraction layer that is designedto relieve deployment headaches and offer a zero-effort porting solutionby using a single platform-independent native game binary.Airplay Studio – This is a set of fully featured OS-independent librariesand art tools, providing a highly-optimized, scalable art contentpipeline and runtime graphics engine.
The graphics engine can renderusing either the included software renderer – widely recognized to342AIRPLAYbe the highest-performing in its class – or by taking advantage of anyavailable hardware acceleration.Using Airplay Studio tools, developers can rapidly produce consolequality mobile and handheld titles, and publishers can easily deployeach title across a variety of platforms, virtually eradicating the costof porting QA, which results in a much faster time to market. Thetools have been designed to exploit synergies across the entire console/handheld/mobile spectrum, and to allow the re-use of a variety ofassets from console and handheld platforms (such as textures, geometry, video, speech, music, sound effects and even code).
The toolsalso simplify porting from first-generation (e.g., PSone) consoles or PCtitles. Each of the Studio components have been tested in-house by theIdeaworks3D Studio, which has used them to build games that havecontained well over 1 MB of compiled code and in excess of 50 MBof game assets.Airplay Online – As Chapter 5 described, Airplay Online is a flexibleand powerful framework for online games.
Airplay Online providesstandard services for downloading levels and other assets, high scoreuploading and table downloading, identity management, profile management, and real-time multiplayer gameplay. In addition, it providesa framework that makes it easy to enable custom services to be written,for instance, implementing game logic on the server to make thingssimpler for the client.Business Challenges in the Mobile Games IndustryThe emergence of addressable native operating systems (Symbian OS,BREW, Windows Mobile, Mobile Linux, and potentially RTOS environments like Nucleus) has brought a new opportunity for games developers.The ability to run at native execution speeds opens up a new class of rich,interactive game experiences.Native mobile game development currently comes at a price.
Richergame experiences demand more complex development, often over longerperiods and with a more skilled workforce. There is also an onerous porting headache between native operating systems. Entirely new platforms(e.g., Android) also appear periodically, and supporting these requiresanother large investment from the developer and publisher.Even on a single platform, the rapid production of new handsets meansthat games developed and tested on a specific range of handsets missnew deployment opportunities only a short time after release. Deployingan existing game to a new handset often requires re-convening thedevelopment team, re-compiling the game code, testing and tweaking onthe new handset, before uploading the new game binary to the operator.This is a costly and time-consuming exercise.AIRPLAY343Airplay SDK recognises the massive opportunity for rich game experiences on native platforms, and addresses these business challenges asdescribed below.How Airplay Solves the Business ChallengesAirplay SDK solves these business challenges in the following ways:1.
It reduces porting costs almost to zero by providing a single gamebinary which runs across all native operating systems.2. It reduces code development costs by allowing the entire mobileapplication to be developed on the desktop.3. It reduces code debugging costs by providing full source-level debugging of the native ARM binary on the desktop.4. It reduces art development costs by providing a ‘scalable contentpipeline’ that supports hardware-accelerated OpenGL ES 1.1 as wellas a best-in-class software renderer.5. It reduces the cost of deploying to new handsets after releaseby separating the development environment from the deploymentenvironment.
A single game binary can be repackaged with anappropriate data set post-production and a SKU delivered to a formerly unknown device, without requiring the involvement of theoriginal game development team.Let’s look in more technical detail at how these cost savings areachieved.Reducing Porting CostsAirplay System uses a combination of a single game binary (i.e., the gamecode binary is identical on all target platforms), and a thin C API whichabstracts all relevant core OS services. This API behaves identically acrossall target platforms, thus reducing device and OS fragmentation.
The gamedeveloper is concerned with only one development environment, anddoes not need to acquire any knowledge of, or even install, the targetplatform SDK.The abstraction layer is kept as thin as possible, containing onlytruly OS-dependent functionality, with all utility functions and other OSindependent functionality implemented in higher-level libraries that arelinked into the game binary (if that functionality is needed).
The resultis that a single game binary typically contains 90 % of all code that isexecuted, and this is identical on all platforms.344AIRPLAYAirplay System takes great care to ensure that the remaining 10 % ofcode behaves identically, and the abstraction layer can be configured(by either Ideaworks3D or a licensee) for a particular device via a textbased device profile to activate particular functionality or workaroundsfor handset issues.Airplay System uses an OS-independent, but CPU-dependent, binaryformat. This ensures that all code is loaded and executed as pure nativeinstructions, with no virtual machine (VM), ahead-of-time (AOT) or justin-time (JIT) compilation, all of which degrade performance and increaseload times. The vast majority of addressable native operating systemstoday run on ARM processors; therefore the ‘single game binary’ isusually a native ARM binary.
CPU architectures other than ARM and x86can be supported if needed.The game binary is native code,1 as generated by the best-in-class optimizing compiler for the target architecture (RVCT 3.0 on ARM), therebymaximizing performance. The GCC compiler is also supported. AirplaySystem supports all compiler optimizations, which can be applied on aglobal basis or by the use of compiler directives (such as in-lining functions) and/or pragmas to provide fine-grained control. Similarly, AirplaySystem can generate code for the ARM, Thumb or Thumb-2 instructionsets in order to trade off size versus performance, as appropriate.Reducing Code Development CostsDeveloping for multiple native operating systems is currently a painfulprocess.
For each platform the programmer typically has to:• obtain and install the target OS SDK for each flavor of each OS• learn the coding idioms and core APIs of each OS• work within restricted C++ environments, for example, with limitedsupport for standard C++ libraries such as the STL• use a particular IDE for a particular OS• test code on the desktop within proprietary OS simulators. These areoften slow to boot up, and are still running x86 code, so they are notable to detect issues that may only be evident when compiling forARM.• test code on hardware, possibly without any form of on-device debugging, which requires writing trace statements to text files, or infoprint1The specification for the game binary file format is included within the Airplay SDKdocumentation.AIRPLAY345statements.