Quote:Original post by V-man 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.
Do not do this. You will be violating the Mac OS X terms of use, Xcode terms of use, iTunes app store developer agreement, countless other EULAs, TOS, and maybe even breaking the law.
Quote:Original post by UnshavenBastard I've read comments somewhere, seemingly by first-hand experienced, that Java, on the Android, is, for games, really damn slow.
But Java is a NO if you plan making your game in OpenGL and use some sort of particle system. If your scene is mostly static, or 3D, then Java will be good enough.
But in my case, our game was on iPhone. Moving to the NDK for Android was a better solution because the code was already all in C++!
The game I'm talking about: ">
This video is on an iPhone, but after a few optimization, I got similar performances on my HTC Magic. So Android is definitively a good platform to run games with that amount of things going on. But you have to use the NDK, and beleive me, it's a pain. Some of the clib functions that Google implemented are broken, and absence of the STL libraries.
Quote:Original post by Daivuk The game I'm talking about:
">
I have a hard time, playing or just watching these "Japanese epilepsy test" games, hehe. All that flashy stuff! I would not want so much going on in a game of mine. Yes, OpenGL + mostly static 3d scene was what I was thinking of. I don't foresee the need of a particle system ATM.
The development pains you mentioned don't sound appealing ^^
You can do your app in "mostly" C++ on Android, AFAIK, even though it's discouraged.
Android can be found on many different processor architectures in theory (though some ARM variation is most likely, there are x86 devices and MIPs devices as well) which is the reason native code is discouraged -- different native code needs to be provided for each platform, so it makes porting and distribution more of a pain.
That said, if you're satisfied choosing a minimum spec (Say ARM Coretex A-8) and only working on those devices, or others that you specifically support, then you probably only need as much Java on Android as you do Objective-C on iPhone/iTouch, possibly less.
Android supports OpenGL ES 2.0 with Android OS version 2.0 and later on the NDK, so you can use shaders on android!
I am really pissed though, that the Java VM is slow on these devices. I have a cellphone from 2005 that can run a gameboy color emulator written in java at playable framerates, yet this 2010 smartphone JVM can't update a particle emitter without crumbling down to low fps. No surprise everyone starts thinking Java is slow :(
yes... This is going to sounds like trolling. since I've been banned before at GD.
Java is a horrible horrible horrible language to work on and JNI isn't that perfect if you want to create games on it. I only use JNI to do calculations just like what Google said. "Critical Performance" for 3d maths
OpenglES 1.0 is horrible You use arrays to draw now, Blending is limited and there's no display list.
and the Emulator is also not perfect unless you have a very fast PC
(1) The Android UI is all Javalike. It is not Java, but looks very similar. It is different enough that many Java apps will not port.
(2) The underlying OS (Linux) is written in C. If you want to interface with the surface flinger (ie. do accelerated graphics, 2D or 3D) you're going to have to stick to the Javalike API. The surface flinger does not provide documented C bindings as far as I can tell, so you need to read the source code if you plan to talk to it directly, and then you lose things provided by the framework, like locking. You will also be hosed on the next point release from Google, since they do not guarantee any sort of API or ABI compatibility between releases at that level.
If you want to target Android, stick to using Android. Don't pretend it's Windows or IS X.
Stephen M. Webb
Professional Free Software Developer
The other disadvantage when developing for Android is that there is already a huge difference in devices. So if you want to develop Android Apps/Games you are going to have to do a few ports(not nearly as bad as J2ME but, still worth considering). Nobody has mentioned Windows Phone 7 which although there are no devices available for another few months, has a really easy to use XNA setup.