In-depth: 'Ignore Android at your own peril!'

headkaze · 14201


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #1 on: April 27, 2012, 11:57:39 am
Look like I was right in a year ago as Android could not been avoid and skipped (I have allways hope Jungool came to Android), but last time I mean you just laughed against Android. Myself I do still prefer iOS (I have soo many apps), but I do can't avoid Android at all (and my clay artist have a Android phone too). Hence I wanted multi platform language.

For Greedy Mouse I support Android as well iOS. Howover Greedy Mouse run slight faster on iPad 2, The New iPad as well iPhone 4s. So I really happy I choiced a multiplatform language (glbasic). Also many glbasic users do also have a nice sale on WebOS as well (despite its "discounted" in the current form, even its a great OS). WebOS is a pretty easy to setup and compile. Greedy Mouse ran nearly out of the box on HP Touchpad with only slightly minor issue.

I hope we after summer we begin a another game which I create music again (Sigma 7 saw cool, but sad its got dropped, but that happens, its just like when I started Lazy Jones and then changed middev).


The Musician for the RetroBytes Portal Projects.


Offline sverx

  • RBP Member
  • IBM PC
  • *****
    • Posts: 516
  • "Ow!!! What's that ?!?!"
    • My NDS folder
Reply #2 on: April 27, 2012, 04:10:07 pm
These days I was thinking about what I should focus in, during the next months. Android is surely one of the ideas...




Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #3 on: April 27, 2012, 04:15:13 pm
I am not sure, this is just based on two games.

Coding for the love of it!


Offline headkaze

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 7838
Reply #4 on: April 27, 2012, 06:22:54 pm
My main problem with Android is having to write more boilerplate code in Java. Not only that there is no basic measurement of performance with so many different devices. Not having an android device doesn't help either. It might make better sense for us to support their tablet machines at some stage. Especially our Solitaire game which is well suited for them.



Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #5 on: April 27, 2012, 07:02:52 pm
Yes, the Solitaire game would been perfect seance for Android tables with "large" screens as they would description with manifest.xml file. You can actually limit which kind of Android devices in the xml file you want have the support.

Example you can limit your app to require OpenGL 2.0 or better, which would make sure its would run excellent or good on most openGL 2.0 devices that exists today (if people got a cheap Android 2.3 device, its them own fault if you ask me). There is a NDK for Android, so c++ is supported, but yes you cannot avoid java completely (even in glbasic, there is a SDLActivity.java).

Also Android have been much better than its was for a year ago, and is not that fragmented as its have been then. There is no reason to do 1.x at all, if you ask me, and I also even only support Android 2.2+ for Greedy Mouse anyway (glbasic limit, but that ok). Most people have that anyway.

Also Greedy Mouse have prove to perform really nicely on Android on those tested phones I have see its run with. Its run just as smooth as you excepted with iOS. Of course not all devices ran smooth 30fps, so you must do some frameskipping thing anyway (but its just like a PC game).

PS. The Android emulator in SDK is slow and crap. I only used it to get Greedy Mouse running with totally messed graphics.
I my self have only one Android to test on, its of course HP Touchpad (dual boot with WebOS).
« Last Edit: April 27, 2012, 07:04:13 pm by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #6 on: April 29, 2012, 12:41:26 am
I do agree that omitting Android is a mistake and it does look like it is gaining momentum, though I totally disagree that sales or penetration would excede ios. The data preseneted is a very small segment, and like all statistics is very subjective.

I hear that Corona is one of the best cross-platform sdk's on the market, No idea what performance is like, but I can say that the simulator is very good and simulated all devices well. Perhaps worthy of a look SF, or anyone looking at developing across the board?

Coding for the love of it!


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #7 on: April 29, 2012, 08:43:19 am
many other have also success on Android as well, mightbeen surpassing iOS, but very close. Howover most glbasic develophers have most success on Web-OS. So while Jungool might require to much time to port to Android, its should been done with next projects. I do know music for Android require ogg, but its easy for me doing that :-D.

I'm have not looked into Corona. But its not cheap (350$ per year), and a stupid 2 machine install limit. The latter drm is a killing, if you ask me, for a across based developing game. Howover its elsewise look very good any easy to due when looking on thier webpage elsewise, and its would been fun and cool for across based developing game. Would been nice to see more about that later.

Howover I have 2 projects need to been done to the summer, I was "required" to delay Greedy Mouse a little month due the another project (deadline early June). Apple howover is kind enouch to reset the 120 day limit. So I do not lost my title due that. But its only around a month, not more.

Also GlBasic is still very nice (and support more than iOS and Android) and I have allways like basic, hehe (evrn Corona look more organized).

« Last Edit: April 29, 2012, 08:54:17 am by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline sverx

  • RBP Member
  • IBM PC
  • *****
    • Posts: 516
  • "Ow!!! What's that ?!?!"
    • My NDS folder
Reply #8 on: April 30, 2012, 11:07:10 am
Personally, my problem is that I'm going to be unemployed, sooner or later. So I have to spend my time learning something that could actually make me somehow interesting for companies that wants to hire. I'd like that something to be something I could enjoy, if you know what I mean. So one of the candidate is to learn to program Android apps, which means Java, if I read correctly, which is a language I knew and used some 15 years ago.
If you see any other interesting option, please suggest.

BTW one of the reasons to learn Android (vs. other) is this one, actually.




Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #9 on: April 30, 2012, 03:22:03 pm
Just to known if you want to support ALL Androids and those 54%, its require you to release about 4 versions of your same software, due fragmenting (older devices still exists, but its just like older iOS 3.1.x unsupported devices).

Better you should look into this to dedicate which version(s) of Android you want to support):
http://developer.android.com/resources/dashboard/platform-versions.html

That you can see most have Android 2.2 or better and most have Android 2.3, which those versions should been the main target (Greedy Mouse do run nice on Android 4.x). There is no reason to support older than that anyway, so its pretty much easier today.

iOS have a lots fewer devices and you have more control of it.

Also there exists NDK for Android and here its use c++, and without NDK, GlBasic would never could port to run on Android as well. Also even Android use Java, its not compatible with normal mobile java (elsewise I could port Space Taxi or Cheecky Mouse right out to Android, but not have time or not want it).

The Musician for the RetroBytes Portal Projects.


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #10 on: May 10, 2012, 08:16:43 pm
Have you did future around Corona? I know its a more proffesional SDK and hence its higher price of course.

http://www.appgamekit.com/ also cool too , and with a nice price (just reduced), even have box2d included. Its was just too late when I looked on first time last summer, when I started on Lazy Jones (but turned on Greedy Mouse, which is delayed a month). I invistated GlBasic instead, when its was just going to port to Android (which only require 2.2 throught, even some commands might woddy, I diddent use those).


The Musician for the RetroBytes Portal Projects.


Offline Sokurah

  • RBP Member
  • Cray-1 Super Computer
  • *****
    • Posts: 724
    • Tardis Remakes
Reply #11 on: May 10, 2012, 10:55:48 pm
http://www.appgamekit.com/ also cool too , and with a nice price (just reduced)

I've looked at that before and it looks okay. Easy, anyway. I wonder if you can do "everything" in it - as in "the full range of things other languages/frameworks also offer?"
But now that it's cheaper it's tempting to buy it and play with it "just because". :)
...just don't think I have to time to spend much time on it right now...but it'd be great if it's as nice as it looks. ;)

In related news - I just got my black 64GB iPad 3 thingy today. Haven't unpacked it though...but perhaps sunday. ;)
« Last Edit: May 10, 2012, 10:56:27 pm by Sokurah »



Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #12 on: May 11, 2012, 08:37:42 am
Just in time for our game testing Sokky... lol... Don't forget to pm your udid code.

Coding for the love of it!


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #13 on: May 12, 2012, 06:16:13 pm
and to me, if you want to test Greedy Mouse for me as well. Howover that game is a around one month delayed and can't hold the 120 day deadline from Apple, but they was kind enouch to give me another 120 days. This due the other project. But I think its only around a month.

Also The rotation issue that was with Glbasic is finally fixed in v11, a issue I saw when you rotate devices with the sensor. This mean progressbar can been rotated too without screwing up the surface. A common issue on Android, if you are not aware about (if you design a game that have designed with any resolutions in mind, both landscape and portrait).

There is a tier 2 in appgamekit, which support native c++ code, so you can basically do anything. but I would so much as I could hold to those commands included with that language.

I still even this today still love basic. Its just easier for me than c++, howover I did create some java games for 10 years ago, but sadly I wont port those to Android, since they are not compatible directly. I more prefer rewrite Space Taxi and Cheeky Mouse if I would....

But until then I stick to BlitzMax and GlBasic.

The Musician for the RetroBytes Portal Projects.


Offline sverx

  • RBP Member
  • IBM PC
  • *****
    • Posts: 516
  • "Ow!!! What's that ?!?!"
    • My NDS folder
Reply #14 on: May 18, 2012, 01:50:55 pm
Just to known if you want to support ALL Androids and those 54%, its require you to release about 4 versions of your same software, due fragmenting (older devices still exists, but its just like older iOS 3.1.x unsupported devices).

I'm keeping on reading stuff on Android developers website, and I learnt that what you said isn't exactly correct. I mean... actually 99% of the devices around are Android 2.1 (Eclair) or "better", so if you develop you app using only the 'API level' 7 (which means you can't use what has been added since 8 and later) then your app is (should) be compatible with 99% of the devices, so you don't need to release 4 versions of it.
If you really need to use something that has been added with a never API (say 'level 8' for instance) then your app won't run on Android 2.1 but will require 2.2, which is supported by around 94% of the devices...




Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #15 on: May 19, 2012, 09:54:31 am
Even its support Android 2.2 (which is that version glbasic support), you would face various opengl issues, which might not supported by all devices or doing its correctly and hence you need to filter them off.

The main fragmantering issue is not only versions (which IS a lots better recently than last year), but also all thoses resolutions, screen size, destiny, rotation issues and such thing you might face.

So you can never get all 54% users, but lower anyway, its what that in mind.

Also Android also have issues with many of tablets, since many apps of them is simply just upscaled to the screen, and its often look very ugly. Apps that have designed with tables in mind does work great, but iPad is much better here.

Howover due glbasic support very easiely to those and other platforms, I of course compile to use. In Greedy Mouse the buttons is resizeable (in any size) to make sure its can been played very well on tables as well phones which was with Android in mind here. That is not required to do that on iOS, but I do that anyway if people not like the standard size I set.

So make sure your Android app can work on any screensize or limit that by manifest.xml if you dont.

But good luck with your first Android app and I hope to hear more.
« Last Edit: May 19, 2012, 11:03:46 am by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline Sokurah

  • RBP Member
  • Cray-1 Super Computer
  • *****
    • Posts: 724
    • Tardis Remakes
Reply #16 on: May 19, 2012, 04:40:59 pm
I've actually been wondering if I should get a ViewSonic ViewPad 7 - these tablets runs Android 2.2.

It's not like i need one - I already have both an iPad 2 & 3, but I don't have any Android devices and this one seems like an okay Android pad to have a bit of fun with, but I'm wondering how performance with GLBasic is?
However, it's not the hottest piece of hardware - being 1.5 years old by now (it has nice 3D performance though), but on the plus side it'll probably cost me no more than £50-75, so it's not too bad for just wanting to play around with it, and that helps. ;) :)



Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #17 on: May 19, 2012, 05:15:03 pm
yes I saw the other post. most have moved on Android 2.3+. I have a HP Touchpad (as you know), here Greedy Mouse run slowere than the WebOS counterpart on the same machine. I guess that due the none optimized alpha graphics 2d driver. Apart that, its does still play very fine throught.

I do guess the shown hardware somewhere perform around same as the first iPad, which is great to test on as well to make sure to work on so many Android devices as possible.

Also if you can get that to that price, you should get one to me as well (except if its used of course, then its a another story).

The Musician for the RetroBytes Portal Projects.


Offline Sokurah

  • RBP Member
  • Cray-1 Super Computer
  • *****
    • Posts: 724
    • Tardis Remakes
Reply #18 on: May 22, 2012, 01:42:37 pm
I've actually been wondering if I should get a ViewSonic ViewPad 7 - these tablets runs Android 2.2.

I ended up ordering a Huawei MediaPad  instead. At around £100 it's a bit more expensive than the other one, but it has a faster dualcore processor, more RAM, higher resolution - but still 7 inches, and a newer OS - Android 3.2 (upgradable to ICS 4.0 later this year).
I should be getting it in a couple of days and I'm looking forward to playing around with it. :)



Offline sverx

  • RBP Member
  • IBM PC
  • *****
    • Posts: 516
  • "Ow!!! What's that ?!?!"
    • My NDS folder
Reply #19 on: May 23, 2012, 12:10:14 pm
Even its support Android 2.2 (which is that version glbasic support), you would face various opengl issues, which might not supported by all devices or doing its correctly and hence you need to filter them off.
Of course I wasn't taking into account incompatibilities, as I have no control over them... :|
I guess developers don't make separate versions for specific devices... at least I hope so, it would be a killing work.



Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #20 on: May 23, 2012, 01:43:13 pm
Yes its not just about versions, Android biggest issues is those sometimes bad implemtered drivers (example GRABSPRITE or DRAWRECT in glbasic not allways works on some Android devices). Sometimes Sounddriver can also been very bad in some devices (Kindle Fire example have a 300ms sound delay in glbasic, but some users did workaround using music for soundfx, but hence no music can been used here).

So as long you are aware of it and not using those typical issue, then its should been all OK, and I designed the game not using those commands which could fail on some Android devices (my goal is supported so many Android v2.2+ as possible).

Some developers might compile more than one versions for different CPU for faster speed (a another them for fragmentering). But I wont do that in Greedy Mouse of course. Its mightbeen slowere in some devices, but its a puzzler, not a action game, so as long its can run 30fps (or 25fps with less graphics details) that ok.

So its also not that harder when doing a PC game actuelly, which can facing some of the similar issues anyway.

The Musician for the RetroBytes Portal Projects.


Offline sverx

  • RBP Member
  • IBM PC
  • *****
    • Posts: 516
  • "Ow!!! What's that ?!?!"
    • My NDS folder
Reply #21 on: June 04, 2012, 11:29:16 am
My main problem with Android is having to write more boilerplate code in Java.[...]

I started using Eclipse (which is Android 'preferred' IDE) and I saw that boilerplate code is generated automatically... :D