Apple has admitted that it does not make money with App Store. They make money with the number of devices sold. So the whole purpose of App Store is to sell as many iPhones, iPod Touches, and iPads as possible.
It’s in Apple’s best interest that there are as many good games as possible in the App Store. The mobile gaming industry is still growing strong. Apple has the chance to become the biggest player in the market with App Store, but they need game developers’ support.
Writing games only in C, C++ or Objective-C is, of course, doable, but without the possibility to use scripting languages, it’s not the most convenient way to develop games. Scripting languages are the heart and soul of games these days. The speed of development increases, when the game can be scripted. Frameworks, like Unity3D, are a big reason why there are so many games available in App Store.
Games don’t need support for multitasking from the OS. Games don’t run in the background. Games are always multi-platform; they don’t rely on native UI components. Most game code is game logic, or graphics.
All the reasons that people have given for Apple’s decision to limit programming languages do not affect games. Apple just made developing games a lot harder for iPhone. With the limitations, game developers have to decide, if they want to write games exclusively for App Store. It’s, of course, possible to use the same code base, written for example in C, with other platforms, but it will be a lot harder to develop games that way.
Apple was in a good position to challenge Nintendo as the leader in mobile gaming business, but now that might not happen with Apple’s decision to piss of game developers. We just have to hope that Nokia doesn’t make another pathetic attempt to enter mobile games like it did with the Nokia N-Gage. It will also be interesting to see, if Android starts to gather some momentum in mobile games.