Tap Tap Revenge was featured in many ads from Apple and – get this – they used it to demonstrate Multitasking last thursday (at the iPhone OS 4 sneak peak event).
Let's check in with reality for a minute. I know it's fun to rage rage rage when you're potentially slighted, but nothing has happened yet. Nothing at all. Nothing except hundreds (thousands?) of people whining online.
Apple changed language in their dev agreement for an unreleased platform. They have the right to selectively enforce the agreement at their leisure. I don't see them deciding to drop cross platform game engines. I see them targeting Flash/actionscript to ARM translation (made possible by Apple's own LLVM, by the way) from being distributed in the official store.
How can we harness the creativity and energy put in to empty internet rage rage rage into something useful?
I'll upvote you because your asking me to validate my point, and I'll also answer.
The "rage" does serve a purpose. First, it's a sign to others who would do the same thing that Apple is doing, that we don't like it. If we didn't say anything, others might assume it's accepted, and do the same thing. This would be harmful.
Secondly, if this "rage" is loud enough, it might make Apple change their mind, or come to some compromise. While this wouldn't solve the problem, nor would people forget (two reasons I don't think Apple will change this), it would force Apple to recognize the folly of it's ways. Apple is focused on the user experience, and in this case, the user is the developer.
Next, their intent is not the same as their actions.
"I don't see them deciding to drop cross platform game engines."
But they are. And it's not the official store. It's the only store.
You make the mistake of thinking that "rage" is itself useless. I'll agree it might not seem like anything gets accomplished, but it at least gets the issue out there. Lots of "rage-less" discussion has occurred, and much of it, I believe, a result of reason rising above the general rage, and exists because there was rage to begin with.
Finally, something has happened. You say it's "changed language in their dev agreement for an unreleased platform." But when should people complain? After it's released? No, the time to complain is when it's previewed. At least then something can be done about it. Before it get's released.
I think a careful implementation of Lua integration 'avoids' 3.3.1 but 3.3.2 which forbids interpreted languages (except those within the official SDK) catches it.
I don't understand how that could be... Could you explain? If a portion of your app is written in Lua, how can you claim that the app is "originally written" in a C derivative?
It's a technicality of course but you can rightly claim that the app is written in C and that it interprets the Lua code. In the same way it may interpret and XML file.
Of course we all know this is a technicality and it doesn't matter since 3.3.2 states "... No interpreted code may be downloaded or used in an Application...".
The two clauses combine to put Lua on a sticky wicket.
Certainly for video games it's not as if there is a slim C layer and the vast bulk is written in Lua. Most game engines are huge and only game flow and AI are written in Lua.
In the previous version of the Agreement, 3.3.2 stated "... No interpreted code may be downloaded AND used in an Application..."
Using an embedded interpreter that only ran the signed code inside your app bundle was previously quasi-legit -- it was more narrowly restricting the use of an interpreter to bypass the App Store review process.
They changed that AND to an OR a while ago, before this recent announcement. So basically that reduces down to: no interpreters. So these games using Lua were already breaking Apple's rules.
From what I've seen, the ban on interpreters is very much aimed at options that allow an end user to download and run scripts and if that is the case, expect Apple to clarify that, particularly if they are getting pushback from the larger grossing game houses. The ostensible reason for the ban on interpreters is that allowing third party scripts would be a security risk; which is true to a point. But, we all know that it functions to keep the App Store as the only source of software.
/the ban on interpreters is very much aimed at options that allow an end user to download and run scripts/
That's why 3.3.2 used to prohibit only apps that download and run scripts. Now it prohibits apps that download or run scripts. So that should take care of those folks polluting the iPhone with the Lua.
Apple's precedent seems to be pull the games immediately from the AppStore and not wait for an update. That being said, it would be extremely strange in a corporate sense to see a fair number of top grossing apps disappear.
Since the apps were approved by the previous terms they still can be sold, i guess...
Now if the developer submits an update then it must comply with the new terms...
Good point, I remeber reading about a game, initially accepted, that had been pulled out because it relied on a library that was able to call private APIs, even though the game didn't use that part of the library.
This happened when Apple started to scan binaries for infringing code.
No. It's undoubtedly a bad bet to put your time and energy into creating a product that is in direct violation of the policies of the store in which you plan to sell the product. I'm not saying they will definitely ban you, I'm saying the risk of putting all your eggs in the Unity or Lua basket and getting banned vastly outweighs the potential reward of a lucrative app.
Yeah, nothing's happened, but they just threw my several months worth of work and a lot of what I've told my investors into serious jeopardy. If they hold to this strictly, I'm going to have to put a lot of work just into making an iPhone app that integrates with the rest of my system, or do without altogether. Apple clearly didn't take that into account, so if I see a situation in which this backfires on Apple, I plan on laughing. Loudly.
They were a solely Mac and then iPhone shop until they branched out to Windows support for their IDE just last year. Recently they also announced using unity on Android, PS3, XBOX360 and more to come. They already supported exports to desktop (Mac and PC), web player (all browsers) and widgets.
I imagine that their recent news about cross platform can't have helped their favor. But many flash devs bought a Mac and started doing iPhone dev simply for Unity 3D.
I am a game developer and bought a Macbook Pro just to use Unity 3d before when it was a Mac only IDE. I also bought an iMac later and many touches and iPhones. Unity might be solely responsible for making me a Mac user to start since 2006-7 (intel based and being nix rooted with the best nix GUI ever as well maybe). Sad that Apple doesn't see that much. Many, many, many game devs bought a Mac solely based on Unity.
The obvious thing would be for Apple to just include Lua with the operating system. They could even fund a port of LuaJIT to ARM (it's the fastest general-purpose script interpreter on x86)
How many of these are good apps? I haven't played most of the games so have no personal experience - a lot of the titles look solid though.
Personally I think we should wait and see what Apple does to impose these new rules. It's very easy to get excited about how the world is ending for unity et al but the proof is really in the pudding.
I have a suspicion unity in general will be ok. But Apple will use this to remove "duff" apps at their discretion.
There are about 150 apps listed in that spreadsheet, it doesn't look like much to me. I agree that development restrictions are bad, but is there all that uproar for a few hundred apps only?
I really enjoyed Rolando - lovely game. So I'm dismayed to now realise that it has bad performance due to not being written in Objective-C, and the Layers and the APIs and the crappy User Experience and the Glavin!
It seemed really good to me, but I guess I wasn't paying attention. It just shows how insidious these fake apps can be - they have poor performance but in a way that is indistinguishable from a Correct application. I'll be emailing Apple ASAP to apologise for being so easily fooled.
Flagged for being misleading. Apple has given no indication they are targeting Unity3D apps for removal. As this list points out, it would be very foolish to. Their SDK EULA only applies to the SDK software, not to any other compilers, and using it as a "heuristic" for what will or won't be accepted to the AppStore is completely at their discretion. Ouside of the Hacker News top stories, this is pretty common knowledge, see:
We've heard directly from Unity Technologies themselves, and the company's CEO, David Helgason, has been in contact with Apple over the matter. Helgason says that so far Unity has "no indication from Apple that things are going to change." This is consistent with John Gruber's viewpoint on the new iPhone OS 4.0 dev agreement. Gruber originally thought that Unity3D would be a prime candidate for banning under the new rules, but given that Unity3D is, in Gruber's words, "a pre-processor than a cross-compiler," it's nowhere near as certain that Unity will fall on what Gruber calls "the wrong side of the line" per the new dev agreement.
From what I know their TOS applies to everything which is posted to the Appstore. As hundreds of people already pointed out by the wording of the TOS, both Unity3d and Flash are in violation of it. It doesn't matter if Unity is a pre-processor or cross-compiler or whatever, the apps are not _originally_ written in objective-c, c++ or c.
This is the official response regarding their contact with apple:
"We haven’t heard anything from Apple about this affecting us, and we believe that with hundreds of titles (or probably over a thousand by now), including a significant proportion of the best selling ones, we’re adding so much value to the iPhone ecosystem that Apple can’t possibly want to shut that down.
Our current best guess is that we’ll be fine. But it would obviously be irresponsible to guarantee that. What I can guarantee is that we’ll continue to do everything in our power to make this work, and that we will be here to inform you when we know more – as soon as we know more."
I guess it'll only take time to see which one of us is right. Still, I assert that anyone with half a brain will realize that Unity3D will be unaffected by this move.
They are already affected. People will be afraid to use Unity for new projects because it's fully against the rules. You can't expect that your app will be approved. You can't expect that your app won't get pulled in the future. Now Apple may not actually do these things, but they've announced they can, so the fear is justified.
I spent the last six weeks learning the Unity system, which is a powerful, full featured engine, the best I have worked with. Now I genuinely wonder if that time is wasted and whether I should look at other alternatives. I'm sure I'm not alone.
If Apple wanted Unity3D to be unaffected by this change, why didn't they word their license in a way that makes it clear that Unity3D would be unaffected? Right now, going purely by the letter of the license, there is no way Unity3D is allowed. If Apple starts to selectively not enforces their license for favoured developers (as you imply and I suspect they will) then that will create even more uncertainty in the developer community.
This really is Apple turning against its self.
Rolando is a particular shocker, because the developerss, ngmoco, are funded by the Apple-endorsed iFund.