How two students made a game under iOS and how much they earned on it

Exactly a year ago, a friend and I decided to quickly make a game for iOS. What came of this, and how much we managed to earn, I will tell under the cut.







First steps



In general, we are C ++ developers and have already tried to make a cross-platform game using the tools known to us - Qt and C ++. Then we worked on a tower defense game in the New Year setting. To immerse yourself in the atmosphere of indie development, I suggest watching a couple of videos from that time:











We spent about two months creating the engine, normal controls and solving typical cross-platform development problems. Of course, the project stalled, as it did not give dopamine in proportion to the efforts expended.







Second wind



At some point, we decided to study the native development tools. Namely, SpriteKit on iOS. I threw a demo on Swift, in which there were 1000 moving sprites with an alpha channel. She took only a couple of dozen lines of code and gave out 60 fps on the iPhone 5! It was just a delight! The low threshold of entry and the frenzied capabilities of the built-in engine again sparked our enthusiasm!







This time we formulated the main goal as follows: The game should be in the AppStore! She just can't go to all the other unfinished projects in the back of the github! This meant that the game should be so simple that it could not be done. It's time to start doing things!







We could not afford to manually create levels, because after creating the game mechanics, enthusiasm could fade away. Therefore, we thought to make a runner or platformer with one infinite level. Like Subway Surfers, Doodle Jump, Nyan Cat or Flappy Bird. We also wanted to minimize the amount of text so as not to bother with localization.







I see the goal



So what have we come up with? A quick study of development tools for iOS showed that the built-in two-dimensional physical engine is just fire! Development for it looks something like this:









Can you imagine the emotions of a programmer who had been juggling pointers for two months?







Of course, we decided to use physics as the main element of the game. What physics based infinite game can I make with a ball? Chasing the ball!







According to the idea, the player should control the foot of the football player and mint (stuff) the ball. The goal of the game is to mint as much as possible. Bounces from the foot, knee, and head are considered. At the same time, monetization was a mandatory factor. At least some! It's not even about making money - you need to get acquainted with the tools.







Let's do it in a week



So, we formulated the goal quite clearly. It's time to get started! We scored on pairs and went on leave from work for a week. During this time, we planned to make a menu, a scene with the game, scoring and advertising. Think it worked out?







Happened! We really managed to make the game without design and sounds in a week. On the instruments by which. never used before (Swift + SpriteKit). It turned out something even more or less playable, though with stubs instead of normal textures.







Screenshots










Yes, we do not have training, a motivation system, and much more. But this is enough for the artist to understand how the final organization of the elements will look.







Or in a month



So stop it! Artist? Are we a large corporation? No, but programmers usually don't draw very well. Therefore, it was decided to outsource this business. Moreover, our week on the game has come to an end.







We ordered 15 textures from a friend of the artist so that they were all in the same style, proportional and harmonious. For money. Yes, we invested not only time) In general, this was the first experience with freelancers. Useful experience. I recommend.







Gradually, the design of the game began to emerge from the sketches.







Sketches












Well, or for six months



The plan with the new design was this: just change the old textures to the new ones one by one and voila - the game is ready. No matter how! All textures were slightly different angles, different sizes, with different docking points. This led to the fact that the entire layout has left. At the same time, the physics of the leg was significantly impaired and it had to be debugged again.







New textures were of higher resolution and when replacing in the scene editor, Xcode constantly crashed! Apple's libraries are, of course, excellent, but the IDE, to put it mildly, could have been more stable! I had to remove version 10 of Xcode and install 9 in order to somehow work with textures.







By the way, at some stage there was an interesting bug with a knee, which we called "Grasshopper Mode".









And such unobvious problems came out one by one. And the release was delayed and delayed. Over the next few months in the evenings, we fixed bugs, added sound, and improved user experience. As a result, the game reached at least some acceptable level and we decided to release!







Finish line



Now we have a game ready. What is needed to complete the project? Download to the AppStore. Just. To do this, you need a developer account, privacy policy, icons and screenshots of all sizes, as well as descriptions in the languages โ€‹โ€‹of all countries where you want to be placed.







These are all tasks to be solved, but they also take time. Registration of a developer account costs $ 100, icons of different sizes are made in online generators, as well as a privacy policy. They quickly threw and translated stupid descriptions and sent for verification.









Checking takes 2 days. We were rejected 1 time due to some laws of China. We just didnโ€™t release there, and in two days this long-awaited moment came! Game in the store! We went to this for six months! We brought the project to the end!







So sho for the money?



The monetization scheme in our game was chosen as follows. At the moment when the player loses the ball, he can watch the advertisement and continue to mint without losing points. This can only be done once. Technically, we used Google Rewarded Video Ads.







The game in the store for six months. She is free. From promotion - only mailing to college students and friends. During this time, the game was installed by almost 250 people. I canโ€™t say that we are satisfied or upset by this result. The main thing is this is the first completed project with monetization.









In terms of costs, the project came out in about 150 man hours, 2500r payment to the artist and $ 100 per developer account. Paid off? Let's take a look at Google dashboard ads.









Yes, for all the time we have earned $ 5.41 ~ 360 rubles. At a cost of 9000 rubles. Total, the profitability of the event: -96%. Yes, the header is a bit clicky, sorry)







What is the result?



As a result, we have a great journey from an idea to a store, a working application , the ability to work with freelancers, advertising and the AppStore. And most importantly, we know that we can bring projects to their logical conclusion.







What about the fact that we earned only $ 5? I'll tell you: But not for uncle!







PS Be sure to finish things. If it doesnโ€™t work, simplify it, but finish it. This is a very useful skill.







Good luck in your projects!








All Articles