PDA

View Full Version : Establish some hardware requirements.



shadywack
11-10-2010, 04:45 PM
I noticed some negative comments by users in the android market. One way to avoid people having negative impressions is by limiting what devices this is available to. I watched a friend try this out on an LG Ally and it was epic fail. Those things just don't have the guts to run this game at all.

Imho this should be available to the Droid series, galaxy s, and snapdragon or better. Exclude the Droid Eris. I wouldn't really make a big deal about it in the market description either, just change the listing so people with the right build.prop can see it.

setec
11-10-2010, 05:27 PM
Yes, what are the MINIMUM RECOMMENDED SPECS for this on an Android device?

I don't think you should limit devices just be up front about the minimum specs. I can run Starcraft II on my netbook but that doesn't mean I should. It doesn't meet the minimum specs Blizzard put out.

I think Android users will understand the risk of running on older or slower devices that don't meet the minimum specs.

shadywack
11-10-2010, 06:30 PM
Most devs do this for QA reasons. Android Market is designed this way to help developers maintain a decent rating without frustrating users that don't understand they have crap hardware.

setec
11-10-2010, 06:43 PM
True but if the Devs don't have minimum specs then they might have to let it be tested on older/slower hardware to build their minimum specs.

In the PC world, executables can be designed to not run if they don't meet minimum processor requirements or RAM requirements.

Can that be done in Android or must you limit by device?

Ogediah
11-10-2010, 06:53 PM
I think the marketplace will limit the listing. That wouldn't necessarily stop the .apk from being installed manually though...

shadywack
11-10-2010, 06:55 PM
You can allow your app to be downloaded to any device. There is always a minimum OS version requirement, but some legacy hardware has been updated to eclair that really shouldn't even be bothered to test on. The LG Ally is a clear example of that. Froyo handsets really should have a good enough spec to run the game, and I'm wondering if they should just make 2.2 a requirement. That would greatly reduce the number of questionable models.

There still are a few Eclair handsets that won't ever get updated that can run it just fine though, so they'll want to restrict by build.prop.

I get what you're saying, but its not too far from asking if you can play Doom 3 on an Amiga. You just shouldn't bother because its retarded.

setec
11-10-2010, 06:56 PM
I think the marketplace will limit the listing. That wouldn't necessarily stop the .apk from being installed manually though...

Okay good. Because I plan on installing and testing it on a very limited Android Device when it gets here. :)

shadywack
11-10-2010, 06:57 PM
@Ogediah, but those people won't be able to leave negative one star ratings for the simple reason their phone sucks.

Futumsh
11-10-2010, 07:40 PM
Unfortunately, there doesn't appear to be a good way to limit this - you can limit by android version, screen size, or supported features, but not by performance specs of any sort.

shadywack
11-10-2010, 08:53 PM
Unfortunately, there doesn't appear to be a good way to limit this - you can limit by android version, screen size, or supported features, but not by performance specs of any sort.

Theres a way. It ties into the build.prop thats created by the oem for each handset. I can ping some of the Google folks to get with you guys on how to tag the app for these. The build.prop file is used for android market to determine what apps are supported for a certain handset.

For example adobe uses one method to restrict who can download Flash from the android market. Google in the past restricted google earth from showing up for certain devices. If you guys want this game downloaded and used, it will need a good rating. People will one star this out of ignorance and this methodology will alleviate the whole issue.

shadywack
11-10-2010, 08:56 PM
Wow, handy, I already got pinged back. Check this link out. http://developer.android.com/guide/appendix/market-filters.html

He tells me that you can use those filters to restrict cpu type too. I would restrict to omap, snapdragon, and hummingbird cpu types. Thats your fix right there.

Futumsh
11-10-2010, 09:00 PM
Except that page states that you can filter by what I mentioned before, not by cpu. If there's a way to do it by cpu (other than by abi), it's not documented there.

setec
11-10-2010, 09:01 PM
Unfortunately, there doesn't appear to be a good way to limit this - you can limit by android version, screen size, or supported features, but not by performance specs of any sort.

I'm going to be testing this tomorrow on a $100 Android tablet with OS 1.6 just to test it. Mine didn't get here yet from Hong Kong. That device can be rooted and the OS upgraded slightly. Anyway, PL will probably suck on it but I want to try it anyway.

Do you have any limits in place at this moment?

If so, What is the minimum OS?

Futumsh
11-10-2010, 09:05 PM
Android 2.0 or later, OpenGL ES 1.1, and internet connectivity are all that's required to attempt to run it currently.

setec
11-10-2010, 09:08 PM
Android 2.0 or later, OpenGL ES 1.1, and internet connectivity are all that's required to attempt to run it currently.

Okay, so since I am new to Android - if I install this on the cheap device with only OS 1.6 it will not run at all correct? This is good to know because I will just look into getting a better cheap tablet. I can always send mine (which isn't here yet) back. I found a OS 2.1 tablet for $160.

duhchi
11-10-2010, 09:17 PM
If you try to run it on a G1 (device with 1.6 or so) it may run but it will not be pretty. By not pretty I mean lag of all lagersons.

setec
11-10-2010, 09:20 PM
If you try to run it on a G1 (device with 1.6 or so) it may run but it will not be pretty. By not pretty I mean lag of all lagersons.

Right, I'm sure it will run slooooooooooooowwww. But is there something in place now that prevents that game from either being installed or from running because it will see I am not 2.x OS?

shadywack
11-10-2010, 10:50 PM
Ok, it looks like you guys use the uses-sdk version attribute in your manifest. I used some trickery to view it and saw the minsdk, targetsdk, etc references. I couldn't tell what you were using, whether it was 3 or 5. Since the app requires eclair or better I assume 7 but you can use 8. Though this cuts out all Eclair uses that have perfectly fine handsets. ARGH!!!!

In looking at this though I know that Adobe specifically restricts the air and flash runtimes so that they only show up in the android market for ARMv7-A devices. I think Pocket Legends should do this too, but lemme find out what specifically you need.

shadywack
11-10-2010, 11:04 PM
Futumsh, I pm'd you. The question I have I dunno if it should go into detail here. According to this doc, http://developer.android.com/sdk/ndk/index.html you don't need to do anything to restrict cpu types if you used NDK r4b. Anyhow....

That's the way I was told by a friend of mine whom works for Google, not on Android, he is just well connected, he works on GMail and stuff but he was working with Andy Rubin for a bit on Android back in the 1.5 days. He said there are many devs that restrict by building for certain CPU types and that Android Market does limit only to devices that can run it.

shadywack
11-10-2010, 11:06 PM
Okay, so since I am new to Android - if I install this on the cheap device with only OS 1.6 it will not run at all correct? This is good to know because I will just look into getting a better cheap tablet. I can always send mine (which isn't here yet) back. I found a OS 2.1 tablet for $160.

From what I gather unless you root your phone and edit your build.prop or edit the app's androidmanifest.xml file, a 1.6 device should not be able to run it at all.

setec
11-10-2010, 11:49 PM
Yep. Got the .APK, downloaded it to an unbranded android tablet, 7", 256MB RAM, 2GB storage, running only OS 1.6, Kernel: 2.6.29-00236-g4f8dbbb-ditry, Build 1.8.2.

As expected, it won't install.

Message: Application not installed. Legends could not be installed on this device.

I wish I knew if it failed for just the OS version or not. Either way, going to look for a better android tablet I guess.


Another note:


Android 2.0 or later, OpenGL ES 1.1, and internet connectivity are all that's required to attempt to run it currently.

The Devs would know of course, but this website says 2.1 is minimum. Not sure if they got it from a STS press release or not.

I know there were some 2.0 versions even though 2.0 & 2.1 is Eclair. So, I should just look for a 2.1 or better to be safe?

Found a $150/$160 one here (http://www.lightinthebox.com/Android-2-1-Tablet-PC-aPad-MID-7--TFT-Touch-Screen-ARM-11-Telechips-8902B-720MHZ-256-DDR2-2G-Wifi-Camera-SMQ5821-_p153385.html). Maybe this one sucks also.

Futumsh
11-11-2010, 12:21 AM
It was 2.1 at the time the website was updated, we lowered the requirement to 2.0 in the version we opened the beta with.

Futumsh
11-11-2010, 12:23 AM
1.6 will definately not run it, some of the input and graphic apis from 2.0 are used.

jaturner
11-11-2010, 10:22 AM
I noticed some negative comments by users in the android market. One way to avoid people having negative impressions is by limiting what devices this is available to. I watched a friend try this out on an LG Ally and it was epic fail. Those things just don't have the guts to run this game at all.

Imho this should be available to the Droid series, galaxy s, and snapdragon or better. Exclude the Droid Eris. I wouldn't really make a big deal about it in the market description either, just change the listing so people with the right build.prop can see it.

I was just wondering how you got it to install at all on the LG Ally. My wife saw me playing it on my phone and wanted to try it out on hers (LG Ally). I couldn't find it in the market so I downloaded the apk and tried installing it with Astro File Manager and it always says:

"Out of space"
"Legends could not be viewed. Free up some space on your phone and try again."

So I uninstalled the few apps that she had on her phone and tried it again. Same error message.

I understand the experience will most likely suck if I install it, but right now I'm just curious as to why it will not install if someone else running the same phone was able to try it out.

joshb86
11-11-2010, 11:23 AM
@shadywack

I'm an android developer myself and only know of limiting by minimal SDK version, screen size, and features. If there is a way to limit by hardware I'd like to know myself... If it's only possible by using the NDK then I'm not as interested.

shadywack
11-11-2010, 12:00 PM
I was just wondering how you got it to install at all on the LG Ally. My wife saw me playing it on my phone and wanted to try it out on hers (LG Ally). I couldn't find it in the market so I downloaded the apk and tried installing it with Astro File Manager and it always says:

"Out of space"
"Legends could not be viewed. Free up some space on your phone and try again."

So I uninstalled the few apps that she had on her phone and tried it again. Same error message.

I understand the experience will most likely suck if I install it, but right now I'm just curious as to why it will not install if someone else running the same phone was able to try it out.

I never installed it. I just saw comments in the market from people who apparently did and got FC's and all kinds of misery. Here's what's funny to me though about Android vs iOS. A whole bunch of iOS devices are armv6 based, like ipod touch 2nd gen, and they run PL "ok". Android devices that are based on armv6 are terrible at pretty much everything they try to do, which explains why Android didn't take off until we got armv7 devices.

I dunno, Futumsh is limited in the NDK and I totally agree with his reasoning. By carving out support for some armv7 devices they'd be alienating tons of users on phones that can run it perfectly fine. Requiring 2.2 also carves out tons of phones that could run it perfectly fine but have no upgrade path and are stuck on 2.1 because of the device manufacturer.

It's kind of a difficult place to be in for this kind of app. The best they can do is see how it performs and then throw a disclaimer out there. I know that Adobe and Google have some device specific attributes they are using in their androidmanifest file, but I can't tell what that is and it isn't documented.

kronos
11-13-2010, 02:44 PM
Android 2.0 or later, OpenGL ES 1.1, and internet connectivity are all that's required to attempt to run it currently.

Is there any chance, that devs will ease the requirements to OpenGL 1.0? I think that's the main problem why it doesn't run on first generation of Android phones (eg. my HTC Magic). As far as I know most of the features of 1.1 are available through extensions for 1.0, which most phones support anyway (with different limits).

Here's my OpenGL info (generated by glInfo app) for reference:

Android Device
HTC / sapphire / HTC Magic
2.2 / armeabi
OpenGL Version
OpenGL ES 1.0-CM
OpenGL Vendor
QUALCOMM, Inc.
OpenGL Renderer
Q3Dimension MSM7500 01.02.08 0 4.0.0
OpenGL Extensions
ARB_texture_env_combine
ARB_texture_env_crossbar
ARB_texture_env_dot3
ARB_texture_mirrored_repeat
ARB_vertex_buffer_object
ATI_extended_texture_coordinate_data_formats
ATI_imageon_misc
ATI_texture_compression_atitc
EXT_blend_equation_separate
EXT_blend_func_separate
EXT_blend_minmax
EXT_blend_subtract
EXT_stencil_wrap
OES_byte_coordinates
OES_compressed_paletted_texture
OES_draw_texture
OES_fixed_point
OES_matrix_palette
OES_point_size_array
OES_point_sprite
OES_read_format
OES_single_precision
OES_vertex_buffer_object
QUALCOMM_direct_texture
QUALCOMM_vertex_buffer_object
Limits OpenGL 1.0
ALIASED_LINE_WIDTH_RANGE = 1,1
ALIASED_POINT_SIZE_RANGE = 1,32
MAX_ELEMENTS_INDICES = 65536
MAX_ELEMENTS_VERTICES = 65536
MAX_LIGHTS = 8
MAX_MODELVIEW_STACK_DEPTH = 16
MAX_PROJECTION_STACK_DEPTH = 2
MAX_TEXTURE_SIZE = 1024
MAX_TEXTURE_STACK_DEPTH = 2
MAX_TEXTURE_UNITS = 2
MAX_VIEWPORT_DIMS = 320,455
SMOOTH_LINE_WIDTH_RANGE = 1,1
SMOOTH_POINT_SIZE_RANGE = 1,32
SUBPIXEL_BITS = 2
Limits OpenGL 1.1
MAX_CLIP_PLANES = 0
Limits OpenGL 1.1 Ext
MAX_COLOR_ATTACHMENTS_OES = 0
MAX_CUBE_MAP_TEXTURE_SIZE = 0
MAX_PALETTE_MATRICES_OES = 48
MAX_RENDERBUFFER_SIZE_OES = 0
MAX_VERTEX_UNITS_OES = 4
Display Resolution
Pixels = 320 x 480
DPIs = 180.62222 x 181.97015
Display Configurations
Standard
00: R5G6B5
04: R5G5B5A1
01: R5G6B5 S4
05: R5G5B5A1 S4
02: R5G6B5 D16
06: R5G5B5A1 D16
03: R5G6B5 D16 S4
07: R5G5B5A1 D16 S4
Non Conformant
08: R4G4B4A4
09: R4G4B4A4 S4
10: R4G4B4A4 D16
11: R4G4B4A4 D16 S4
12: R8G8B8A8
13: R8G8B8A8 S4
14: R8G8B8A8 D16
15: R8G8B8A8 D16 S4
Slow
16: R5G6B5 Native
17: R5G6B5 D16 Native
18: R8G8B8 Native
19: R8G8B8 D16 Native
20: R8G8B8A8 Native
21: R8G8B8A8 D16 Native
22: A8 Native
23: A8 D16 Native
Compressed Texture Formats
Reported
8b90: PALETTE4_RGB8_OES
8b91: PALETTE4_RGBA8_OES
8b92: PALETTE4_R5_G6_B5_OES
8b93: PALETTE4_RGBA4_OES
8b94: PALETTE4_RGB5_A1_OES
8b95: PALETTE8_RGB8_OES
8b96: PALETTE8_RGBA8_OES
8b97: PALETTE8_R5_G6_B5_OES
8b98: PALETTE8_RGBA4_OES
8b99: PALETTE8_RGB5_A1_OES
EGL Vendor & Version
Android
1.4 Android META-EGL
EGL Extensions
ANDROID_get_render_buffer
ANDROID_image_native_buffer
ANDROID_swap_rectangle
KHR_image
KHR_image_base
KHR_image_pixmap

thx
- Kronos

permifry
11-15-2010, 10:10 PM
i vote for the opengl 1.0 argument as well plz