Spring fell on Kragujevac and there is no peace from cats and birds. Birds, you say, what have the birds, and reach for the magic arrow. Wait, I will explain ...
Last year, iOS-toys stopped bringing money. In general, I discovered the law of PapaBubaDiop : Every 2 years, the income from old iOS games decreases exactly twice . In year 11, I received $ 200 a day, in 2013 - $ 100, in 2015 - $ 50. In the coming year of the revolution, everything says that the debit will be $ 25 per day. Sadly, girls, everything came back in early 2000, when indie guys got emotional satisfaction from the development and didn't get anything else. I want to note that it’s not only that big uncles eat cake without us. In general, the quality of applications has greatly improved and unsophisticated crafts have no chance of even 5-10 free downloads.
This does not mean that your well-made indie application will not bring money. Will bring, but no more than what gets php-developer in the Russian province. To test my thesis that the freebie ended and the development of the game turned into a simple craft, I conducted an experiment. ')
The bottom line:
develop a game in 1 day.
Follow up - how much it will earn per month.
Interpolate for a year, life and one day.
Compare with the daily salary js-coder from Morshansk.
To treat all the girls Habra champagne.
Normal plan.
Drove development
Here is a little tutorial. The ideas of the applications come from your past, one of the ways is to take your favorite childhood game, modify the game play (remember! Did you miss just such a feature in the original fun?). Then check the idea manually, without programming, and now start coding.
Idea
In my case, this is an ancient DOS j-bird game - in it the bird must go around all the cells of the hexagonal field. After visiting the cell is marked with a different color. I always wanted the bird not only to go around the entire board, but also to change the color of the board cell inversely after each visit, which was not in the original version of the game.
Video gameplay is very long 500 seconds, could not tear myself away until it died
So here. I laid out a deck of cards and checked how the idea works. Generally cool! - I admired, and the alignment always converges on the hexagonal board. If you invert not 2 colors, but three - then the game acquires two types of parity, like matrix indices or a Rubik's cube. The mathematical theory of how to generate convergent decompositions is too complicated and draws on a candidate's dissertation on algebra. Perhaps you will find a more elegant solution - well-known comments .
Design
It’s impossible to make a design yourself a day. I bought a set of pictures on envato.market. $ 6. Then subtract from the income.
An isometric set is a bit more expensive than what I usually pay, namely $ 15. Paying with Paypal , the system charges another $ 1 for services. But the market gave me a certificate for $ 10, because the actual costs = $ 6. Since the license for the pictures is always muddy, then with the artists, I cranked the next trick. I thank him for the wonderful set and ask him to draw a couple of pictures for extra money. Artists (good) are always busy and politely refuse, but at the same time they feel uncomfortable. Here we must take them lukewarm. I send a link to the application with the author's design, I say: - That's what happened, I want to put the game in the store. What do you think? They enthusiastically answer: - Of course, dear, use, lay out (just leave me alone), success in promoting and all the best!
So it was here, the artist, in my opinion, a Russian guy. But corresponded in English.
Sounds
Sounds I pull out of the games. Download (on the desktop !!) in iTunes the free game Angry Birds 1.7.0, open in Finder , rename the ipa extension to zip - unzip it - then payload - then right click on the AngryBirdsClassicLight.app file - choose in the Show Package Contents menu. All you are in the house! - 100 sound files at your disposal.
Notethe translator - recently many use Unity and pack resources in assets. In this case, you are in the span, the sounds are packed. With unpacking, I do not work, this is to Humpty.
Swift
So beautiful is 3.0 that the encoding process itself takes a couple of hours. The essence of programming is to create a UIViewController, attach pictures to it as UIImageView objects, for example:
@IBOutlet weak var bird: UIImageView!
And simple function
bird.center = CGPoint(x:xBird, y:yBird)
Move the bird to the desired point on the screen.
In fact, the bird's jump is a parabola. We need to move it from point (xbird, ybird) to point (xcell, ycell). We replace the parabola without loss of quality with two straight lines, just as we change the cotangent to the Heaviside function in neural networks. Programmatically, the bird trajectory is divided into two linear sections.
A regular 6 by 6 grid is similar to a 6 by 6 matrix with zeros above the diagonal. The problem with three colors, when the alignment does not converge (one cell remains), I decided simply. In this case, let the bird jump on the spot. Everything.
Monetization
In detail about the monetization scheme and income figures I will tell in the second part of the article, exactly in a month on March 8. Now briefly - in the game I use ads from AdMob (ma-aa-a-little banner below) and ChartBoost (static interstitial ad), as well as in-app purchases. For $ 1 dollar to buy 100 lives, for $ 2 dollars - 666. Advertising is included when the player first died.
But. Now the game in the store is in the 1-dollar state. For two reasons. The first to be noticed, she must spend a couple of weeks paid. Then Sales - in the new free state with a successful scenario, it will start to download, perhaps more than 500 times a day.
Release
The game is over and laid out in the market. By the way, now is a hell of a favorable time for approval of applications - usually a 1-2 week process in January-February takes less than a day! Hurry up. The mad March races will begin soon. High season, all that ... E3 in LA. And I there, boast, been. E3 is such a game fair. T-shirts, little hands, you know.