Slashdot Mirror


Game Development On Android

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."

31 of 211 comments (clear)

  1. opinion by amnezick · · Score: 4, Interesting

    I think that Android's future depends not on Google but on the devices that run it. Apple has the advantage of controlling both the platform and the device. So you know that whatever you develop for the iPhone it will work. But Android resembles more the PC market where there are different memory capacities, 3d acceleration or not, multi touch or not, keyboard or not, etc. That's why I don't play games on my PC and I bought a separate games console. Because I don't want to care about requirements.

    --
    mov ax,4c00h
    int 21h
    1. Re:opinion by sopssa · · Score: 3, Interesting

      It's not really a problem in PC, it can be assumed everyone has atleast keyboard and a mouse and if you're playing games, graphics card too. What it comes down to is if you have enough RAM, CPU and powerful enough graphics card and you can see the requirements from the package (or online).

      Phones are different because of the actual hardware differences. Like you said, some phones might have (multi)touch or not, physical keyboard or just software keyboard, 3d acceleration, different types of physical keyboards, different resolutions and so on. Since iPhone is always the same kind, it's easier to develop to it.

      However for Windows Mobile and Symbian game developers have usually released different versions for different devices. It might create more barrier for an indie developer to entry the market because they have to test their software on all the supported devices and make adjustments, but for studios it's not so much work. But then again, big studios port their games to all platforms; Symbian, WM, iPhone and Android.

      But Java on Android.. meh.

    2. Re:opinion by e2d2 · · Score: 2, Interesting

      But Java on Android.. meh. One could easily say the same about Objective C on the iPhone. It's no Sunday walk in the park.

    3. Re:opinion by mdwh2 · · Score: 2, Interesting

      It might create more barrier for an indie developer to entry the market because they have to test their software on all the supported devices and make adjustments, but for studios it's not so much work.

      Indeed, but to add to that, it's far less work that porting to another platform such as the Iphone.

      A developer can pick whatever phone they like to develop for. If it turns out that some of those share a common platform (such as Windows, Android, etc) that make it relatively easy to run on other devices, in no way is that a bad thing. It makes it a lot easier to port than it would if you'd picked the Iphone - and even if you don't care about that, you're certainly not worse off...

      Once again, Apple fans spin a negative point (every phone being incompatible with it) into somehow being something good.

    4. Re:opinion by XxtraLarGe · · Score: 3, Interesting

      One could easily say the same about Objective C on the iPhone. It's no Sunday walk in the park.

      A programming language is a programming language. They all have features that people like and dislike. With Obj. C 2.0, Apple has made quite a few strides in making Obj. C programming much easier, with things like properties replacing your standard setter/getter methods & allowing for dot notation. The only real pain is that the iPhone doesn't support garbage collection due to performance issues, so you still need to manage your memory. Obj. C is also pretty verbose, but with CodeSense that doesn't matter much. Most people who complain about Obj. C probably haven't spent the week or so it takes to learn all of the nuances. There's even a book out now called Learn Objective-C for Java Developers which helps to bridge the gap.

      --
      Taking guns away from the 99% gives the 1% 100% of the power.
    5. Re:opinion by e2d2 · · Score: 2, Interesting

      I should have been more clear, apologies - I know both objective-c and java. I don't really scoff at either one, they both have quarks but also unique advantages. I don't get attached to either one, but if someone dislikes java, I don't understand why they'd favor objective-c over it. Syntax is similar and performance issues are moot these days given the VMs out. To me it's like the old saying goes - six in one hand half a dozen in the other. I'll take either one. My initial comment is just displaying my general "ugh" regarding developing on mobile in general. All those skill sets lost from the yesteryear of PC programming come out to get around the same limitations - not enough CPU, not enough RAM, etc.

    6. Re:opinion by s73v3r · · Score: 2, Interesting

      I have to ask: I've been programming Objective C off and on for a few years now (around the time they switched to Intel), and while Objective C 2 brought a lot of good stuff with it, is dot notation really that big of a deal?

    7. Re:opinion by XxtraLarGe · · Score: 4, Insightful

      I have to ask: I've been programming Objective C off and on for a few years now (around the time they switched to Intel), and while Objective C 2 brought a lot of good stuff with it, is dot notation really that big of a deal?

      It's not a big deal for most people, but if you're coming from Java or C++, it makes it look slightly less exotic. So instead of having to write

      [myThing setThing:5];

      You get to write

      myThing.setThing = 5;

      It turns out to be about the same # of characters, so you don't really gain anything there (unless you don't like using your pinkies :-), but if it helps some people overcome their mental blocks, then it is probably a big deal for them.

      --
      Taking guns away from the 99% gives the 1% 100% of the power.
    8. Re:opinion by ivucica · · Score: 4, Interesting

      Company I'm working at is working on ports of our (originally Python-Ogre-based) games to iPhone and we did most of the work in C++ with OpenGL on Windows and GNU/Linux, with ObjC being a tiny wrapper added in Xcode. I did most of the work on one of those ports, and I haven't touched ObjC with a single line of code.

      Just sayin'.

  2. Re:Seems a trifle disingenuous to me by RedK · · Score: 4, Interesting

    You're being shortsighted though. While your numbers might currently be true, you're not seeing the big picture in all of this. Apple is 2 years old on the market, they are past their initial launch boost and they have exactly 1 product with different capacities.

    Android is less than a year old on the market, many of the Android devices are announced and coming this fall/winter. They have many more carrier deals than the iPhone has, and already more devices. Expect the tables to turn in 1-2 years. Apple will become the niche and Android will be everywhere. That is if they manage to supplant Symbian which right now has 3 times more market share than the iPhone and Android put together.

    --
    "Not to mention all the idiots who use words like boxen."
    Anonymous Coward on Monday August 04, @06:49PM
  3. Re:Seems a trifle disingenuous to me by sopssa · · Score: 2, Insightful

    They have many more carrier deals than the iPhone has, and already more devices. Expect the tables to turn in 1-2 years. Apple will become the niche and Android will be everywhere.

    iPhone and Android are in different kinds of market. iPhone's disadvantage *is not* that it only has one device on the market; it's an advantage for Apple, since it's the exact same phone for the whole platform, while in Android (and Symbian/Windows Mobile and so on) developers have to count all different kinds of devices and make separate apps for every phone. However, for Android it's also their advantage that they will have more models on the market.

    They do not necessarily have to fight with each other. Both PC and Consoles have been for long in the same gaming market and both are still doing good. And iPhone and Android are even more far away from each other.

  4. Re:Seems a trifle disingenuous to me by kyz · · Score: 4, Insightful

    Twenty years ago, in Europe, the PC was a dull machine that you only ever ran business applications on. Maybe a flight simulator if you're lucky. The Mac was an obscure machine for desktop publishing. If you wanted gaming, you bought an Amiga or Atari ST. Now look where we are.

    You're pointing at the entrenched PC games market, where everyone has hugely invested in writing in C++ for the Microsoft Direct3D API.

    By comparison, smartphones are relatively new and the investment in Apple's iPhone API is tiny compared to the gigantic Windows-only ecosystem (Windows-only middleware, Windows-only tools, Windows-only 3D programmers, etc.) that keeps gaming chained to PCs.

    So, given Android programming is much easier (far more programmers know Java than Objective C), and there's not yet a huge iPhone-only ecosystem in place, switching is still relatively painless. All it would take is one damn good phone running Android to topple Apple off its perch.

    --
    Does my bum look big in this?
  5. Re:Seems a trifle disingenuous to me by RedK · · Score: 3, Insightful

    No, they're really not. iPhone and Android compete in the same space, with the same kind of marketing and appeal to the same kind of crowd. They are Internet devices that happen to have phones in them. And Android is pretty device agnostic contrary to Symbian. The Android Market is open to all Android phones and Apps aren't really limited to certain phones yet (the ones on the market all share the same specs under the hood). You can think the iPhone is safe, but Apple has a lot of competition coming in the next few years and they better be ready to fend it off.

    --
    "Not to mention all the idiots who use words like boxen."
    Anonymous Coward on Monday August 04, @06:49PM
  6. Re:Seems a trifle disingenuous to me by windwalkr · · Score: 2, Interesting

    It's always interesting to guess at the future, but at my day job (definitely a Windows shop) everyone is buying Apple hardware and nobody even mentions Android. You may be right, but Google has a long march ahead of them.

  7. Re:PC vs Console by koolfy · · Score: 2, Insightful

    Could you please explain the link between hardware requirements and game innovations ?

    I just don't see it.

    --
    Segmentation Fault in "Life, Universe and Everything" at line 42. Don't Panic.
  8. Re:Seems a trifle disingenuous to me by Karlt1 · · Score: 3, Interesting

    You're being shortsighted though. While your numbers might currently be true, you're not seeing the big picture in all of this. Apple is 2 years old on the market, they are past their initial launch boost and they have exactly 1 product with different capacities.

    Android is less than a year old on the market, many of the Android devices are announced and coming this fall/winter. They have many more carrier deals than the iPhone has, and already more devices. Expect the tables to turn in 1-2 years. Apple will become the niche and Android will be everywhere. That is if they manage to supplant Symbian which right now has 3 times more market share than the iPhone and Android put together.

    1. Windows Mobile is on a lot of different devices but according to Canalysis, the iPhone outsold all WM devices combined worldwide last quarter.

    2. Rob Glaser, founder and C.E.O. of RealNetworks (circa 2003), ''It's absolutely clear now why five years from now, Apple will have 3 to 5 percent of the player market.'' Plays4Sure devices were suppose to overtake Apple and leave Apple a niche player....

    http://www.nytimes.com/2003/11/30/magazine/30IPOD.html?ei=5007&en=750c9021e58923d5&ex=1386133200&partner=USERLAND&pagewanted=all&position=

  9. Re:Trendy by Beyond_GoodandEvil · · Score: 2, Insightful

    You can use logic all you want to show the advantages Android phones have, but until the shine wears off for the iPhone fans and people realize just how tied their hands are, it will remain the dominant phone.
    You're half right, the other part of the shine equation is eventually, the air of exclusivity will wear off and apple will become the next burberry and chavs will have them and then no one will want one.

    --
    I laughed at the weak who considered themselves good because they lacked claws.
  10. Re:Java more programmer-friendly than Obj-C? by kill-1 · · Score: 2, Informative

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

  11. Re:Java more programmer-friendly than Obj-C? by Timmmm · · Score: 2, Informative

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

  12. Re:Java more programmer-friendly than Obj-C? by kyz · · Score: 4, Informative

    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, just like C/C++ programmers have plenty of strategies for getting good performance out of any platform.

    --
    Does my bum look big in this?
  13. Give us C++ by kyashan · · Score: 2, Insightful

    Java may appeal to some, but many of us just want C/C++ (Objective-C, allows that).
    Games on consoles and PC are normally not developed in Java for many good reasons. Game developers that want to transition to phones are likely to prefer to stay with C++ where they can use their tools of choice, such as Visual Studio.

    In fact, I think that a few people out there already develop C++ on PC and keep the actual iPhone/XCode build on the side. This is a big plus for those that are already making games and would like to try to use their knowledge and tools for a cell phone game..

    --
    "La presi e te la pagai (480.000 Lire)"
    1. Re:Give us C++ by GooberToo · · Score: 3, Informative

      Someone please mode this up!

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

  14. Re:Seems a trifle disingenuous to me by cabjf · · Score: 2, Interesting

    The shotgun approach to competition isn't guaranteed to work. I highly doubt Apple is just going to sit around and let the competition pass it up. In the end it's going to be about three things: features, marketing/reputation, and app store contents. And right now Apple has an advantage in both marketing and their app store. Feature comparisons change with every new model is more transient than the other two.

    Think about it this way. If you need to lubricate something (not like that), what kind of lubricant do you reach for? Most people would say WD-40. Yet WD-40 is general purpose, only sells one type of oil, and really hasn't changed in something like 40 years. Having a good reputation is the key. That gets diminished when you put your platform on different hardware. Why do you think Microsoft decided to produce the Zune as a different device than the PlaysForSure shotgun approach before it? They found that in the handheld gadget arena people stick with brands rather than platforms. So they had to craft their own brand separate from their own existing platform.

  15. Re:Trendy by Serious+Callers+Only · · Score: 2, Insightful

    You're half right, the other part of the shine equation is eventually, the air of exclusivity will wear off and apple will become the next burberry and chavs will have them and then no one will want one.

    Don't assume that everyone picks a phone based on who else uses it or whether it is trendy.

    Many people pick phones based on how it works and what it does - I certainly chose an iPhone on that basis, because the UI was the first one which felt like it was actually designed with a user in mind. The UI on the iPhone is good in my opinion, much better than what came before. It's quite a good phone (*if* your telephone service is good), the software is updated regularly, and in spite of Apple's control freak tendencies on their store, and the crapflood which is the app store listings, it has a lot of games and a lot of interesting other apps.

  16. Re:Java more programmer-friendly than Obj-C? by radish · · Score: 3, Informative

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

    --

    ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

  17. Re:Seems a trifle disingenuous to me by RyuuzakiTetsuya · · Score: 3, Insightful

    name a market segment that cares about *any* of that then get back to me.

    --
    Non impediti ratione cogitationus.
  18. Re:Seems a trifle disingenuous to me by vhogemann · · Score: 2, Informative

    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.

    --
    ---- You know how some doctors have the Messiah complex - they need to save the world? You've got the "Rubik's" complex
  19. Not innovation, but development by SuperKendall · · Score: 2, Insightful

    The biggest strength the iPhone platform has is that the screen sizes are all the same, which makes game development much easier. You can optimize for that resolution and the standard set of inputs, instead of having to accommodate some people without multi-touch, some people with a keyboard and some without, all with different screen sizes that may affect the playing field.

    The iPhone game developer does have the same issues as far as 3D power though, because the 3Gs and newer Touch devices support a more advanced version of OpenGL than does the original 3G platform (and remember, those are still being sold new!). So you have to decide if you want to support just one platform or program to allow for downgraded capability on some devices (which Apple makes about as easy as it can be I think, but it's still some work).

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  20. Re:Seems a trifle disingenuous to me by bertoelcon · · Score: 2, Insightful

    Most people want a phone that looks cool, plays good games, has good music playing capability and is fun to use.

    Class, notice that people do not want a phone that can make calls. That is why the iPhone does well while its phone capabilities are lacking.

    --
    Anything can be found funny, from a certain point of view.
  21. The stats say it all by Lysol · · Score: 2, Insightful

    While 90k+ apps & over 2bln downloads makes it harder to get noticed, those numbers say it all.

    I've used a few Android phones and I like them. But the thing that makes the iPhone great to develop for (after you get past obj-c hurdle, the api's are actually really good) is that it's *standard*. One form factor, end of story. I can't help but think Android is gonna fall into the same hole that J2ME did when it tried to support everything. Already developers are maintaining separate branches for separate devices for Android. I've developed J2ME apps before and they are a f-ing nightmare. That platform never took off for a reason, because there's *too much* choice and diversity. Everything to all people; good luck.

    There are also no where near as many Android users as iPhone and so developing for that platform with the intent to make some money on your app is not very plausible at this point. Maybe in a few years, maybe not. (Plus I hate Eclipse, so much unnecessary bloat, just like Java. I want tools that are fast and that don't require 5mil downloads of some frameworks I'll never use. But the Eclipse thing is only my hang up and I'm sure most Android devs won't care.)

    So as a developer what makes more sense? 5 code bases for 5 Android phones - all with different form factors / features - and relatively little money for all your toil? Or one platform and the chance to hit it big? It's the same argument on a PC; develop for the huge Windows market, or everyone else?

  22. Re:PC vs Console by s73v3r · · Score: 2, Insightful

    1). I don't really care about innovations done for "scalability" done for PCs. With a console, you know exactly what everyone has, therefore you can optimize your art assets, audio assets, and your engine to run on that specific hardware. With a PC, you're wasting time trying to figure out how to dynamically determine if this player has obscure graphics feature C and dealing with turning it on or off. That's time that could be spent on real innovations, such as gameplay, that the "market" (players) actually care about.

    2). Console generations are typically longer, than graphics card generations. This gives the developers more time and experience with the hardware, and the ability to do amazing things on it a few years after its launch that no one thought possible at launch. And these innovations are available to everyone who bought the console, not just those that decided they have the money to spend on 8 nVidia cards running at once.

    3). There are plenty of "low-end" systems out there; they are called handhelds, and there is some terrific innovation going on there in trying to get more graphics power from their already limited processors. Take Square-Enix, for example. When they ported Final Fantasy III to the DS, they wanted to include some FMV cutscenes. Unfortunately, the processor for the top screen wasn't powerful enough to draw it alone. So they innovated, and brought in the processor for the bottom screen to help.

    First you say that Dwarf Fortress couldn't not exist on a console, then you laud it for its portability. Wouldn't that portability lend itself to being ported to a console?

    About the only point that still stands is the modability of PC games, which I will concede. Most developers are quite good at packaging the same tools they used to create the game, and giving them to the community at release or shortly after.