dev'ing for Android (or other bigger platform)

Started by
22 comments, last by nickdunhill 14 years ago
Hey there. * Say, I'd like to make small games for mobile devices. * And I don't like to port to a thousand different devices, I'd rather prefer to have one sort of platform that's big enough to have some significant potential audience. * Also, I can't use a Mac for dev'ing, only PC. So it's not iPhone/iPod, heh * More or less easy & inexpensive online distribution of the software would be nice (since I wouldn't be publisher-bound then, which I like. But let's see.) * The games are envisioned as incorporating 3D graphics, so hardware support in forms of eg. OpenGL ES would be nice. Doesn't have to be next-gen powerful, though. I'd even prefer them not to, to make less than state-of-the-art gfx games acceptable From what I gathered, Android looks promising, but feel free to make other suggestions. So I have, for now, a few questions about Android. 1) Java, C++ ? I've read comments somewhere, seemingly by first-hand experienced, that Java, on the Android, is, for games, really damn slow. The guy saying it didn't sound like a newbie. True? I have also heard that, meanwhile, it's possible to write C++ apps for it. But my impression was, that this path is somewhat troublesome... What can you say? 2) Hardware 3D support? I read that HW 3D is not guaranteed. BUT. How common is it nowadays? Am I safe to assume that most widely spread Android devices will have 3D HW ? 3) OpenGL ES version Still version 1.0 only, really? Ugh. Can someone point me to some of the better to best (technically) 3D games on these things, to see what I can expect? Feel free to add important points I might have forgotten :-)
Advertisement
You know I was wondering the same thing.

Google had just recently released the NDK (Native Development Kit) for C/C++ code in "performance critical" parts of your Java Android App.

What they mean by that is, that you cannot develop an Android App in just C/C++ code. Which makes it difficult to do if you are porting a game thats built with C/C++ with C/C++ libraries(OpenGL or SDL).

But it can be done! People have done it before, but they've stated how difficult it was because:

1) Some didn't know Java and had to learn [enough of] it, which is not hard "stand alone" but learning it while learning the Android SDK [also the NDK for C/C++] is not easy, you are pretty much diving in, hard.

2) Like you said 3D hardware may not be supported, depending on who made the phone with Android on it.

I want to develop something for the Android device(s) too but... learn Java? I just don't have the time for that personally, to learn Java while learning SDK/NDK. It would be a different story if I had $10,000 to get the Playstation SDK, they have good support for C/C++ and would be easier [and less time consuming] to port.
I believe if you're literally looking for the biggest market (available to non-Mac development of course), RIM's Blackberry is the right platform.

Going beyond just the numbers, I would agree with your assessment that Android is the most promising platform. I suspect its growth will outpace Blackberry OS's growth and that the people using the Android phones are probably more interested, willing and able to access the marketplace and buy your game (or app in general).
Hrm, blackberry.
I guess you're right that owners of Android devices might be more interested.

If iPhone dev wasn't Mac-only, I'd develop for that. But I'm not going to buy a damn ugly overprized Mac just to be able to make iPhone software...
Have you tried airplaysdk? It use C++. I'm using it for my iPhone dev.

Supported platform.

iPhone / iPod Touch
Android
Symbian
Windows Mobile
BREW
Maemo (Beta)
Palm webOS (Alpha)
>--HELMI-->>
AirPlay definitely sounds intriguing. I would definitely like to know how the process of using it and ultimately deploying to the iPhone goes for you helmi_shariff!

Another cross-platform, mobile development platform I remember hearing about around a year ago was Rhodes. It launched last year and I, honestly, haven't had the time to pay it a lot of attention. Its pricing structure seems far more expensive than AirPlay SDK's approach though.
How about the Antix gameplayer platform: www.antixlabs.com
------------------------------Great Little War Game
Wow! dude. Airplay. if < 100k / year, then free for iPhone only? And c++ dev on PC, ARM code debugging on PC, this sounds too good to be true.
I'll check that one out.
If it's as good as it sounds, I will be making iPhone apps I guess :-D
Thanks for that hint, man.
Most android devices does support GLES 2.0 in hardware, but it's not officially supported by the NDK yet. You can still use it though, by either extracting the libraries you need from the device, to link against for gl2 commands. Or, extract the functions from the gles2 driver in runtime. The later is probably to prefer since it seems that different devices have different versions of the driver, and an application linked with a library from one device may not run on another.
Quote:Original post by UnshavenBastard
Hrm, blackberry.
I guess you're right that owners of Android devices might be more interested.

If iPhone dev wasn't Mac-only, I'd develop for that. But I'm not going to buy a damn ugly overprized Mac just to be able to make iPhone software...

One option is to get a special copy of OSX that can run on a PC. I think the web page is osx86 project. There is also a version that can run on a emulator like vmware. I tested it and it worked.
Sig: http://glhlib.sourceforge.net
an open source GLU replacement library. Much more modern than GLU.
float matrix[16], inverse_matrix[16];
glhLoadIdentityf2(matrix);
glhTranslatef2(matrix, 0.0, 0.0, 5.0);
glhRotateAboutXf2(matrix, angleInRadians);
glhScalef2(matrix, 1.0, 1.0, -1.0);
glhQuickInvertMatrixf2(matrix, inverse_matrix);
glUniformMatrix4fv(uniformLocation1, 1, FALSE, matrix);
glUniformMatrix4fv(uniformLocation2, 1, FALSE, inverse_matrix);

This topic is closed to new replies.

Advertisement