History of Tower Defense for VK and Android
Hi Habr, I want to share my experience in developing first VK and then Android games.
Gamedev had never been involved before, but a small excess of time, as well as a desire to expand the field of professional skills, served as an impetus for the start of development.
After some thought, I decided to make a game in the Tower Defense genre, for the most part because I myself like this genre. The first prototype of the game was thrown out on the same day, the squares of the towers shoot circles on the squares of the enemies. Well, everything, the game is almost ready, I thought, it remains to fasten the graphics, GUI and make levels, enemies and towers, but before that it was necessary to choose a platform.
It was decided to make a VK application, probably because I myself was playing one popular VK game at that time and seeing the numbers in over 5 million participants thought that the VK application is very popular. And also developing a VK application for me meant exploring two new areas at once, PHP for the server side and ActionScript (Flash) for the client. I downloaded the book Colin Mook - ActionScript 3 and set about studying. ActionScript turned out to be very simple to learn, the only thing that bothered me was the lack of a slip, but you quickly get used to it. PHP, however, went fine without a book, probably because of its popularity, any little thing googled with a bang immediately with examples. there were no problems with mySQL because I already knew him. In all my projects, I try to adhere to the OOP paradigm, which subsequently greatly facilitated life.
The basic structure of the classes and the structure of the database was done quickly, here I was in my environment. Then the types of towers were invented (each with its own peculiarities) and level schemes were designed right in the exel. Very quickly I ran into the fact that I need graphics, namely a GUI, level maps, as well as sprites of towers and enemies. The first version of the GUI was found quickly, the well-known Tiled was excellent for the levels, but I did not know what to do with the rest, where to get sprites for towers and enemies. Due to the lack of ability to draw and the lack of a sense of taste, there was no question of doing it myself. In the end, my wife painted one tower for me, I copied a couple of them somewhere a little bit by myself, and rendered another one in 3dmax with a free model that suited me. I got so tired with these static tower sprites, that when I thought about enemy sprites (which should be animated), I just gave up. Fortunately, I came across a small program CharCreator, it contained a huge number of elements for creating animated characters.

When the issue of graphics was resolved, I spent quite some time with the balance. When almost everything was done according to the balance on the hub, an article was published just on this topic, if it came out earlier it would greatly save time. In general, development has been going on for more than a year. It was a hobby and I was engaged in it when there was a corresponding mood and time, but there was less and less of it. But despite this, in small steps, the game was still brought to the first release and sent for verification.

Now, unfortunately, I can’t find that option to show, but it is obvious that it was a GUI, it was terrible. It took more than a month to redo the GUI and add training (without it, they also did not publish). And at the end of 2014, the game was added to the VK catalog. Over the next year, the game made many improvements and fixes, new levels, a system of skills and more. I did not make it my goal to make money on this application, but probably everyone who has a hobby wants it to bring income in addition to moral satisfaction. I didn’t buy a game currency, but I still screwed the advertisement, the revenue from the advertisement was barely enough for hosting, but good reviews about the game were much more important and expensive to me.
Application Link
At the end of 2015, I thought about porting to Android. Pretty quickly I mastered the basics of unity3d from the lessons in an article, c # at that time I was already at a high level, so things went. The code moved quickly, thanks OOP. The graphics were more complicated, because before I used Flash animation tools. Many things in unity are very convenient, but in fact I did not use many of the chips that I have already implemented myself in the code. If I started development on unity initially, it would be faster than ActionScript, but I don’t think much, because the main time, as I mentioned, was spent on searching for sprites.
Porting to unity dragged on for a long time, as it turned out over 2 years of development (albeit sluggish), the project became quite large, but after exactly one year I posted a mobile version for Android. But if there are not so many applications of this genre in VK, then in Google play it simply drowned in other similar and, what is more important, better applications. They simply don’t find it, and those who find it are spoiled by bestsellers of this genre and of course it is difficult to compete with them. I posted it on w3bsit3-dns.com and trashbox, and also posted a link from the VK application, but the effect is pretty weak.
→ Link to the market
Summing up the development, I want to note that the goal for which everything started was achieved in full. I studied a new area for me, mastered ActionScript, PHP and Unity3d.
The main conclusions that I made:
Gamedev had never been involved before, but a small excess of time, as well as a desire to expand the field of professional skills, served as an impetus for the start of development.
After some thought, I decided to make a game in the Tower Defense genre, for the most part because I myself like this genre. The first prototype of the game was thrown out on the same day, the squares of the towers shoot circles on the squares of the enemies. Well, everything, the game is almost ready, I thought, it remains to fasten the graphics, GUI and make levels, enemies and towers, but before that it was necessary to choose a platform.
Application for VK
It was decided to make a VK application, probably because I myself was playing one popular VK game at that time and seeing the numbers in over 5 million participants thought that the VK application is very popular. And also developing a VK application for me meant exploring two new areas at once, PHP for the server side and ActionScript (Flash) for the client. I downloaded the book Colin Mook - ActionScript 3 and set about studying. ActionScript turned out to be very simple to learn, the only thing that bothered me was the lack of a slip, but you quickly get used to it. PHP, however, went fine without a book, probably because of its popularity, any little thing googled with a bang immediately with examples. there were no problems with mySQL because I already knew him. In all my projects, I try to adhere to the OOP paradigm, which subsequently greatly facilitated life.
The basic structure of the classes and the structure of the database was done quickly, here I was in my environment. Then the types of towers were invented (each with its own peculiarities) and level schemes were designed right in the exel. Very quickly I ran into the fact that I need graphics, namely a GUI, level maps, as well as sprites of towers and enemies. The first version of the GUI was found quickly, the well-known Tiled was excellent for the levels, but I did not know what to do with the rest, where to get sprites for towers and enemies. Due to the lack of ability to draw and the lack of a sense of taste, there was no question of doing it myself. In the end, my wife painted one tower for me, I copied a couple of them somewhere a little bit by myself, and rendered another one in 3dmax with a free model that suited me. I got so tired with these static tower sprites, that when I thought about enemy sprites (which should be animated), I just gave up. Fortunately, I came across a small program CharCreator, it contained a huge number of elements for creating animated characters.

When the issue of graphics was resolved, I spent quite some time with the balance. When almost everything was done according to the balance on the hub, an article was published just on this topic, if it came out earlier it would greatly save time. In general, development has been going on for more than a year. It was a hobby and I was engaged in it when there was a corresponding mood and time, but there was less and less of it. But despite this, in small steps, the game was still brought to the first release and sent for verification.

Now, unfortunately, I can’t find that option to show, but it is obvious that it was a GUI, it was terrible. It took more than a month to redo the GUI and add training (without it, they also did not publish). And at the end of 2014, the game was added to the VK catalog. Over the next year, the game made many improvements and fixes, new levels, a system of skills and more. I did not make it my goal to make money on this application, but probably everyone who has a hobby wants it to bring income in addition to moral satisfaction. I didn’t buy a game currency, but I still screwed the advertisement, the revenue from the advertisement was barely enough for hosting, but good reviews about the game were much more important and expensive to me.
Application Link
Porting to Unity
At the end of 2015, I thought about porting to Android. Pretty quickly I mastered the basics of unity3d from the lessons in an article, c # at that time I was already at a high level, so things went. The code moved quickly, thanks OOP. The graphics were more complicated, because before I used Flash animation tools. Many things in unity are very convenient, but in fact I did not use many of the chips that I have already implemented myself in the code. If I started development on unity initially, it would be faster than ActionScript, but I don’t think much, because the main time, as I mentioned, was spent on searching for sprites.
Porting to unity dragged on for a long time, as it turned out over 2 years of development (albeit sluggish), the project became quite large, but after exactly one year I posted a mobile version for Android. But if there are not so many applications of this genre in VK, then in Google play it simply drowned in other similar and, what is more important, better applications. They simply don’t find it, and those who find it are spoiled by bestsellers of this genre and of course it is difficult to compete with them. I posted it on w3bsit3-dns.com and trashbox, and also posted a link from the VK application, but the effect is pretty weak.
→ Link to the market
conclusions
Summing up the development, I want to note that the goal for which everything started was achieved in full. I studied a new area for me, mastered ActionScript, PHP and Unity3d.
The main conclusions that I made:
- Game development is interesting, and great for learning new environments and languages;
- The fact that your application is played motivates to improve it, but the reverse process is also present;
- To make a worthwhile game, the team must have an artist / designer;
- To make money on the game this needs to be given a lot of time, it must be either an original idea or an excellent performance;