Compatibility Across All Devices

After all of this discussion about phones, tablets, chipsets, peripherals, and so forth, it should be obvious that supporting the Android device market is not unlike supporting a PC market. Screen sizes range from a tiny 320×240 all the way up to 1920×1080 (and potentially higher on PC monitors!). On the lowest-end, first-gen device, you've got a paltry 500MHz ARM5 CPU and a very limited GPU without much memory. On the other end, you've got a high-bandwidth, multi-core 1-2GHz CPU with a massively parallelized GPU and tons of memory. First-gen handsets have an uncertain multi-touch system that can't detect discrete touch points. New tablets can support ten discrete touch points. Set-top boxes don't support any touching at all! What's a developer to do?

First of all, there is some sanity in all of this. Android itself has a compatibility program that dictates minimum specifications and ranges of values for various parts of an Android-compatible device. If a device fails to meet the standards, it is not allowed to bundle the Android Market app. Phew, that's a relief! The compatibility program is available at http://source.android.com/compatibility/overview.html.

The Android compatibility program is outlined in a document called the Compatibility Definition Document (CDD), which is available on the compatibility site. This document is updated for each release of the Android platform, and hardware manufacturers must update and retest their devices to stay compliant.

A few of the items that the CDD dictates as relevant to game developers are as follows:

  • Minimum audio latency (varies)
  • Minimum screen size (currently 2.5 inches)
  • Minimum screen density (currently 100 dpi)
  • Acceptable aspect ratios (currently 4:3 to 16:9)
  • 3D Graphics Acceleration (OpenGL ES 1.0 is required)
  • Input devices

Even if you can't make sense of some of the items listed above, fear not. You'll get to take a look at many of these topics in greater detail later in the book. The takeaway from this list is that there is a way to design a game that will work on the vast majority of Android devices. By planning things, such as the user interface and the general views in the game, so that they work on the different screen sizes and aspect ratios, as well as understanding that you want not only touch capability but also keyboard or additional input methods, you can successfully develop a very compatible game. Different games call for different techniques to achieve good user experiences on varying hardware, so unfortunately there is no silver bullet for solving these issues. But, rest assured: with time and a little proper planning, you'll be able to get good results.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.225.57.223