Hello. I want this post to serve as a motivation for all novice igrodelov, and not only for them. The article does not contain dry scientific information, which is so characteristic of real programmers. I want to share with you my story, in my opinion, quite fascinating.
It all started with the fact that exactly a year ago I was visited by the idea: to make a game with your own hands. Call it fashionable, popular or trendy, they say, now many want and do, but for me it was as if I had decided to learn Chinese, and it’s not easy, but to speak with Chinese diplomats at the same level.
I have no experience, and I only care about programming with the side that I work next to the server and, if asked, I serve it. In a word - enikeyschik and a little system administrator.
How it all began
It all started with the choice of platform. With the game genre, I decided long ago. Do not take away my love for Tower Defense, how not to try. But no matter how many games of this genre were revised, something was always lacking for me. And this shortage is acute and served as the main impetus: "Yes, it will all be lost, I will do everything myself!" Well, once decided, there is nowhere to retreat. I chose and chose a platform and stopped on flash, Action Script 3.0 language (I heard they don’t like flashers on Habré, although I consider it to be the same programming language as others). I chose it because my daughter is growing up and loves to consider all kinds of toys on social networks. Here, I think, my father will appreciate his activity when he grows up.
')
Information entered me quite quickly. For a week I read 2 books, took notes, sketched, drew tables, so that everything would be better remembered. A strange combination of circumstances or power from above, but after a week I already sat down for my first game. I could move squares and triangles around the screen (well, don't laugh), track the position of the mouse, change colors, twist squiggles. All this is good, but you cannot go far on this, although some manage it. The main problem was that I absolutely could not draw. I did not pretend to super-quality graphics in my future game, but even elementary things were given to me with difficulty. I think many people know that in the games of the Tower Defense genre, at least, roads, enemies and cannon-guns are needed, shooting at these enemies and the main base, where enemies aim at. Well, about any landscape in the background, I generally keep silence. Here is the layout of my first development:

3ds-max
So I decided to get acquainted with the 3-d Max. I was already familiar with him before that, but I couldn’t do anything practical in him, except perhaps drawing very primitives. So, the problem of graphics in the game can be solved with the help of this wonderful program. I needed to draw some kind of guns, and since my idea is a bit fantastic, the guns should not be real. And the enemies do not shine with the superiority of rendering. But a start was made.

It was a long and, admittedly, fascinating process. All positions, turns of guns rendered separately, about any 3d-engine in the game were out of the question.
By the way, about the engine
Since I set out to make the whole game from the beginning to the end, I decided not to take any ready-made engines, paid or free. All the same, the benefit of the mathematics at school taught. I did not peep into the Internet, I did not steal someone else’s code. Even when it was necessary to make a finding of the paths, I honestly, in order not to fall into the dirt with my face in front of myself, spent two days in a daze and thought out this algorithm. Yes, invented the bicycle. Yes, so be it. It was then that I learned that, as it turns out, the “slowest” existing “Wave Algorithm” had “reinvented” anew. The main thing - he worked. Delight was indescribable!
The guns had already fired, the explosions exploded, the missiles flew, and a certain “moderator” slowed down the enemies. There is a base at the top, and the enemies are driving towards it. And the player’s task is to arrange the cannons so that the enemy is not allowed to pass to the base. The guns, by the way, are placed only in special slots - green in the screenshot.

I think many of you, real or novice programmers and developers, had that feeling when you didn't like your brainchild, and it took a lot of effort and energy to redo it. So I visited. Well, it’s flat somehow, well, not at all that picture. The graphics of objects are terrible, but you can endure it, but this plane - no, I can not. And I make a strategic decision to redo everything into isometry. I read, looked. Not difficult, in principle. Took yes redid. Redrawed all the objects, changed the point of view, remade all the functions, taking into account the new geometry. Still, much better, though not ideal.

The work was in full swing, the main menu and the mission selection window were added to the common interface.

I drew the cards by hand, in numbers in the matrix. 11 - for example, a road, 16 - a slot of a tool, 23-28 - all sorts of trees, etc. Laborious, but you can do. For each completed mission, I credited the player with stars. It supplied the game with sounds - it became cozier. Made the screens of victory and defeat. Added planes. I decided that for the stars you can buy some improvements - made a store with these improvements.

Well, then what?
Indeed, what to do next, I have not decided. The game was almost ready when I thought about this issue. Where to publish? I chose Vkontakte.ru (yes, kick), just because there it can be done and I have an account on this network. I just uploaded it, made a small server (for this I had to learn the basics of PHP) and submitted an application for approval and addition to the directory. There was no talk about making money; there was no social component or a payment system in the game. I was naive in my pursuit. Naturally, the game was immediately rejected with the wording "To pass the moderation, substantial revision of the graphics is necessary."
Politely. Very polite. Any self-respecting developer will say that they simply did not tell me the bitter truth. Well. I lowered my hands, but not for long. I needed people able to assess the quality of my work, just gamers. I wanted feedback.
First players
Then I decided to publish my article on one well-known entertainment site, the name of which I will not disclose here. I knew that I should not publish on Habré. Published, told everything as it is and people went. In one day, 2500 people came. I know that for the game it is not much, but for me then, and now, it meant quite a lot. Send reviews, very much like the game. Honestly, despite such poor schedule, there was not a single bad review. By the way, the game weighed only one and a half megabyte, which gave it weight. And what, download yourself quickly in the office and play.
Many people were inspired by my idea, different people began to write: programmers with good ideas, other programmers, with ideas in the style of “rob korovanov”, people versed in servers, and most importantly - designers. After some time, the game statistics began to fall inexorably, because I had nowhere to take new players. For almost a year, I was wandering in doubts whether to continue developing or abandoning myself to be a game dev. Year of emptiness. After a good rest, I decided not to stop.
Designer
One of those who wrote to me was Alexander, a self-taught designer, just like me. And also keen on the idea of ​​making a game. I chose him. We discussed igrodel with him, dreamed about the future and decided that we could start by taking my game and redrawing the entire schedule. A lot of time passed since the publication of the game, but the person was interested in the game. After a couple of weeks of hardships, we decided not just to redraw the game, but to do everything in a new way. Despite the work engine, we lacked many functions. I hoped that I would have to rewrite only some part, but no - I rewrote everything “from” and “to”.
New game

At first glance, it may seem that functionally it is very similar to the previous one, but still this is far from true. Starting from the engine, finding the paths, movement of enemies, display layers, ending with new cool improvements, super blows, enemies - everything is completely new. Now for the schedule you can not be ashamed. Here is the screen of the new map editor. Made for yourself to make the cards nicer.

The idea for the game - Syrian conflict - the fruit of our imagination. Some unknown invaders attacked Syria. As a joke, we call it the “Program-technical complex of strategic planning for alleged military operations in the context of an alternative Syrian conflict.” Notice the "alternative". The game does not mention the countries involved in the conflict. With the exception of the Syrian defender. Yes, the game is a political connotation, but not a word about Ukraine either.

What's new?
The game has 6 main types of guns:
- siege house - interesting because at the very beginning of the game it is a rather weak weapon, soldiers sit in it and shoot only with machine guns, but as it passes, it becomes almost the strongest - soldiers have grenades and then an RPG
- machine gun - a very powerful weapon, especially since it shoots a continuous burst. But there is one “but” - it painfully quickly overheats.
- air defense system - only enemy air forces attack. At the very beginning has a set of one rocket, and as you progress through the set is increased to three
- A siege tank — a weapon of incredible destructive power — hits several enemies at once in the radius of an explosion of its projectile. That's just not fast recharging
- gas station - or, simply, a flamethrower. Burns enemies, and they burn for some time. Very powerful weapon, but with a limited range
- hologram - a hologram of the president of one influential country. It can not only slow down enemies, instilling fear in them, but also makes them stupid in horror. Interestingly, guess what kind of influential country we had in mind?

This, as for the main ones, but there are additional structures: radar, oil rig, super-blow "Topol-M", mines, etc. etc. There are additional base improvements: defense, air strikes, self-healing, inflow of resources. Total and not tell. The main feature of the game can also be considered the fact that all the tools absorb the accumulated resources (except for the hologram of the president - it’s not allowed to take resources away from him!). After all, they also want to eat. But the resource is earned through the destruction of enemies, installations of oil derricks. It turns out a sort of economy.
There are various aircraft in the game, helicopters, stealth planes, and even skydivers are there. There are bosses - quite large and causing a lot of trouble. There are modes of time acceleration, the launch of the next wave and other goodies. All this is seasoned with a system of global improvements for each tool individually.

So, the new game is ready. I used the old scheme and published it on VK (kick even harder). She was quickly approved. We assume porting to other platforms, for example mobile, and to other social networks. Now the game has a rating system, top players, top friends and everything that is supposed to be a normal game. The new development took a little more than 4 months, but it was a very exciting process. Probably, many could have done it faster, no doubt. For me personally, it was a very interesting way, from a complete lack of understanding of the issue to a complete full-fledged game. I started by saying that I want this post to be a motivation. I hope that it will be like that. Nothing is impossible, now I know for sure. Dare and never stop!
