And you have already made your game?!

In this blog, I would like to share with you how in two years, without any development skills, I made my game. Here I want to share my emotions, what I experienced in two years of development (with long breaks). For someone, perhaps this will become so light, small leadership.

I am not a fan of writing, and for the first time I write something like that, so I ask you to point out any errors. Write at least about punctuation, at least how to build your narrative correctly. It will be interesting to read, and something to know. In addition, the developer of me is useless, and if I was mistaken in something during my story, I also ask me to fix me in the comments.

So, for starters, you need to introduce yourself. My name is Yegor, I am 21 years old and I love games. From the day I was given PS One to this day, I have passed hundreds, games. At some point, I myself wanted to create something of my own, but only looking at what the software code looks like (this is a crazy something that consists of incomprehensible words and curly brackets), I left this thought at rest every time.

But once, about two years ago, my girlfriend invited me to play some horror. Having considered this an interesting activity, I went to turn on the computer, sorting out and offering it different options: Outlast, Amnesia, Layers of Fear, etc.D. But in response, I heard that this is all for a long time, and it is better to play something on a smartphone. Agreeing with this, we began to look for a suitable candidate in the open spaces of Google Play. My attention was attracted by one game. In the mechanics, the game was a brothel on a monotonous location in search of objects, which was complicated by a “grandmother” forever pursuing your character. That is, she neither lost you, nor looking for, she always knew where you followed you. Seeing the number of downloads (there were more than 50k), I ####. "HOW? This is? 50 thousand? Yes, I myself can do that!". A few minutes later, already forgetting about this game, I thought: “Indeed, why not try”.

At that time, the most difficult thing is what I could do with the game to install this mod on some GTA’chka. Therefore, we will analyze the skills that I have necessary for creating games:

Knowledge of game engines is the editor of the maps in Far Cry 3 (by the way, you knew that if you overshadow a lot of red barrels in it and blow them up, then they will hang in the air and it would be fashionable to jump on them?);

Working with sound ended on guides like: "How to make a powerful stroke track in FL Studio, so that with basses and auto toux, etc. D."(Not an amateur, it was just interesting).

The set is certainly so -so, but I had a computer, love for games and a desire to make my.

The beginning of the path

Surfya Internet in search of the engine easier, I came across Game Maker Studio (then GM). It is actually quite not complicated, has its own programming language, it is suitable only for 2D games (but it seems like with the help of different tricks you can do something like 3D). I created a character, taught him to walk (or rather fly) the top-down-right and right and thought that, for today enough.

After a break of a couple of days, I returned to my green winged friend and in the editor’s window saw a strange inscription “27 days left”. It turned out that this is a 30-day demo, and if you please pay for the full version of GM’A. Guessing that in a month I will not have time to do anything, I began to search for a new engine for my future masterpiece and came to the great and terrible, all beloved and hated Unity, since it allows you to use yourself without demanding anything in return. Well, it began.

After a relatively simple and understandable, as a book with children’s fairy tales, GM’A, Unity seemed to me a huge chemical encyclopedia written in ancient Chinese. A bunch of incomprehensible components, parameters, “how to do it? How to make it?". Well, we will gradually understand.

Can a stone run?

I decided to do something three-dimensional, but Casinokatanaspin.co.uk so far I did not know what exactly. He played with standard primitives, repainted them with different colors, then began to put his friends on the cubes and balls of the texture of his friends, parodying a gorgeous prism with the face of one American president, changed gravity. Soon it became annoyed and it was decided to take under its direct control of one of the geometric comrades. Since scripts for games on Unity are written on C#, in which I, of course, do not understand anything, then both textual and video guides on the Internet came to the rescue.

By the way, a little about them and about the developer community. On the Internet you can find a huge number of instructions that will help to realize any of your ideas in the game. Even if you cannot find how to do what you came up with, you can realize this with the help of some other mechanics. Well, for example, many people know about the chic superer comprehensive mirrors in Duke Nukem 3D, which instead of the real reflection of the room with the main character showed their duplicates behind the wall. So, the creation of the game is the creation of illusions, a fraud of a player, and this is ###### (very cool).

There are many manuals. They are in Russian, but most, of course, in English. If you know English at the school level, then you most likely do not know the translation of different software terms, and therefore the translator will become you as a brother, but you can develop with this.

The community of developers on Unity (maybe they are all like that) is quite kind and is always ready to help. In addition to guides, they often sit on the forums and are always ready to help you with any question whether it will not matter about the implementation of some mechanics (and they are ready to answer even the most stupid issues) or to solve the problem with eliminating the error in your code or in the work of Unity. Oh, many thanks to Samir and Abhishku for helping to write a script on a broken, with a strong Hindu accent English.

"If you think that, having driven yourself into a trap, you will force you to stop the test, you are deeply mistaken. Here is another cube "(Glados)

When my cube learned to go, then throwing the walls into space, then passing through them, it was decided to add someone who would walk with him or try to split him into his life. After several unsuccessful attempts to create artificial intellect, I gave up and decided to see what could offer me Asset Store. Maybe this is not entirely honest, but I seriously did not manage to do it myself, and besides, I still sorted out for quite a long time how to configure the already ready assembly PAK.

I found a rather flexible asset allowing you to teach anything both to walk and patrol the given area, and to chase whom you need, and a lot, a lot more. After looking at the attached leadership, I began to revive another cube, but he did not want to go, when it was necessary to reach a certain point, he began to walk around it, then stuck in place. But when the Cuba-Companion finally began to fulfill what he was told, I was satisfied (at that time without even thinking about animation), it was decided to replace the cube with something like a person. Opening Blender and almost immediately closing it (not from the ball to make a person? Nah …) began to look for a program for modeling people, well, or something like that, so that in some Sims or Saints Row you can twitch the sliders and get ̶u̶r̶d̶a̶ handsome. And this was found! Called Fuse. Having moved the sliders, it turned out to be a pretty decent, handsome, impressive young man.

Applying on it the experience already gained on the ball in the revival of inanimate objects, it was found that the movement of his body was not a bar’s business (he stood stupidly). After about an hour, he still began to move, but he decided to do it in T-Pose. Having drove some search time on the Internet, I came across an adobe Mixamo service, which is able to independently apply any of the animation website in the base on your humanoid model. Having performed several actions on the site, my brittle comrade pushed his feet, but his legs stretched ten kilometers in both directions.

The search for a solution to the problem led me to the fact that I still had to go into the study of riging and skinning. It turned out that it was not as difficult as I thought. I will explain to the unbearable. Rigging is the creation of such a virtual skeleton for your model, creating bones in the legs, arms, fingers, etc. D. Skinning is the purpose of what parts of the body will move when a certain bone moves. In fact, you paint the model with flowers from blue to red, where red – the bone affects the model area more, and blue – less.

Probably, when our gentleman began to walk, not occupying all the available space with his landfills, it came to my mind the idea of ​​making a horror. It was necessary to think about the environment in which I would have to scare the little schoolchildren, but nothing occurred. Then I decided to do some kind of interior model. Until this moment, I, as it is probably understandable, tried to do something in Blender. Also, by guides with YouTube, you can learn a lot in 3D modeling.

Of course, this is quite interesting, pulling the training grounds, making something similar to a school desk or a closet from a cube, but the most exciting thing in this lesson for me was the imposition of textures on them. Since drawing is something terrible for me personally, it was decided to take real photos and with their help to make textures. It was amazing! I remember how with our girlfriend and another night we leaned on an abandonment, and there, under the light of three lanterns, we photographed walls with floors. Like a university in a salt orc pose, I took pictures of the ceiling, or tried to take a picture of the desk so that it was not visible in the reflection of sunlight.

Then for some reason I created a model of a construction spotlight, which seems to be impossible to shove into the school, which I chose as the scene of the game. Further, the protagonist has health points, the opportunity to run faster for some time. And then, I realized that I am the god of my little world. I can make it absolutely everything I want. Attach a location with an abandoned construction site? Please! Make an opportunity to accelerate 10,000 times? Here, click on the button! Collect the old clock that once stood at my house? Why not? And so in everything. When you create the game, you decide what and how it will work in it. This is wonderful! And I called one of the inhabitants of my horror in the files of the game a cursed word, because making it behave normally that still flour.

Soon a small problem appeared. I’m doing a horror who should scare, be terrible, act on nerves. But I can’t feel it in my game. After all, I created all those who are needed, I know that they are what they consist of and why they behave since they behave. I turned off the light, I placed mannequins at the corners. It seems that there are well-established ways to scare the player, but when you create them yourself, as if they do not work at all. You are not afraid of terrible music or the unknown that is there in the dark. But later, when the game was already close to its final form, it, designed to scare schoolchildren, scared my twenty -year -old friends. One of them, as he told me, did not even want to play at all because "scary".

As for the sounds, write down the sounds of steps on the street, and then try to trim the sound track so that it obeys like a seamless. Or pulling a road sign, because he makes a "vzhazzh-j" loudly, it was also quite exciting. But, in truth, I took sounds from the Internet too. Some of them had to be lengthened, to be worse, to cut some, to put different effects on some.

Soon, several enemies different in their behavior appeared in the game, several different locations, and so step by step, my school craft became like a real game. Everything, the most difficult thing is behind. It remains the simplest – to release the game, I thought, but as it turned out, this. So, without hesitation, I climbed on the Internet with a request "How to release my game on Google Play?". And the anticipation that in the next couple of days on Google Play will appear with a new super terrible horror.

And then I will not let you go.

To lay out your masterpiece in GP, ​​you need to create an account of the developer. To create an account of the developer, you need to pay $ 25. To pay $ 25, you need Visa or Master Card card. Since such cards we have, it is clear why, they no longer release, then there is a small problem with this. But since I still had a working "Visa" card, the hope that GP will accept it left for me. As you already, probably, guessed the GP with my card sent me to look for a shelter in Rustore, but, Kammon. You are serious? And here, in fact, there are two ways: either you pay for the developer’s account through intermediary sites, or ordinary people from the Internet that provide such services, and do not forget to pay more than $ 25, also interest for the services provided, as for me – so -so; Or, more attractive, open a list of contacts on your phone and look for either distant relatives there, about whom you have heard only once in your life and live somewhere abroad, or friends and acquaintances. Choosing the second option, I contacted a friend who agreed to help me. Given the great difference in time zones, we talked on the message on the day. But after a couple of weeks, the desired status of the developer was received.

But now everything? The finish line? And ### for you!

Unity – genius!

Although the unity is quite easy for a beginner developer, which I understood both in my experience and in tone of such reviews, but inexplicable anomalies sometimes appear in the work of this stray, the solutions of which are sometimes just striking. For example, when loading your project in GP in the form of AAB. file, Google politely tells you that this is the same AAB. The file must match the API level at least 31. What is it at all? This is the first time I hear about it! But the solution turned out to be quite simple, you just need to set the desired parameter in Unity, and if you do not have files with this same API 31, then Unity will carefully update everything yourself. Why, after all? No! Update it just doesn’t work. You have to do this yourself, through Android Studio. Okay, it was not so difficult. But once again, “Bildy” his game, which has happened quite smoothly since then, Unity refused to do this, referring to mistakes, whose logs he took to the console. Hmm how many errors are there? Answer: 999+. Oshale from such a figure, I spat on this business, and pressing a huge lump in my throat, I went to bed.

The next day, deciding to repeat the process, Unity told, about the presence of only four errors. What happened overnight, and where the rest of 999+ went is unknown. Having gathered to overcome the remaining mistakes, I killed for another 7 hours in search of a solution. I even had to try the complete removal of the engine and the installation of its other versions, both older and more new. But the solution of this problem was the same restart of the Unity, and the removal of one checkmark, which I put in one of the guides. What is it#t?

And so in many things. Sometimes after the next launch of the engine, in your game or application, it may just stop working, and after the restart again earn money. I have met the discussions on the forums more than once, where experienced developers are advised to restart Unity to fix something. And in this regard, of course, I want to cover this program with three -story obscenities.

But after passing all the obstacles, I still saw the page of my game in Google Play.

At the end

I want to summarize this result to everything that has been said. The development of the game is a fascinating lesson that I have ever come across. If you really love games, then don’t be afraid and try it. Let it be the most simple game, go this path from beginning to end.

Let my game is far from a masterpiece, has simple models and scripts written so clumsy that any sensitive programmer who saw them will faint, but what the mistakes I encountered, what I had to go through, what situations occurred during this period – it was unforgettable.

In two years I learned a lot. After graduation, I think to seriously learn how to program. I also realized that if you want to do something, then do it good and at once. I think this can be applied not only when creating a game.

And yet, if you liked my composition, you can support me by downloading my game. In addition, if you read to the end, then I think you are interested in what result you can come to (but, of course, you can much better).