Forgot your password?

typodupeerror
Cellphones Portables (Games) Games

Game Development On Android 211

Posted by Soulskill
from the pong-on-a-positronic-net dept.
Gamasutra is running an article about the state of game development on Android. The author explains some of the strengths and weaknesses of the platform, and makes comparisons to development on the iPhone. Quoting: "While iPhone apps are written in Objective C, the Android SDK uses relatively more programmer-friendly Java. The iPhone store charges developers $99 a year to distribute their apps, while Android has a one-time $25 fee for developers. And the review process for iPhone apps grows increasingly lengthy — sometimes weeks or more — and it's somewhat arcane. Android apps go live as soon as the developer hits the publish button. Google handles the review process post-hoc, and is much more lax in terms of content. ... For now, if a developer decides to implement a game exclusively for a particular smartphone platform, and the choice is between the iPhone and Android, the tradeoff is between trying to get noticed in an incredibly crowded and competitive market where the potential payoff is huge for those at the top, or entering a market with low barriers, little competition, currently low returns, but the possibility of potential growth."
This discussion has been archived. No new comments can be posted.

Game Development On Android

Comments Filter:
  • by kill-1 (36256) on Wednesday October 14 2009, @08:24AM (#29743117)

    This problem has been solved long ago by incremental garbage collection. Apple's Objective-C 2.0 also has garbage collection BTW.

  • by Timmmm (636430) on Wednesday October 14 2009, @08:32AM (#29743155)

    Android doesn't use incremental garbage collection. Or JIT for that matter.

  • by kyz (225372) on Wednesday October 14 2009, @08:43AM (#29743233) Homepage

    Yes, Android uses a converter that changes java bytecode to a different beast entirely, and performs a large number of global optimisations that decrease size and increase speed - ones that a compliant Java VM isn't allowed to do. So it ends up going about the same speed as JIT, but only needs the power a small phone supplies.

    As for garbage collection - Android performs about as well as a C/C++ program filled with malloc()/free() or new/delete. C/C++ games programmers could do that, but they choose not to because they know that avoiding malloc/free/new/delete gives them a performance boost. Android has exactly the same tradeoff - avoid object creation in your code! Create what you need at the start of a level and then don't free it until the end of the level. You'll get good performance. Android has an entire section on how to get good performance [android.com], just like C/C++ programmers have plenty of strategies for getting good performance out of any platform.

  • by radish (98371) on Wednesday October 14 2009, @09:42AM (#29743827) Homepage

    I have no idea about the Android JVM, but in a regular Java JVM object creation is actually significantly faster than malloc. This article [ibm.com] is quite old, but shows that even back in 1.4.2 days it was nothing to be scared of.

  • by FellowConspirator (882908) on Wednesday October 14 2009, @09:50AM (#29743945)

    The statement "given Android programming is much easier (far more programmers know Java than Objective C)" is nonsensical. True enough that Java is popular, but Objective-C is trivial to learn. Actually the languages themselves don't have much bearing on the ease of development for the two platforms. It's the APIs. I've recently started messing around with Objective-C and Apple's Cocoa, and the language itself is VERY easy to pick up (and I'm not a professional developer s much as a person that uses programming as part of his job). The Cocoa API, however, is another kettle of fish. Not that Cocoa isn't well designed -- it's astonishingly well designed -- but, it's huge. Java is similar in that the language is relatively simple (on par with Obj-C, more or less), but you've got LOTS of APIs to learn.

    I suspect that if you are a game developer, you're probably making little use of most of the APIs, and if you are big enough, I'm sure that you use a toolkit that abstracts-away the underlying platform. In either case, the primary language used probably has little bearing on the ease of development of games on either platform.

  • by vhogemann (797994) <[rb.ite.nnamegoh] [ta] [rotciv]> on Wednesday October 14 2009, @10:06AM (#29744163) Homepage

    Objective-C is not all that bad...

    I'm a Java Web developer, without any real experience on desktop programming. But recently I was given the chance to do a small iPhone app for one of our clients, so I had to learn Objective-C from scratch to do it.

    Objective-C might seem a little weird at first, but when you got used to the sintax the concepts used on the frameworks are not all that different from the Java counterparts. Appkit for example is much more pleasant to work with than Swing, for example.

    It took around a week to learn the Objective-C basics, and another week to build a fairly complete prototype of the application.

    So while might be a barrier for Java developers, it's not that high.

  • Re:Give us C++ (Score:4, Informative)

    by GooberToo (74388) on Wednesday October 14 2009, @11:58AM (#29745803)

    Someone please mode this up!

    The latest release of the NDK now officially allows OpenGL ES access from C/C++.

It's ten o'clock; do you know where your processes are?

Working...