
Good day! I am an indie developer (more recently), 2 years ago, being a fireman, I had the idea to create my own game on Android. From the experience there was only the creation of maps for the Gold Source and Source game engines (the good old ones were built on them: Counter-Strike, Half-Life and many other things), taking the will into a fist, decided that I would definitely cope and started studying the Google Internet search engine.
I hope this article will help those who really want, but did not dare to try their hand at developing mobile games. The article will cite many references that in one way or another helped me to develop a game without having any experience and knowledge in this area.
')
Carefully, under the cut gif-image.
Training
Being very far from the IT-sphere, I strictly understood for myself that the first thing you need to do is learn the basics of programming in order to further understand if I can at least something or not. I decided to purchase a book on programming. The choice criterion was a chewed theory with a large number of examples of its application. So, the first book that opened C ++ for me was:
"Object-Oriented Programming in C ++, R. Laforet" . Personally, I liked in the book the presence of a weighty theory explaining many terms incomprehensible to me before, but after I noticed that many experienced people were categorically against this book as a starting point in learning programming. Anyway, having studied the whole book for a month, doing some tasks at the end of each chapter, I caught myself thinking that everything turns out quite well and it's time to move on.
The next item was the choice of the engine on which I could begin development with confidence. The choice undoubtedly fell on Unity, thanks to a large community, high popularity, an abundance of a huge number of educational articles - in my opinion, this is the best that can be found on the market, especially for an indie developer.
I had to buy another book on programming:
“C # Directory, D. Albahari, B. Albahari” because the main language in Unity is C #. Fortunately, knowledge of the basics of C ++ helped to easily curb the basics of C # and boldly start learning directly Unity.
For myself, I decided that the best impetus for creating the first game would be an attempt to do something by analogy of a ready-made project, rather than trying to look out for a ton of individual lessons on how to do it. To my luck, I stumbled upon the
Survival Shooter tutorial from Unity, which describes how to create a Top Down shooter step by step. That was exactly what I wanted to create. Having found the lessons re-voiced in Russian (unfortunately now the lessons have been deleted by the author for an unknown reason), I began to do my first game step by step.
The first scene, launched on a mobile device, then there was no limit of joy, now this screenshot causes only affection.Having collected your Survival Shooter on YouTube lessons, the question arose of creating your content, namely the question of modeling. Immediately decided for myself - no pirated 3d Studio Max, in consequence of which I immediately came across
Blender . Studied the basics of a 3D editor for this
video course . The choice fell on video courses, because they made it possible to start practicing very quickly, which is quite difficult to achieve by starting a study from a book (but I certainly recognize the book is better). Fortunately, there was some experience in creating maps for Counter-Strike, Half-Life, which made it easy to start modeling in a couple of days.
Now, fully armed with the tools, I began to develop the game. In fact, at first I only did that I sent inquiries “how to do this or that thing in Unity”, so, over time, it began to acquire useful knowledge.
I don't want to be like others
Zombie shooters are now darkness. I did not want to be some kind of clone. The question arose of what can be done that which others do not. It was decided to add to the game the possibility of stopping time. So, the player could stop the time, shoot the zombies and, as if nothing had happened, continue his movement.

The problem was that I invented all this on the go and immediately took up the implementation, skipping the planning stage. Do not make my mistakes, before you start developing the game, think over to the smallest detail in advance, do not make the game random. My problem was the absence of any plan, specs, or any selected development stages. Everything was done in real-time, I thought that I wanted to do something and immediately tried to realize it, naively believing that I had already taken everything into account in my thoughts. Such a development methodology, or rather, its complete absence, led to the fact that the game had to be reworked many times, discarding old ideas, adding new features to the fact that it was not particularly adapted for improvement (like
Agile , but no, it was "lack of experience"). As a result, the game was developed for almost a year and a half.
Crutches, they are crutches
Due to the complete lack of programming skills, the code turned out to be very “crutch”. Now I am just ashamed, looking at my localization of the text, which was done through the operator if -> else, or other things that you cannot look at without Facepalm. It was very difficult to make any changes because There were a lot of dependencies in the code, in which a change in one line could lead to a breakdown of many other scripts. Try to describe the scripts in such a way that there are as few dependencies as possible between them. It will be very useful to get acquainted with
this article in Habré, which describes the various ways of interaction between scripts in Unity.
Testing
To the question of testing, I approached not so due level. The game was released without prior beta testing. I don’t want to say that a lot of bugs went into the final build, and the problem was completely different - after the release, a lot of comments came up about the game being trivially complex. There were a lot of videos on YouTube in which people simply could not pass the first level. It seemed to me that they were playing with their big toes, but this was my personal fault. Testing the product throughout the development period, I did not notice that I learned to pass the levels almost with my eyes closed, as a result of which I constantly threw complications so that the game did not seem too easy. In fact, it had a very negative impact on the first impression about the game and, as a result, its subsequent failure. Be sure to make a beta test before release. At the moment, Google Play is very easy to do closed or open beta testing. Even trite before the release, let the person play for a while in order to avoid future problems with playability and product complexity. For myself, it is strictly decided that the game at the initial stage should be very easy, so as not to scare away the players.
Monetization
Choosing the wrong monetization: free cut down + full paid I ruined the game count on the vine. The reason for choosing such an obsolete ligament was the lack of experience, since I simply did not know how to embed advertising in a product, how to implement in-game purchases and as a result, I decided to take the path of least resistance, which did not require any technical knowledge from me. For myself, I firmly decided that at the moment this is the worst thing to begin with. I consider it the best option: free with in-game purchases and motivated advertising, but here again the balance between annoying ads and the inability to complete levels without investments is very important.
Music sounds
An important role is played by sound. I bought most of the sounds and music for the game on
audiomicro.com , which I regret a little now because of the high cost of
living . At this point, I would recommend the following resources:
-
diforb.com . Great for voice acting game menu. By selecting the desired set, you can easily create sounds for pressing, flipping, and using various options. You can use it for free, all you have to do is point the link to a resource somewhere in the game.
-
freesfx.co.uk . Good free resource of various sounds. Thanks to the convenient search, you can easily find the sounds of shots, reloading and much more. As with the previous one, you can use it for free, just do not forget to indicate the link to the resource in the game.
-
melodyloops.com . Very good music resource. Paid, but compared to others, the tracks are very cheap. I was able to purchase 25 tracks for $ 130, having received a license for an unlimited number of copies. A very convenient search by selecting the track you like, you can filter the list of similar ones, which will help you to find the songs you need very quickly.
Promotion
Getting close to the final stage of development, the question arose in advertising the game. I had no resources for paid promotion, so the choice fell purely on free methods. Fortunately, there is a lot of information on this subject, I will give some links to articles from Habr that helped me in solving this issue:
one ,
two . Basically, I wrote in various forums dedicated to games on Android, which ultimately gave the following numbers:
Free version of the game for the
period June 2016 - January 2017- External links:
1,335 views / 478 installations- Play Market:
9,674 views / 1,457 installations- Total:
11,065 views / 2,101 installationsPaid versions of the game for the
period June 2016 - January 2017- External links:
1,919 views / 15 installations- Play Market:
46,432 views / 214 installations- Total:
48,457 views / 246 installationsAs you can see, the paid version of the game has a very large number of views, this is due to the fact that getting into the novelties of paid applications is much easier than free ones, 5-10 purchases are enough and the game will already occupy hundredth positions, which gives an influx of views on Google Play. It was hoped that users would switch from the page of the paid version of the game to the free one, in order to preliminarily check what the game is, but unfortunately, as we can see from the statistics, the views of the free version are much less than the paid one.
Release
The release was deplorable, quite playable for me, the game turned out to be unrealistically difficult for others. Due to ignoring beta testing on real players, it was not very sweet after the release. The control system was completely redone. Initially, the player automatically shot when you look at the enemy, which completely killed the feeling of shooting. Players sometimes did not understand how to shoot here? Therefore, it was decided to completely redo management in a new way. In the new version of the automatic shooting was replaced by manual, which greatly embellished the gameplay.

As I said, another stone was complexity. I had to redo a huge piece of the game, introducing easy, medium and heavy levels of difficulty in order to please as many players as possible.
In the end - I missed my chance more or less to unwind in the first 30 days, when the game was in "News". People simply bought and returned payments due to lack of playability and a high level of complexity. Only after many updates, the number of returns sharply decreased, but it was already late, on the 31st day the game disappeared from the new products and as a result - the number of views, as well as the actual racing, fell down. But, most importantly, I was able to gain invaluable experience, having passed from the stage of the idea and finished this business with a harsh release, which undoubtedly pleases. Now, having all this experience, I am already more confident in the development of the second game, the results of which I plan to write after the release. Thank you and good luck in your endeavors!