Getting My Head Around This Mobile Stuff

I’m talking about iPhones, Androids, iPads and whatnot (here’s a handy picture about the iPhone and Android differences). And I’m talking about doing games for these devices. I know iPad for example is brand new and has quite many similarities with a rock, but it’s coming and increasing the size of the platform.

Android is relatively new thing in the mobile genre, but it’s going bigger.

I’ve never owned any smart phone (I’ve always thought that the owners need to be smarter than phones), only dumb ones. Now, lately I’ve been sliding into this mobile area. Why? Not sure, but here’s some thoughts on top of my head (these are all just thoughts and ideas in random order – I’ve yet to make any decent moves):

  • Non-game development wise I’ve seen that a handy camera recorder would come… handy. These new mobile phones have it. And then there’s of course that email and web and… stuff. But enough of these, now more on the game dev thoughts:
  • Scope: indie projects on PC have the risk of becoming Grand Projects (been there). Somehow the whole scope of mobile apps is smaller. Budgetwise this also sounds pretty neat.
  • Coolness factor: starting mobile development would give me bragging rights in parties. I could show off what I’ve done.
  • Many board games could possibly translate well into a mobile games. I’m a board game guy too, and this is one reason for thinking mobile game development. Some big names like Reiner Knizia have mentioned that they would want to see more board games in the video gaming world (didn’t specify platforms though).
  • I’ve been looking into Unity and Shiva game engines and both have good opportunities to do PC and Mac and iPhone/iPod/iPad games (Shiva raises the bar by supporting also Android). I’m currently checking Shiva and going through tutorials (liked Unity resources/tutorials/examples and syntax slightly more I must say)
  • Android market is totally new. It has tons of potential (which fellow indie dev kindly reminded me, alongside the fact that you can try development without a Mac). One small concern with potential market size for Android games it that they support Flash. And pretty close to every top seller iPhone app is a direct Flash clone. (So Android owners can just play these Flash games for free, maybe). This is just me thinking out loud, no any solid stats to back up any claims.
  • Market is not saturated. Well, I don’t think “casual games” market or “PC games” market for that matter is any more saturated. Heck, they keep saying that “PC gaming is dead” for decades now, and it’s doing better than ever thanks to digital distribution. Some people say that “iPhone games market is saturated”, but hell… there’s only a some million iphones sold and 6 billion people on this planet (I recall there’s over 6 billion mobile phones in this planet to put things into perspective). Smart phones app market is going to be much higher, ask any unbiased mobile analytic.

But all these boil down to “what do I want to do?” and “what would be fun for me?” Right now I’ve stopped prototyping with BlitzMax and testing the Shiva waters (Unity in my back pocket) since I see that these tools have so much things done & ready for me… and they are also good for the next wave of gaming.

Bottom line is: I’ll test things with Shiva (and have backup plan to test more things with Unity, and glimpse of iPhone 2D stuff like Cocos2D), and see how this thing goes. First I can try PC development with this, but then I keep in mind the fact that the mobile stuff is moving fast. Couple of days ago I was thinking how Android market wields such an opportunity that one gotta act now to be in the front lines.

I really don’t know. All sort of mobile stuff circling inside my head. What you think of all this, what you think of mobile gaming?

The good news is that my next step is clear: whether I want to do mobile dev or not, I’m on solid waters with Shiva since it can do everything that I could want. Continuing learning…

Juuso Hietalahti


  1. @Juuso: For 2D I’m using an in-house tool for dividing an image into subsections (sprites). The difference from the free sprite-editors on the net is that you can split the image how you want, not being limited to things like 32×32 tiles. Also it allows to make simple animations and advanced stuff like module mapping (specify something like: where you see a red leg module, replace with blue leg module. This way you change the color of your character very easy. Method used in the good-old-times of j2me 2D games).
    After this it’s trivial to send those slices to OpenGL and you don’t have to bother with layers like when using native iPhone drawing.

  2. Well, I like this superhero, but I’m afraid there were no new comics since 2006:
    OK, the character is in the “Justice League” but it’s just a side character.
    See how far he is in the background here:
    And there’s no planned movie:
    While even the green lantern has its own movie:
    By the way, here is an awesome fan made trailer:
    Maybe I’m wrong and Bruce Willis is jogging to get the feeling of his next role :)

  3. @Gustav & Juuso: There’s a second meaning in the photo:
    the Flash Superhero has been buried and forgotten for years and nobody cares :)

  4. @Gustav: Took me a second to get ;)

    @Thomas: thanks for that info.

    @Fili: thanks for the greatly detailed comment. I wonder what windows tools you are using, and I would rather try somebody else handle “texture drawing” rather than me writing code/engine around those features. That’s why Cocos or some other is what I think will be good for me.

    [android compatibility]
    Yes, that’s one thing that I thought as well – the different screens and stuff… could be painful indeed.

    Funny that you mention this… since I was thinking exactly the same. Like doing “premium iphone games” ;)

    @MC: I have read that actually. I wonder why that guy won’t do Android ;)

    @jtrencsenyi: Yeh, there’s a list of Unity made games in the forums.

    @mikeful: increasingly common… but I’d take it will take some years to see them truly popular among us.

  5. Accessibility is big point in mobile games. You can make best browser/downloaded game ever but most people still use more mobile phone than sit in front of computer during day. Also powerful smartphones are increasingly common.

  6. Oh, forgot to add the little surprises of 3rd party engines: remember when a lot of games were dropped from the appstore because they were made with Unity and Unity was using non-public API calls. Even if the problem was quickly fixed, I see it as an alarm signal.

  7. My thoughts (after about 5 years in mobile games development)
    – go for portable. Don’t do things that can’t be easily ported. Stick with openGL, openAL, etc. If you end up on a platform that doesn’t support openAL (for example) it’s easy to do a wrapper around the native libraries (what I’ve done on android)
    – if you want to do 2D, go with your own. Do it with openGL and ortho matrices. Don’t go with cocoa or something else because it’s not portable.
    – android sucks for the moment. Our games have been released for both iPhone and Android. The income ratio is about 50:1 for the iPhone so it’s not worth it. Add the difficulties of developing for android: if you don’t want java, you have do code your game in c++ as a native library and load it from java, meaning no debug. The distribution system is silly (the device keeps your application compressed, losing valuable time when loading). And most important, there are a million device types and your app must work on all. If you thought that testing an iPhone app on 6 device types is hard, try android :)
    – my preferred dev method: I have portable code that builds on windows and iPhone. Develop code on windows, debug on windows and from time to time check if it works on iphone. When the game becomes stable, shift focus on mac/iphone so that I can fix device bugs (like limited memory, multitouch issues, etc). I’m not using any 3rd party engines because they are not worth it. They just offer you minimal improvements but you’re stuck with their limitations. If you have a low-fps problem, you can fix it if it’s your code, but with a 3rd party, tough luck. Been there, done that. It’s awful to dig others’ code trying to understand what happens and if it can be optimized.
    – unfortunately mobile games development is regarded as “inferior” to PC/console dev. During my years at Gameloft everybody suggested I should move to Ubisoft, to do “real” games…
    – the mobile market is saturated by crap games and apps. Go for quality. You are earning more at a 2.99 price point than along all the 0.99 shovelware apps.

  8. BTW – new Unity 3 has Android support. Release “this summer”. So dont make your choice based on only that part.

  9. Edited the post a bit. If you happened to read it already, try refresh (removed couple of useless parts).

Comments are closed.