Good afternoon, Habr.
Two of my previous articles (
one ,
two ), you took a very warm and even pushed to the top, so the continuation did not take long. Only half a year is not such a long time. For those who do not know - my name is Tim, I'm 30 years old, I'm a realtor and now I'm trying to become a game developer, still not knowing how to program. And how it all goes - I'll tell you and show you. Article colorful, get ready. Come under the cat, welcome.
Crowdfunding is not a panacea')
Those who read my previous article know that I have been developing my PC game, Shadow Forwood. To be more precise, I created a very small demo version with a description and put it in open access wherever my hands reached. I worked on the project alone, so I solved all the difficulties on my own. And so, at some point, it was decided to use a crowdfunding platform to raise funds for the development.
Said and done, the project was polished and launched on one of the domestic platforms. The requested amount was not very large, but not small - 360,000 rubles. According to my calculations, this would be enough to complete the game before the end of the year. Unfortunately, the required amount was not accumulated, by the end of the term I barely crawled to the level of 70,000 thousand, but this was not a surprise for me.

I am an adult and understood very well that the chances of success are very small here, so I was ready for such an outcome even before searching for a crowdfunding platform. Nevertheless, I continued to develop the "Shadows" and work on them to this day. You can even say that now I relax a little when I sit down for this project and bring it to mind. There is something beautiful about this darkness of medieval dark fantasy.



There were also pluses in the failure of crowdfunding. Since I had no obligations to investors, I decided to move the main focus to a few simple projects. Well, what could be simpler than a mobile game-dev (this is a joke).
Android and BDSMIf you need a genie for the fulfillment of desires - Unreal Engine 4 is the right choice. When I started working with the Android platform, I decided to step on the same rake as at the beginning of my journey: create a clicker. This time the decision was deliberate, and the clicker was a remake of my first craft. I can’t call him a game, this project was needed to understand my capabilities and the performance of the UE4 on a mobile platform.
I can say that I did it. All the conceived functionality was implemented without any problems, but the performance is the very bottleneck that I will get into many more times. And already rubbed not one callus.



Thanks to this project, I understood the work with pipeline on Android. The most difficult problem here is, as you can guess, optimization. There are a lot of guides in the network telling how to reduce the load on the user's phone: how to set the lighting, adjust the materials and effects, how to optimize the HUD. Having digested all this well, I immediately set about the next project.
Dungeon Trails became a toy in which I tried to apply all my little experience I had gained. No complex materials, only single-texture unlit, no lighting or procedural shadows (there is not and will not be a single light source on the whole playing field), no complex \ per-frame functions.
The result was, as they say now, not great, not terrible. At least, this product I can call a full-fledged game for the phone. Yes, and my audience liked it. Simple card game mechanics, some music, special effects, random and voila. I will not insert links, it is not difficult to find it in Google Play.



From the point of view of content, this game turned out to be very inexpensive: everything about everything took about 150 dollars. One set of monsters, one set of icons and effects, several music tracks. The idea to draw everything myself quickly went to the scrap, did not want to spend too much time. On the playing field there are several meshes of 6-12 polygons. The volume of the application is about 50 megabytes. Without music - 35+ megabytes. It is compact.
But in terms of performance, everything is not so rosy. I continue to simplify the drawings and throw out all the unnecessary from both the game and the memory, but there is still much to strive for. In addition, some phone models sometimes throw up surprises and they also need to cope.
David and GoliathYet simple card games are not the result I was counting on. Even on mobile platforms there are projects that cause me the shadow of an envious smile and a desire to utter the phrase of Zohan: “I will destroy you!”. For example, The Elder Scrolls: Blades or in a simple way Blades from Bethesda.
That is why I have more projects in my magician's cap that I am working on now. One of them - Blades competitor, while, however, without a name. On his creation I was pushed by such games as: "Legend of Grimrock", "Darkest Dungeon" and, in fact, "Blades". I want to implement their slaughter mix in a very short time.



Infinite, procedurally generated dungeons-rooms, loot mountains, craft, character development and your small settlement, a stack of mini-games and much more. At the moment, this is the most difficult Android project for me (and much more difficult for Forwood Shadows), but my appetite has come and needs to be quenched. Now the project in deep alpha, however, works stably on the smartphone.
A big problem for me was the use of Point Light in these very dungeons, because UE4 has very strict restrictions on their number. But I also used this for myself. Finding a light source will be one of the game's chips. In general, the development under Android has turned out to be a real festival of compromises. Colorful such a festival, with fireworks.
But not everything is so cloudless in this kingdom.
TroubleshootingWhat a word, huh? Immediately feel smart. When I first started studying UE4, I encountered the following topic: “Do not start working with Unreal Engine 4 if you are not ready / not able to learn”. It seems to me that this phrase should be above the “Download UE4” button on the official website. I love to read and read quite a lot, but never in my life have I ever read / looked at and understood so much highly specialized literature in different languages ​​as when working with this engine.
Initially, the level of problems that I had was associated with typical errors, non-optimized drawings or a banal inattention. All these problems were solved by a simple search on Google or Youtube. After three or four months, these problems were left behind, and I moved to the second level of troubleshooting.
Now, problems arose when working with materials, building complex drawings and manifesting errors of the engine itself (quite rarely). Google and official documentation was still used to solve these problems. This stage was the most painless, since at that moment all my difficulties were standard for most UE4 users. Almost always it was possible to stumble upon several solutions to any problem, painted in detail and with explanations. As a result, I significantly pulled the understanding of English and the engine itself.
The third stage was the hardest for me. Now I can solve almost any problem without opening the browser page or documentation, and my main headache is the engine errors / limitations that it throws at its discretion. But I learned to fight with them. For example, the worst thing that can now throw UE4 is the error "Line: 107". At some point, the engine may damage one of the files (or lose a link to it). Uasset or. Umap, after which the project will simply stop opening or will fall during any operations after opening.
This problem is solved simply, but not painlessly. There are exactly two solutions.
First: remove assets from the project folder one by one and wait until the project starts to open, thus isolating the broken asset, deleting it and recreating it.
Second: take the previous backup of the project and finalize it.
The first option may be useful if the project is small, but if the project is large, and there are no actual backups, then ...

Therefore, having learned from my bitter experience, I prefer almost daily backup and the second option.
The remaining errors that occur when working are so rare that, at best, you can find 1-2 open topics created a year and a half ago without any solutions. I have to spin myself. Tiring, but I get a strange sense of satisfaction from it.
EpilogueSix months have passed since the previous post was published, I completed two small projects and are working on three more. Those are the “Shadows of Forwood”, “The TES: Blade Untitled Competitor” and one space project. The number of hours spent behind the engine is no longer counted, I do this business as I wake up until late at night, until my eyes start to hurt.
And I still get a feeling of deep satisfaction every day. Although it comes to the point that even in a dream I see the most optimal solutions for some drawings (clinic, as they say).
If we talk about future plans, then I want to finish my projects and go looking for a job or a part-time job as a game designer (student). Actually, this is all should be my portfolio, I hope it will be enough.
I never would have thought that the simple desire to make my toy would lead me to such an interesting and at the same time tedious way of life.
By tradition,
I have a group on VKontakte , where I share news every week, and sometimes more often. If you are suddenly interested in something or know an interesting job, then welcome. And I come back to the development and prepare to answer questions if you have them :)