Tower Defense. Igrostroy

I would like to tell you about my personal feelings about igrostroy after years of work on his own project.

Until then, the first time I have not touched the game engine, I thought that the game is easy and fun to do. Going from a team of talented people and some specific deadlines, they make the game without any problems, write the code and fill surrounded by beautiful pieces. Yeah ... with some kind of hand is all right, but I did not expect that the reality is much more complicated.

Once again reminded, this article - just the thrill of exploring the game development, and the story of his short experience.

Will 7 images + text.





So. It all started a long time ago - in March 2012. It was then that I first became acquainted with the game engine, but rather the fact that it can be done. And as it turns out, you can do it all! For this "only" requires no knowledge of any programming language (JavaScript, or C #). And here is what I interjected - before that I never in my life is not programmed (Editor Warcraft III with its triggers and Thinking Particles does not count - is a completely different level), even in the school never had lessons on programming. Although, there were, it seems Pascal or something like that, but it was so long ago and not true that all knowledge since then vanished without a trace. I had to climb to the Internet for tutorials and video lessons. The first comer lesson every 5 minutes reminded to look official certificate of skriptopisaniyu, and this rule, and I am very very helpful in the future. Even a complete shock to me was the need to write a few lines of script for the very very basic things - out of the game through Esc.

In the end, it turned out, programming is not so hard. The main thing to understand the logic of the program and the programming language (by the way, my choice fell on C #. It seemed to me more intuitive and flexible). My first crafts are not very unique - somewhere to run, something to explore, somewhere press. Time after time, I felt better and better at writing scripts, and at some point, all became so "native", I almost without hesitation and mistakes wrote one script after another. And this is where I got the idea to do something big! To start with a relatively small, but with rich functionality - so the project was born, which I spent a month and a half, four weeks of which I was busy writing scripts! That was really cool - but I realized that this is not enough. Yes, I was able to realize day and night, the camera switches, a variety of different modes of "play" and some other chips. But all the functionality was only tied on the use of the various components in the editor, and only. It was then that the idea to create a full game.

The idea (type) of the game decided instantly - it will be a game-type Tower Defense. Yes, of course not very original, but real and full TD games (and even in 3D!) Almost none. The first weeks of development have gone to create the basic mechanics of the game, which was later changed several times.

Still scripts - is the engine of the game, and without them the beautiful models and will be simple modelka and angry peasants will remain standing at spawn (and even then without a script, they do not even over-spawn) in a silly pose runs.



Keeping in mind what I need the possibility of the tower, I began to write scripts. First it was written two scripts - the first allowed mob (the enemy) have some specific health and blush at least reduce it, and the second is just responsible for the shots at the tower. All anything, but that's really very silly looked something like a tower deals damage mob, and the projectile before it has not reached. I had to edit ... and subsequently several times to return to the script of attack for its modernization. But what TD without the possibility of installing your own tower? Another script, and we can put a tower in that location with the mouse. A few days later the game took the form of the screenshot above, and it is time to do a more detailed study of the game.

And the first thing that was on the list of tasks - to make the mobs to follow a predetermined path. I used this never faced with this problem and I had to take with half a day, until you remembered Pathfinding. Now the game is played with new colors! With shining eyes the happiness I watched as my cubes fled on a new map, or rather the path of the new maps! But there is and the first schools of the tower - it was simply unable to get away for a running mob, but still in sight, it took only the most proximal to a goal. We had to change the script ... to enter the second array and make a selection of the most distant and at the same time, the range of the tower goals. We were pleased with the proper operation of the script, I had to return to the issue when the tower just misses too far targets. Here's the handy school geometry :) Yes, now one less than the universal question - Math geometry has found his place in life. Tinker with sine, cosine, several variables and entering a tick "shoot to preemption", the tower still successfully started to hit the targets, no matter where they are! And it does not require any "avtonavodki" - projectiles flew in a straight line to the target and hit it! At this point, the game became quite beautiful appearance and it finally did it was possible to play, though, and just 5 minutes.



But ... something is missing. It is not enough. Game lacks depth - monotonous shooting mobs not very interested in the player. There began to appear the first ideas already global game ...

The first thing I decided - is to tie the game for social networks. This gave me the opportunity to "authorize" the user to keep his records and any other information. After that thought went huge flow grasp that it was sometimes very difficult.

The result of thinking is that the player will have their own settlement, the development of which he will deal with all the free time of the game. There will also be three professions, one for each type of resource (wood - a forester, stone - masonry, magic - magician). Towers is already possible to buy not only for gold, but also for the resources - to choose from.

Until the middle of the winter of 2013, I tried to make a running game with all the bells and whistles that came up. Even announced the closed beta testing, for which 20 people have signed up. The development went on as usual, had to learn the way of working with MySQL + PHP. For a long time it was, it was difficult. Another stumbling on the path became VK.API. Oh, how much time was spent on the understanding of how it works ... I remind you, I'm programming at the time was engaged in just less than a year, and the experience was not so much to go to understand written in the certificate. Nevertheless, albeit belatedly, the game came to the stage of the PTA, and the first time people were able to play in it.

Obviously, the first pancake came out lumpy. A bunch of bugs, non-obvious (but for me they were obvious, as I did) The lack of training and a clear understanding of what is happening, made me nervous - the players were not happy, though the game they like. The development was normal, testers report bugs found on some of the bugs operational rules, others - were placed in the "queue". At the time I first felt the developer - without the involvement of testers was some dissatisfaction with the fact that I did.



But then it became only more fun. Announcement MBT blind and vision of "completeness" of the game. An emergency pace of work on the project, and sometimes went to sleep only 3-4 hours of the night (the game was engaged in his spare time). But nevertheless, it has been modified many important pieces of the project - editing of the village, construction of buildings, markets, and much more. Add to game 4 game levels, now at least it was in that play.



On his birthday, I decided to open up access to the game to everyone and look at reviews. At the time it was "done" about 70% of the core of the game, and really could allow people to test.

The result was again quite fun - all experienced the same bug with my decision to just change one of the models without checking the result. In the end, when everything started to play, they saw floating in the air warehouse in the village.

For two days the game was played by 330 people, and the results of the survey, the average assessment score turned out to be 7.82. I do not know whether this is good or bad, but I think that you can make allowances for the incompleteness of the game and ...

The concept is not dramatically, but changed. On the basis of testing revealed the weaknesses of the project. And one of the most obvious - the lack of "avtivnogo" geymleya. Players just come into play, run and put the level wherever it was possible tower. Then he left for a few minutes on the computer and waiting for them to return the completed level, and reward. We had to change something ...
Again, thinking, thinking about the situation. Also, many complained about the wretchedness of the interface (I admit, he really looked shabby), and it was urgent to take action.

From that moment began the "real" development. On the basis of experience, we made some important conclusions, and the game went to a new stage - the alpha version. Beta here do not even smell.



One very unexpected development stages for me was the interface. That's really what did not expect - so that they can do forever. I started to alter the interface at the end of the summer, and do it until now. Of course, not as active as it could, but the interface takes a surprisingly long time. It should also take into account the many new developers, because sometimes they do not even think about it the same way I had not thought about prescribing the Esc to exit the game.



Well, the last thought: geymdev is difficult. It's not coming up with the rainbow "zombie apocalypse with open world, World-PvP and robbery of caravans," it really hard lesson, especially for singles. It should be able to pretty much (programming, modeling, animation, possession photoshop knowledge after-effects, shaders, tools, software, the ability to create music, beautiful voice to voice, and much more) to single-handedly complete a challenging project. Because I'm trying to draw a small amount in the domestic bumstartere - very much I miss composer zvukarya and translator.

Thank you for your attention, I hope you liked the article and you may be interesting to take some of my thoughts.

UPD: The game is now collecting votes on grinlayte and reliznetsya game on all major platforms: PC, Mac, Linux. steamcommunity.com/sharedfiles/file...s/?id=216556277

All!



Source: