As a "non-programmer" wrote a game

Hello. I want this post to serve as a motivation for all beginner 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 people want and do it, but for me it was as if I decided to learn Chinese, but not just, but so that I could speak with Chinese diplomats on the same level.

There is no experience, but I relate to programming only on the side that I work next to the server and, if asked, serve it. In a word - enikeyshchik and a little system administrator.

How it all started


It all started with the choice of platform. With the genre of the game, I decided a long time ago. Do not take away my love for Tower Defense, just as you do not try. But no matter how many games of this genre I reviewed, something was always missing for me. And this shortage was acute and served as the main impetus: “Yes, it disappear all the waste, I will do everything myself!” Well, since I decided there was nowhere to retreat. I chose, chose a platform and settled on a flash, the language of Action Script 3.0 (I heard that they do not like flashers on the hub, although I myself consider it to be the same programming language as others). I chose it because my daughter is growing up and loves all kinds of toys on social networks to consider. Here, I think, he will appreciate his father's activity when he grows up.

The information entered me rather quickly. For a week I read 2 books, made notes, took notes, drew tables, so that everything was 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 the squares and triangles on the screen (well, don't laugh), track the position of the mouse, change colors, twist the squiggles. All this is good, but you can’t get far on this, although some manage. The main problem was that I absolutely did not know how to draw. I did not claim to be super-high-quality graphics in my future game, but even elementary things were given to me with difficulty. I think many people know that in Tower Defense genre games, at a minimum, roads, enemies and turret-guns are needed that shoot at these enemies and the main base where the enemies are aiming. Well, about any landscape in the background, I generally keep quiet. Here is the layout of my first development:



3ds-max


So I decided to meet 3-D Max. I already knew him before that, but I was not able to do anything practical in it, except that I could draw very primitives. So, the graphics problem 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, then the guns should not be real. And the enemies do not shine with the superiority of rendering. But a start has been made.



It was a long and, frankly, fascinating process. All positions, turns of the guns were rendered separately, there was no talk of any 3d engine in the game.

By the way, about the engine


Since I set out to make the whole game from beginning to end, I decided not to take any ready-made engines, paid or free. All by myself, the benefit of mathematics at school taught. I didn’t peep on the Internet, I didn’t steal someone else’s code. Even when it was necessary to find the ways, I honestly, so as not to fall into the mud with my face in front of myself, spent two days in the fog and thought up this algorithm. Yes, invented a bicycle. Yes, even so. It was later that I learned that, it turns out, I “invented” the slowest “Wave Algorithm” again. The main thing is that he worked. The delight was indescribable!

The guns were already firing, the explosions were exploding, the rockets were flying, and a certain “moderator” slowed down the enemies. There is a base up there, and enemies go to it along the road. And the player’s task is to place the guns so that the enemies are not allowed to go to the base. Guns, by the way, are placed only in special slots - green in the screenshot.



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



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



I drew the cards themselves by hand, with the numbers in the matrix. 11 - for example, road, 16 - slot guns, 23-28 - all kinds of trees, etc. Time consuming, but possible. For each completed mission, I accrued stars to the player. Equipped the game with sounds - it became more comfortable. Made screens of victory and defeat. Added aircraft. I decided that for the stars you can buy some improvements - I made a store with these improvements.



Well, then what?


Indeed, I did not decide what to do next. The game was almost ready when I thought about this issue. Where to publish? I chose Vkontakte.ru (yes, kick), only because it can be done there and I have an account for this network. I just uploaded it, made a small server (for this I had to learn the basics of PHP) and applied for approval and adding to the catalog. We were not talking about any money making, the game had neither a social component, nor a payment system. I was naive in my desire. Naturally, the game was immediately rejected with the wording “Significant refinement of the graphics is necessary for passing moderation”.

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 who could appreciate the quality of my work, but just gamers. I wanted feedback.

First players


I then decided to publish my article on one well-known site of an entertaining nature, the name of which I will not disclose here. I knew that I should not publish on a habr Published, told everything as is and people went. In one day, 2500 people arrived. I know that this is a little for the game, but for me then, and now, it meant a lot. Send reviews, a lot of people liked the game. Honestly, despite such a miserable schedule, there was not a single bad review. By the way, the game “weighed” only one and a half megabytes, which gave it “weight”. Well, download yourself quickly in the office and play.

Many were inspired by my idea, different people began to write: programmers with good ideas, other programmers, with ideas in the style of "rob kovanov", people who are versed in servers, and most importantly - designers. After some time, the statistics of the game began to fall inexorably, because I had nowhere to get new players from. For almost a year I wandered in doubt whether I should continue to develop or abandon playing a game maiden. Year of the void. After a good rest, I decided not to stop.

Designer


One of the people who wrote to me was Alexander, a self-taught designer like me. And also keen on the idea of ​​making a game. I chose him. We discussed a game with him, dreamed about the future and decided that we can start by taking our game and re-drawing the entire schedule in it. A lot of time has passed since the publication of the game, but the person was interested in the game. After a couple of weeks of ordeals, we decided not just to redraw the game, but to do everything in a new way. Despite the working engine, we lacked many functions. I was hoping that I would have to rewrite only some part, but no - I rewrote everything “from” and “to”.

A new game





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



The idea for the game - the Syrian conflict - is a figment of our imagination. Some unknown invaders attacked Syria. As a joke, we call it the “Software and hardware complex for strategic planning in the proposed military operations in the context of an alternative Syrian conflict.” Notice the "alternative." The game does not mention countries participating in the conflict. With the exception of the Syrian - defending side. Yes, the game has a political connotation, but not a word about Ukraine either.



What's new?



The game has 6 main types of tools:

  • the siege house is 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 progresses, it turns into almost the strongest - soldiers have grenades, and then RPGs
  • a machine gun is a very powerful weapon, especially since it fires in a continuous burst. But there is one “but” - it hurts too quickly to overheat
  • air defense system - attacks only enemy air forces. At the very beginning, it has a set of one rocket, and as you progress through the set increases to three
  • a siege tank - a weapon of incredible lethal force, it strikes several opponents at once in the radius of the explosion of his shell. That's just not recharging fast
  • gas station - or, simply, a flamethrower. It sets fire to enemies, and they burn for some more time. Very powerful gun, but with a limited range
  • hologram - a hologram of the president of one influential country. It can not only slow down enemies, inspiring them with fear, but also makes them stiffen in horror. Interestingly, guess what kind of influential country we had in mind?




This, as for the main ones, but there are still additional buildings: a radar, an oil tower, a “Topol-M” super-strike, mines, etc. etc. There are additional improvements to the base: defense, aircraft strikes, self-healing, the influx of resources. You can’t tell everything. The main feature of the game can also be considered that all the guns absorb the accumulated resources (except for the hologram of the president - he is not supposed to take resources!). After all, they also want to eat. But a resource is earned through the destruction of enemies, installations of oil rigs. It turns out a sort of economy.

There is a variety of aircraft in the game, helicopters, invisible planes, and even paratroopers are. There are bosses - quite large and a lot of trouble. There are modes for accelerating time, launching the next wave, and other goodies. All this is seasoned with a system of global improvements for each weapon individually.



So, the new game is ready. I took advantage of the old scheme and published it on VK (kick even harder). She was quickly approved. We assume porting to other platforms, such as 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 over 4 months, but it was an extremely exciting process. Probably, many could have done faster, I have no doubt. For me personally, it was a very interesting way, from a complete misunderstanding of the issue to a complete full-fledged game. I started by saying that I want this post to serve as a motivation. I hope that it will be like that. Nothing is impossible, now I know it for sure. Go ahead and never stop!


Also popular now: