View a printable version of the current page.
  Wiki > Symbian Developer Network Public Wiki > ... > Games on Symbian OS > Airplay 3.5
  Airplay 3.5
Added by jostichbury, last edited by jostichbury on Feb 26, 2008  (view change)
Labels: 
(None)





This page lists the features of Airplay 3.5 from Ideaworks3D. Please consult the Ideaworks3D website for further information. 

Airplay 3.5: System Feature List

Airplay System OS Abstraction API ('S3E')

-          OS abstraction layer and single binary format across multiple mobile OS platforms.

-          SDK integrated with Visual Studio. NET, VC6, latest ARM and GCC compilers, Windows and Linux emulators.

-          Single makefile for all IDEs and compilers.

-          Simple, straightforward C API that any application developer can learn quickly and build complexity on top of.

-          Execution environment optimized for speed for different platforms.

Airplay System Supported Platforms

-          OS smartphones - S60 2nd and 3rd Editions and UIQ 3.

-          BREW (2.x, 3.x).

-          Windows Mobile (5, 6) (Smart Phone, Pocket PC Phone and Pocket PC).

-          Mobile Linux.

-          Nucleus RTOS.

-          Windows/Linux for desktop development.

-          Internet Explorer Active-X plug-in.

Airplay System Runtime

-          Handles OS-specific adaptation of native binary code for checking and security.

-          Full C and C++ support and the use of static data in applications.

-          Application binaries are stored compressed.

-          Provides memory management, threads, sockets, file system, debugging, standard C library functions and more.

-          Provides device-specific services like keyboard, graphics subsystem access, images, sound, video, system events, and more.

Airplay System Deployment Options

-          S3E built into games, no embedded client needed.  Games deployed to BREW and Symbian OS currently use this method.

OR:

-          Embedded S3E module on phone, where Java-based delivery is used. Proof-of-concept on Nucleus RTOS.

Airplay System Tools

-          Build with MSVC, ARM or GCC compilers, in Debug or Release configurations, all within the IDE.

-          Debug x86 builds with Visual Studio and the Airplay System Desktop Simulator.

-          Airplay System Desktop Simulator allows runtime inspection of hundreds of application metrics; changing of screen size; linking to different desktop OpenGL ES libraries, and more.

-          Debug ARM builds with ARM's fast desktop simulator, all within the IDE.

-          Create a deployable ARM SKU (e.g. Symbian OS SIS file), complete with all OS resources, all within the IDE.

-          Airplay System Desktop Simulator

-          Separate post-production tool allows porting engineers to pair single game binary with target-optimised assets, all without recompiling any code.

OpenKODE

-          Airplay 3.5 fully supports OpenKODE(TM) 1.0 (discussed further here).

-          Airplay 3.5's OpenKODE implementation has been certified as conformant on Symbian OS v8, Symbian OS v9 (S60 3rd Edition and UIQ3), BREW (2.x, 3.x), Windows Mobile (5, 6) and Mobile Linux.

-          Airplay 3.5 desktop simulator environments running Windows x86 code or simulating ARM code using ARM's Real-Time System Model debugger are also conformant.

Airplay Studio Feature List

The Airplay Studio Runtime is comprised of several modules, as listed below:

IwUtil - Framework and utility

-          Thin C++ framework for all derived classes.

-          Serialisation of all SDK classes to/from binary files.

-          Modular and highly-extensible text file parsing system.

-          Load 4-bit, 8-bit and 16-bit image files.

IwGeom - 2D and 3D geometry

-          Fixed-point and floating-point geometry library, heavily optimised for speed.

-          Vector (2, 3, and 4-component)

-          Matrix (3x3 rotation and 3-component translation)

-          Quaternion.

-          Plane.

-          Sphere.

-          Bounding box.

-          Fast trigonometric tables.

-          Intersection functions.

IwGx - Rendering abstraction

-          Abstracted drawing API which can target either software rendering or OpenGL ES.

-          Dynamically switch transform, lighting, and rasterization pipeline between software and OpenGL ES at runtime.

-          Supports tri lists, tri strips, tri fans, quad lists, quad strips, line lists, line strips.

-          Supply vertex stream in modelspace, worldspace, viewspace or screenspace.

-          UV animation.

-          Helper functions for 2D (screenspace) drawing.

-          Automatic mipmap generation.

-          Automatic batching of geometry by material (speed optimization for OpenGL ES) and correct sorting of opaque and transparent geometry.

-          Extensive debug drawing.

-          Extensive debug metrics, displayed on screen or dumped to text file.

-          Extensive debug menu system to display metrics.

IwGx - Software Rendering capability

-          Highest performance software renderer, heavily optimised for mobile.

-          Performance: 1000 texture mapped triangles at 25 fps (equivalent to PlayStation1).

-          Perspective-correct texture mapping

-          Full 3D-clipping (superior to PlayStation1).

-          Mip-mapping (superior to PlayStation1).

-          Texture mapping, with 4-bit, 8-bit palletized textures.

-          16-bit unpalettized textures.

-          Gouraud shading.

-          Fast intensity shading.

-          Triangles, quadrilaterals, n-gons and lines.

-          Sub-pixel and sub-texel sampling.

-          Environment mapping.

-          Transparency (pure additive, pure subtractive, or 50:50 alpha blending)

IwGxFont - Font management and rendering

-          Render texture-based fonts via IwGx.

-          Support for text layout, including word-wrapping and alignment.

-          Support for pre-formatting, reducing run-time load.

-          Accepts UTF-8 encoded strings, enabling localised text in virtually any character set.

-          Support for 1-bit compressed format which is dynamically expanded and cached, enabling Asian fonts with small footprints.

IwResManager - Resource Management

-          Text-file-driven resource management system.

-          Create resource groups containing multiple assets.

-          Groups can be shared and parented.

-          Resources can be requested by name and type from within the game.

-          'Resource templates' allow the original exported assets to be optimised for different targets (for example, optimised for OpenGL ES 1.1).

-          'Resource styles' allow entire data sets to be regenerated with different optimisations applied - for example, optimise for PowerVR GPU targets.

-          Single binary file output for each group.

-          Debugging information exported for each group, showing exactly how the original exported asset has been conditioned into binary form.

IwGraphics - Model structure and rendering

-          Art pipeline and runtime environment for both standalone 3D meshes ('models') and large segmented worlds ('terrains').

-          Modular and highly-extensible 3D model format.

-          Optimised modules for both software rendering and OpenGL ES.

-          Exporters and integrated viewers for all recent version of 3DS Max and Maya.

-          Importer and model builder classes to read text format and create binary versions.

-          Tri-stripping.

-          Serialisation of binary versions to/from files.

-          Very small binary file footprint.

-          Extensive use of debug menus to provide runtime interrogation and modification of all relevant data.

IwAnim - Skinned/boned animation

-          Up to 32 bones per hierarchy.

-          Up to 4 bone weights per vertex.

-          Play looped or one-shot animations, forward or backwards at any rate

-          Blend up to 2 full-hierarchy animations.

-          In addition, blend up to 2 sub-hierarchy animations.

-          Callbacks to algorithmically modify local bone transforms.

-          Optimised skinning modules for both software and OpenGL ES hardware transform pipelines.

-          Exporters (skeletons, skins and animations) and integrated viewers for all recent versions of 3DS Max and Maya.

-          Importer and builder classes to read text format and create binary versions.

-          Serialisation of binary versions to/from files.

-          Very small binary file footprint.

-          Many options to trade runtime speed against animation and skin file size.

-          Extensive use of debug menus to provide runtime interrogation and modification of all relevant data.

Derbh - Mobile-optimised compression

-          Proprietary compression algorithm optimised for mobile.

-          Better compression ratios than ZIP.

-          Very small (and configurable) decompression buffer.

-          Very fast decompression times.

-          Compressed archives appear to the user as a standard file system.

Airplay Studio Tools

Airplay Studio Exporters

-          Exporters from 3DS Max (versions 8, 9) and Maya (versions 7, 8).

-          Export models, materials and animations to intermediary text files.

-          Integrated viewers - preview models and animations in both Software Rendering and OpenGL ES from within the modelling tool.

-          Generate bitmap fonts from Windows fonts, in any language. Generate only the characters required by the game text. Generate font bitmaps in 4444 or 1-bit formats.

Airplay Studio Director

-          GUI tool giving artist/designer perspective on the entire game data set.

-          Preview models, animations, materials, textures and more.

-          Filtered searches, e.g. by texture colour depth.

-          View asset source (e.g. model intermediary text format).

-          Build resource group binaries and compressed Derbh archives.

Derbh Command-Line

-          Command-line tool allowing Derbh compressed archives to be built from text-file descriptions.

  • Many options to configure compression type, file search paths etc.

Airplay Online Feature List

Airplay Online Framework

The basic framework provides a rich client/server mechanism, which is then used by standard and custom services to deliver the actual features the game needs.

-         All services are multiplexed over a single port

-         TCP or UDP are supported. Reliability is optional in UDP.

-         Supports for pipelined transactions, transactions initiated by the server and for one-way messages that don't form part of a transaction.

-         Supports efficiently resuming sessions and restoring the previous session state after a connection is dropped or idled out.

-         Supports a generic concept of login services; the standard login service that identifies people based on their device ID could be replaced by a different service using some other method such as usernames and passwords.

-         The server runs on a scaleable Linux cluster architecture, typically storing all game data in a MySQL database. Custom server code is typically written in Python, and the server can be run on Windows for development reasons, allowing developers to work without needing access to a Linux box.

Standard services

-          Login service -- Keeps track of when a user (or, more accurately, a device), and can optionally associate a unique-per-game user name with the user.

-         Download service -- Downloads levels or other assets identified by name. Different assets can be automatically provided based on factors such as the screen size, the device model, whether the device has hardware acceleration or the user's language preference. Interrupted or corrupted downloads are automatically resumed.

-          High score service -- Allows users to upload scores, and to download tables containing the best scores on a particular level, or the users near the current player. Additional information, for instance the information to generate a replay of the run can be uploaded and downloaded. Additional features such as leagues are expected to be added in the near future.

-          Lobby service -- Manages real-time multiplayer games by enabling people to create challenges, find opponents and join existing games. It will then co-ordinate the strating of the multiplayer game. The actual game traffic is then routed between the players unmodified.

Custom Service creation tools

-         The service builder -- a tool for building the client and server components of a custom service, including auto-generating all the message packing and unpacking code.

-         The source code of existing services is available to developers making custom services, meaning that it is very easy to modify a service that does almost the right thing.

The client APIs are designed to be usable in a range of styles, including both a polling and a callback-based style, and hiding the complexity of keeping track of multiple simultaneous transactions from applications that are only doing simple things.

[standby-web] Interactive Services Terms & Conditions of use | Terms of use | Privacy policy | Media Center | Contact us | © 2008 Symbian