Don't forget about alternate revenue streams! More often than not, your game's source code is worth quite a bit to fellow developers. The more so the more popular your game is and the harder it is for the average developer to replicate your gameplay or parts of it.
You should license only the source code, and not the assets, to avoid spawning a myriad of look-alike copycats. You may still be afraid of copycats even using their own assets, in that case specify a "non-compete" in your license. But honestly, those who buy the source code either know better than to make a clone or are not experienced enough to keep up with you. It's also a great source of motivation to always stay ahead of the curve (others may see this as stressful though).
Selling one's source code can be quite attractive. I summarized the sales of my Line-Drawing Game Starterkit (not a complete game, but close enough) here:
http://www.learn-cocos2d.com/2010/08/starterkit-price-drop-sales-numbers/
Quite easily I made more from selling the source code than I had if I had invested the additional 2-3 months to make it into a complete game that would actually stand a chance of making decent sales on the App Store. Other developers are more likely to value what you do than gamers. And they're definetely more willing to pay. And it changes your relationship with the customers from many angry nerds to few, grateful, like-minded individuals (few exceptions notwithstanding but the trend is obvious).
One notion to get away from: your source code is not a trade secret that makes or breaks your business. It's not something to protect at all costs. For the most part you sell a lot of effort, lots of insights and expertise to developers who like to get a headstart and/or learn from you. There's probably nothing they couldn't do, it would just slow them down / take them a bit longer to get to what you have already achieved. They trade money for convenience. It's a good deal for both sides.