How good is Android for 3D gaming?

Tutorials concerning the OpenGL® ES cross-platform API for full-function 2D and 3D graphics on the Google-Android platform.

How good is Android for 3D gaming?

Postby momob » Tue Jul 14, 2009 7:15 pm

Hello all.

I am super new and I am very impress with this community and the amount of great info and tutorials. Simply amazing! I come from the Palm OS** world and uses HB++ (a type of Visual Basic for Palm OS) and I am now exploring some new avenues like the iphone, Palm Pre and of course Android. I did installed and run some tutorials and I have to admit even so there is a huge amount of things to learn (I do not know java nor C or C++) Still I do enjoy Android. It is challenging but I think any new OS is challenging at first. One of the big issue with Palm OS was the lack of 3D support which of course limited the dev of 3D games for instance. My understanding is that Android has OPENGL support. Please note that I do not know opengl either but I am willing to learn it. My questions if I may are as follow:

1- Is Android a good time plateform for 3D simulation games? (fast enough?...easy tool?)

2- I noticed that the Android market do not have much 3D related titled. I know that 3D games are extremely difficult to develop but is the rarity of those type of titles only due to the difficulty of the genre? OR/AND is it due to the lack of real tools/speed of the devices (G1 only right now)?

3- If, anybody know: How would you compare the dev on iphone Vs Android in term of 3D apps?

I know this is a lot of questions from a newbie here but I am really trying to the +/- of the Android plateform in this very narrow area of 3D gaming. Android seems to be a dream to devellop for especially coming the Palm OS world which at the end was more and more ancient...

Thank you guys. Super forum, congrats!

Mo.


ps: One of the thing I am interested about is rendering terrain in 3D and have a fly-by around that space...

**: For some of views who want to know what I did in the past on the Palm OS here a link where you can check it out (I really like simulators as you can tell!)

http://www.palmgear.com/index.cfm?fusea ... %20SimToGo
momob
Junior Developer
Junior Developer
 
Posts: 16
Joined: Mon Jul 13, 2009 8:55 pm

Top

Postby nuclear.bit » Sun Jul 26, 2009 6:29 pm

great work on palmgear,
I guess I am more or less in the same boat as you are, I'm looking what platform would be most interesting to invest in game dev.
Therefore I just finished porting some old terrain ray casting code to android, I had this working ages ago on an ancient Compaq PDA, at that time it was running at >20FPS!
The android implementation :
Image
is running ridiculously slow.
I do not use opengl, for me it is kind of a benchmark on how good a platform is in graphical number crunching (without hardware acceleration). And from what I have seen on android, it is definitely not the fastest platform for that kind of stuff.
Using opengl es would give better performance for sure, but that was not the point of this test.
nuclear.bit
Freshman
Freshman
 
Posts: 2
Joined: Sun Jul 26, 2009 6:16 pm

Postby momob » Mon Jul 27, 2009 4:47 am

Thank you very much for your answer and the screen shot. Thank you also for your kind comment.

Yes, mobile device manufacturers no longer have the luxury of slow 3D graphics. I am hoping all Android devices come with 3D acceleration. You screen shot look very nice. hopefully OpenGL ES would help speed up the thing but you right, it is curious that the Andoid would be that slow in on it own..

I am not sure how the iPhone graphics compare with the Android but i would think it will be very close being both new OS?

In any event, I wish you good luck in figuring out which OS to go with, You definetly have much much more experience with 3D. In my Palm OS game, that was always a problem. Mostly because the Palm OS did not have any easy 3D support (engine)

Mo.
momob
Junior Developer
Junior Developer
 
Posts: 16
Joined: Mon Jul 13, 2009 8:55 pm

Postby nuclear.bit » Mon Jul 27, 2009 8:17 am

Hi Mo,

if I would get this up to speed implementing a 'clone' of the Apollo game(you were refering to in another post) would be straightforward.
However I noticed that the pixel calc loops in java are tremendously slow,even when doing simple fixed point math, cause this is what I do in the raycaster.
When it comes down to terrain engines you'll need some CPU power, even when using opengl ES, cause you still need to feed the system with triangles unless you have a relative small world that can be constructed upfront.
On the iPhone you don't have the virtual machine in between, I didn't test it yet, but I expect to get easily a realtime framerate (25fps), this guess is based on what I had in the pda days a couple of years back.

cheers, NB
nuclear.bit
Freshman
Freshman
 
Posts: 2
Joined: Sun Jul 26, 2009 6:16 pm

Postby momob » Tue Jul 28, 2009 2:44 am

Hi.

What i like about terrain like the Moon is that it is basically gray scale so no color to render. Of course still it is a lot of work. The sense of being there really depend on the terrain rendering ( in my view) This type of app was very difficult to do with device like the Treo or Palm OS. I was hoping it will be easier with newer OS like the Android and seems to be the case. The only real question is the speed at which you can render those 3D graphics...

I wish you good luck in your Android adventure!

Take care.

Mo,
momob
Junior Developer
Junior Developer
 
Posts: 16
Joined: Mon Jul 13, 2009 8:55 pm

Postby Tannin » Sun Aug 30, 2009 12:39 pm

Hi, I know this thread is a bit old but I still thought I'd answer to it.
I'm developing for the iphone at work and for android as a hobby. The main difference in regard to open gl performance and support is this: The iphone has hardware accelerated graphics on both the simulator and the device. They both support opengl es 1.1 (the newer iphones even support ogles 2.0) and various useful extensions.
With android, you don't have a guarantee what the devices supports, the only requirement is OGL ES 1.0, but a gpu is not required. The emulator for example runs opengl in software mode.
Afaik the HTC Dream has the same hardware acceleration the iphone has and thus performance should be fine. It is definitively better on the device than in the emulator.
Beyond that, I wouldn't consider either sdk to be more difficult. It's both vanilla OpenGL, neither of the sdk does much to make your live easier.
The iphone compiler supports standard C++ though, which allows you to include a lot of 3rd party libraries which may take away some work.

Next problem with android as a whole is, that it's a bit less responsive than the iphone and there are regular stutters (most likely caused by the vm and garbage collection). This is especially annoying for action games.
For reference you could look at "Armadillo roll". It demonstrates that android phones can handle nice 3d graphics and action games but the game, like every single other action game for android, is basically unplayable because of the constant stuttering.


Btw.: In retrospect it seems my post could be seen as flamebait.That is not my intention. It's my opinion after working with the iphone for almost a year and owning a HTC Dream for half a year.
Tannin
Once Poster
Once Poster
 
Posts: 1
Joined: Sun Aug 30, 2009 12:11 pm

Top

Postby momob » Mon Aug 31, 2009 2:36 am

Hello Tannin.

WOW!! Thank you so much for the great info. It makes a lot of sense. I am just hope that Android phone manufactuers would be smart enough to provide a GPU on each future Android phone!

You are the perfect person to comment on the graphics capablities of the iPhone vs. Android. Thank you very much for sharing your experience.

Take care.

Mo,
momob
Junior Developer
Junior Developer
 
Posts: 16
Joined: Mon Jul 13, 2009 8:55 pm

Top

Return to Android 2D/3D Graphics - OpenGL Tutorials

Who is online

Users browsing this forum: No registered users and 2 guests