📜 ⬆️ ⬇️

How I left the university to develop my own game. Part 1

image
Hi, Habrahabr! Surely, many of you are thinking about developing your own game, but, unfortunately, there are many factors that, nevertheless, do not allow us to start working on the game of your dreams: study, work, family, etc. And, besides, we are simply afraid to give up everything and realize our dream, for many are frightened by the uncertainty that awaits us as soon as we deviate from the generally accepted aspirations. In this article I will tell you about my difficult path to the realization of the idea for which I put everything at stake.

2013


It all started with the thought that I was ready to develop my first game. By that time, I had a couple of simple projects implemented, so I was already a bit prepared to develop something more serious. So, I chose the Unity3D game engine as a working tool, since at that time I had been studying its capabilities for several months. Since FPP (first person puzzle) is my favorite genre, I chose it for my brainchild. I borrowed the general concept of the game from Portal - passing levels by manipulating objects and interacting with various game elements.

Probably, the main element, from which I initially repelled, was the gravushka gun, implemented by me in the previous training project.

Well, let's go! Let's create at least something for a start, and then it will be something to make a start from. I drew a simple level in my head where I needed to manipulate the balls with the help of a gravush gun. Nalepil from the cubes scene, played a little with its design, threw a couple of balls there, and gave the player the hands of that same gravushka. It turned out, as it seemed to me, so-so. On paper, the first few levels were already ready, the concept of one of which was offered to me by a brother.
')
image image

I used to model them in a 3D editor, but I soon abandoned this idea, since everything could be easily assembled from cubes in the Unity editor.

image image

To play manually even with the most primitive objects I, frankly, was tiring. And then a slightly crazy idea appeared - procedurally generating all game content. No pre-created models, textures, materials, animations and other resources that are not a text file (of course, except for music and sounds, which I hadn’t thought of yet). I realized how complicated it was for this development, but damn it, I get great pleasure from the process of creating a game universe, by writing software code.

Obviously, with such severe restrictions and being inexperienced, incredible beauty is not achieved. Therefore, I considered that the graphics in the game should be extremely minimalist. There was an idea to use only two colors in the game - black and white. I think that this was the main feature of the game (later, I learned about Antichamber - a game similar in style, but I was not going to change or retreat anything, because I independently came to this version of the game design). Well, that's more interesting. I have never regretted that I have driven myself into such a framework, because the pleasure of developing, in this case, I get even more.

Another chip could be the lack of outlines of the rooms. I wanted to create the effect that the player is in a certain abyss, concentrating his attention on those objects that at least stand out against the background of a completely white space. But this made the game unplayable, so the idea had to be abandoned.

image image

One of the most time-consuming tasks for the then inexperienced me was the generation and coupling of rooms. On paper, everything was “built up” quickly and easily, but to generate procedurally - this is not to drag you the cubes in the visual editor.

Another feature of the game is the lack of a GUI, which means it was necessary to come up with an alternative way to implement the menu in the game, the main task of which is level selection. I solved this problem using the following approach: in the room there are 5 cells and 5 balls, each cell corresponds to a certain binary number, as a result, arranging the balls in the required order, we get the desired level.

image

The project grew slowly, and with it "I grew". Despite the fact that the code has now become better, errors made in the initial stages often led to a dead end. I looked at everything written by the eyes of an “grown up” programmer - crap. He began to rewrite everything from scratch, which he spent about two months on.

On a wave of enthusiasm, I urgently wanted to show at least someone my brainchild. Got on w3bsit3-dns.com with android version. From the feedback received, it became clear that the future game, in principle, might be interesting to someone other than me.

One day, unsuccessfully trying to make a small change to the core of my small engine, I again realized that I had not thought of its architecture at all. Again I wanted to rewrite the code. But, alas, study and employment in other projects did not leave time to develop my own game, so I had to postpone it for more than half a year.

2014 - 2015


This period can be called a new era for my game. Before starting to rewrite everything, I studied C # features in more detail and first sat down at my notebook with a pen. I thought out, as it seemed to me then, almost every little thing and still began to develop. Completely changed the kernel, introduced the ability to read level data from an XML file and, most importantly, added another feature - the drawing effect for all game objects.

Having written such a foundation for the future game, I was forced to suspend development, due to high employment in other projects. After some time, the opportunity to continue working on the game again appeared. And so, at this moment, I was just the same, no matter how loud it sounded, “I gave up everything for the sake of a dream”. I left the university. Without education, without permanent earnings and without employment, he continued to go towards the goal. Well, then completely immersed in the game. During the winter period, a lot of work was done, including the design of new levels, the refinement of the game core and the introduction of new features. Now, continuing to work on the game, published in the Steam Greenlight. The end of the development is scheduled for autumn 2015.



Total


The main mistakes made at the very beginning and realized by me during the development:

Since the birth of the idea to this day, just over two years have passed. Having no time to develop, I patiently hatched and developed my idea. So, after a considerable time, for a not so large-scale project, we have an almost half-finished game. Honestly, I am pleased with the current result, but, all the same, the work is still hard - designing more than 15 levels, introducing new features, music and sounds.

The article missed all the technical details, which, if desired habrazhiteli, illuminate the next part. Thanks for reading!

Source: https://habr.com/ru/post/258555/


All Articles