Handheld pains

Published May 19, 2009
Advertisement
Ahh, handhelds. I friggin' hate developing for handhelds.

I'm more or less officially between projects, and I'm getting pestered to move some of my games to handhelds, specifically iPhone. While it appears that iPhone and Android and Blackberry and Windows Mobile are about 90% the same and it should be logical that I ought to be able to make some kind of cross-platform effort, it's simply not the case.

First off, Apple doesn't want it. Apple's finally the 800 pound gorilla of a platform, and they're taking advantage of it in a big way. When your market share is 5%, you can't really dictate terms for what's gonna appear on your platform, so no matter how much the term "port" makes you cringe you live with it.

When your market share is much larger (although in the grand scheme of cellphones the iPhone's market share isn't all that huge, but it does dominate in the "phones that people actually download stuff to", demographic, thanks mostly to their well thought-out "app store", but I digress), you're in a better position to dictate terms.

And their terms are "we get to content police our stuff however we want". And right now that pretty much boils down to "no ports". Apple's got a really weirdly-worded "no third party API's" clause in their content-policing terms. It was apparently written by marketers because it doesn't actually mean that. It basically means "your app must be written in Objective C and if we get a whiff that something's being interpreted, even if it's being interpreted by an interpreter we included in our phone, then you're out". This is happening right now with a gizmo called PhoneGap that allows you to write apps using Safari as the presentation layer and &#106avascript as the back-end, but with all the appearance of being a native app (ala Adobe AIR minus Flash). Some nice stuff has been written with it, but Apple's content-police suddenly started giving the thumbs-down to PhoneGap developed stuff.<br><br>There's also <a href="http://titaniumapp.com/">Appcelerator Titanium</a>, which is a similar AIR-esque effort that's being helped along by my good pal Don Thorp. While mobile devices are also in its roadmap, unless I see something from Papa Bear Apple that they're not gonna dump Titanium-written apps on general principle, I can't invest the effort.<br><blockquote>Mind you, iPhone has a conspicuous exception to this rule in Unity3D, which is a &#106avascript-Driven 3D engine. In this case, it's one of those "well, we'll make an exception for coolness", as there are some very cool Unity3D games.</blockquote>There's also the probability of genuine according-to-Hoyle Flash appearing on an iPhone. It's no secret that Flash will appear on iPhones as well as Android phones. And if it did appear, it would make my porting efforts trivial, but there's still the question of app support. There's the distinct possibility that Apple will deploy Flash only as a plugin for their browser and not as a generalized runtime engine. While Adobe AIR on an iPhone would usher in a big rush of applications, it does bring up the whole "port" thing that's made Apple cringe since the 1980's. <a href="http://www.twhirl.org/">Twhirl</a> on an iPhone may be a terrific thing, but if I can also install the same Twhirl to an Android/Blackberry/WindowsMobile, then Apple's magic of exclusively-written apps is gone.<br><br>So right now I'm working on the assumption that Flash may appear on the iPhone, but they're gonna hobble it in the same way they're hobbling Safari's &#106avascript interpreter - it's useful for showing stuff in their web-browser, but don't plan to see your app in the app-store if you try to use it anywhere else.<br><br>Bottom line seems to be that if you want any chance with the content cops, you need to write your app in native Objective-C or in Unity3D. And, unlike OpenGL, Unity3D isn't a 3D technology that can also do 2D stuff if you set it up nicely. And my stuff's all 2D. So I'm thinking Objective-C it is. And an Apple-only codebase. Just the way Apple wants it.<br><br>Although I'm still thinking hard about Unity3D because I haven't written any C in a LONG time and the thought of learning a C-based OO language that's not portable to anything and has no garbage collection makes me throw up in my mouth a little. At least with Unity3D, I could recycle a little of my code. Although the thought of having to make 3D models of everything makes me weary.<br><br>Thoughts?<div> </div>
Previous Entry Get yer brute on
0 likes 12 comments

Comments

ukdm
Torque Game Builder is also an option for 2D games, but it does work out expensive (around $750 for first game, and $100 for every game after that).

If you do go down the objective-C route then check out this set of tutorials (several parts) from a well-known flash developer:
http://www.bit-101.com/blog/?p=2115

I think Flash is something Apple will want to really hobble for the iPhone or never see at all. They make so much money from the App Store they don't suddenly want to start losing sales to an iPhone version of Armor Games or Kongregate.
May 19, 2009 06:39 PM
Trapper Zoid
The iPhone market baffles me a little. You've got to jump through hoops to get your app on a system where customers prefer to buy only those in the Top 10 at the Apple store for about $1? I wouldn't plan on banking the business on iPhone games, nor making a magnum opus for the platform, but it might be worth a dabble.

I'm not fond of very platform specific languages. If it were me, I'd see if I could at least prototype the iPhone game in another more general language, then translate it across to Objective-C when the game was finished. I know no Objetive-C myself, but I wouldn't have to be a complete wizard at it if all I was doing was translating code.
May 19, 2009 07:05 PM
johnhattan
Just downloaded a couple of Torque-written 2D games, and it looks like it might do the trick.

Price-wise, I see the price for the iPhone engine for Torque is $500 and it requires Torque Game Builder ($250 with source or $100 without). I'm not seeing the $100 per game fee. You got a URL for that?

Also Torque's a pain because they require a 2-second splash screen and about-box credit. Sheesh.
May 20, 2009 09:48 AM
MauMan
Well if my experience at the WWDC 08 was any indicator I'd say flash for the iPhone is unlikely.

They were adamant that flash was a waste of time and resources and that the correct solution is an up-to-date standards compliant browser and fast &#106avascript* . In one of the one-on-one sessions an apple guy told me that the only reason why flash existed was to prop up IE since Microsoft sat on IE 6 so long and even after that were really choosy about what WC3 standards they would support.

I was under the impression that main objection to scripting languages were that they could not be signed with the app key and could more easily open a backdoor to unsigned apps on the phone.

However it's worth a wait until June. It would not be the first time Apple shunned an idea for a long while and then proudly pranced about like it was the greatest thing on the earth....

*and maybe a browser extension or two ;-)
May 20, 2009 05:38 PM
johnhattan
Quote:Original post by MauMan
Well if my experience at the WWDC 08 was any indicator I'd say flash for the iPhone is unlikely.

They were adamant that flash was a waste of time and resources and that the correct solution is an up-to-date standards compliant browser and fast &#106avascript* . In one of the one-on-one sessions an apple guy told me that the only reason why flash existed was to prop up IE since Microsoft sat on IE 6 so long and even after that were really choosy about what WC3 standards they would support.

I was under the impression that main objection to scripting languages were that they could not be signed with the app key and could more easily open a backdoor to unsigned apps on the phone.

However it's worth a wait until June. It would not be the first time Apple shunned an idea for a long while and then proudly pranced about like it was the greatest thing on the earth....

*and maybe a browser extension or two ;-)

They can condemn it all they want, but if Android suddenly comes out with Flash in their browser, iPhone is gonna have to get it. They know where the winds are blowing, and if Android posts shots of bigfishgames.com running games next to iPhone shots of "you need to install your Flash player" buttons, that'll sell Androids.

And Android's already shown off Flash. Flash 10 already runs on Linux, so it's just a matter of negotiating the license.

While iPhone Flash is inevitable, I'm still dubious that Flash will be available as a general runtime engine. I can definitely see it relegated to being a browser plugin with all other Flash-based uses prohibited. Apple might take the chance that AIR's not as big a selling point and Android AIR won't sell Androids the way Android Flash will.
May 20, 2009 07:41 PM
ukdm
It looks like they may have removed the $100 per title release from iTorque John which is great news.
May 21, 2009 03:20 AM
MauMan
Never underestimate the power of a company's reality distortion field.

I don't think flash is coming to an iPhone soon. They really seem to believe it's not necessary.

However, like I said before, I could be very wrong. And they will act like it was their idea and it's the best decision in the world.

We will see in early June at this year's WWDC...


May 21, 2009 11:22 PM
johnhattan
Quote:Original post by MauMan
However, like I said before, I could be very wrong. And they will act like it was their idea and it's the best decision in the world.

Nonsense. PowerPC chips are six times as fast as Intel, and mice should only have one button.

On another development, someone got Haxe working with iPhone. It's way early in the process, but it looks like they're doing it all content-police-kosher (i.e. native code compiled and static linked).
May 22, 2009 05:10 AM
swiftcoder
Quote:Mind you, iPhone has a conspicuous exception to this rule in Unity3D, which is a &#106avascript-Driven 3D engine. In this case, it's one of those "well, we'll make an exception for coolness", as there are some very cool Unity3D games.
I am pretty sure that unity is playing 100% by the rules - last I checked they were using a mono backend to produce statically linked native code.
May 23, 2009 08:15 AM
xio
Quote:Original post by swiftcoder
Quote:Mind you, iPhone has a conspicuous exception to this rule in Unity3D, which is a &#106avascript-Driven 3D engine. In this case, it's one of those "well, we'll make an exception for coolness", as there are some very cool Unity3D games.
I am pretty sure that unity is playing 100% by the rules - last I checked they were using a mono backend to produce statically linked native code.

Yep, this is true. Moreover this "&#106avascript" is not the same &#106avascript as used in browsers. Except syntax they have little in common. It's just a <a href="http://boo.codehaus.org/">Boo</a> in disguise. ;) <br> <br>BTW, Unity3D is pretty nice engine. And IMO light years ahead of Torque3D when it comes to productivity (at least when writing 3D apps). Because it supports C# scripting you can hook it up with Visual C# and take advantage of IntelliSense and refactoring which is pretty neat. <br> <br>The situation may be a bit different with Torque2D vs Unity, but I didn't use any of them to make 2D games so I can't tell. But honestly, after using Torque3D for some time I wouldn't bet 2D version will be any better. <br> <br>
May 24, 2009 03:11 PM
ukdm
Isn't Unity setup for just 3D so in order to do 2D you end up making a 3D game anyway? I think that's the only issue with using Unity for 2D games on iPhone, but please don't take my word for that, it's just what I have read in comments on a few sites.

May 24, 2009 05:55 PM
xio
Well, yes. You either need to use billboards or their GUI system. There is also no GUI editor so everything must be done in code. It's clear that Unity is primarily designed as 3D engine.

I see Torque2D has WYSIWYG editor and probably many features suited for 2D games development so it can be actually better than Unity in this regard. Unfortunately Torque3D left me with a very bad taste in my mouth so now I take their marketing with a pinch of salt. ;)
May 25, 2009 01:47 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement