Skip to main content
GameDev.net gamedev.net
🔒 Locked

Developing for a range of phones/OS's/Mods (Android)

Started by rAm_y_ May 10, 2015 at 9:14 PM 1 replies 2.7k views
Original Post
rAm_y_
rAm_y_
So there are many phones, a few mod such as CyanGenMod and plenty of OS versions, what challenges is a developer likely to have here? Are you going to have to test on every version, or are there general rules as to compatability issues?
frob
frob




Are you going to have to test on every version, or are there general rules as to compatability issues?

There are variations in hardware and OS versions, but it isn't that bad. Relative to PC development, the fracturing is quite small.

Just like on the PC, the development group needs to acquire a few different boxes that represent a few of the common values and one or two extremes, and test on them. Test on fast devices, mid-range devices, slow devices, high-dpi devices, low-dpi devices, various brands. Really you only need 5-10 Android devices to cover the broad range. If you're just an individual rather than a big company, it shouldn't be hard for you to find 2-3 phones and a tablet or two to test on.

Invariably there will be some bugs on less-common hardware/software combinations, but those can typically be addressed individually when they come up.

L. Spiro
L. Spiro

In contrast with the above, I would say the Android scene is terrible.
At tri-Ace 2 GPU types kept popping up in any discussion about functionality on Android: Adreno and Mali.
Examples:
#1: Arrays of samplers not supported.
#2: Arrays of samplers supported but cannot be accessed dynamically.
#3: ::glGetActiveUniform() returns inconsistent names, especially related to arrays. For example, it should return mTexMatrices[0], but only on some devices it returns mTexMatrices. A few other problems in other cases on some devices.

There are a few other headaches Adreno and Mali cause related to them simply not conforming to the OpenGL standard. You can write perfectly standard-compliant OpenGL code and there is no guarantee it will work as expected on those and possibly some other devices. Some devices cause more headaches than you would get on PC even though they share the problem of having different capabilities. These days you can assume shadow mapping will work on all PC’s, but you cannot assume so on all Android devices, for example. You will have to write tons of fallback code to handle cases that would be considered fallback-obsolete on any other device.

As far as Android goes, you need those devices for testing purposes at the very least. Then any other device to test “real” functionality.

L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.