📜 ⬆️ ⬇️

Playing from scratch

Playing from scratch




Post about a difficult, but extremely interesting way from nowhere to the finished game.


Introduction

For a long time, I was connected with the game company only by the work of an average 3d-artist in a branch of a not very well-known company, and sluggish attempts to break out, finally, into an indie-development field with its unlimited freedom and fabulous incomes. At least, it seemed to me like an independent game dev after reading numerous success-stories.
')
Reality, however, has always cooled my ardor, recalling the lack of programming skills, project management, the ability to sell something, the experience of developing at least something ... in essence, the absence of all that was necessary to start working on my own game. Except, perhaps, possession of 3d on some level.

The money was tense too, so the option “to take - and invest the well-known $ 70k into the development, and at the output to get a ready-made candy, snatched by gamers like hotcakes,” was also inaccessible for me.

But in the fireplaces of enthusiasm with might and main a desire is a stoker. Therefore, it was decided by all means to begin (and be sure to finish!) To implement one of the many ideas of the game that I constantly invent. And so, one fine morning, my computer was slowly installed and launched with the wonderful Unity3d tool, which after a few seconds was already waiting for me with a virgin empty window of a new project.

The following months were spent in an incredibly interesting atmosphere studying a huge amount of new information for me and experimenting with my future child. I would like to tell you about this process.

Concept and preparation of the prototype

I did not want to take on something big and difficult. The simpler the better - that was my motto. There were no plans to get bogged down in insurmountable tasks and unsustainable volumes of work alone. The idea was simple and relatively original: a labyrinth with the ability to scroll through individual square sections of it, a la plumber game. Turning tiles with areas of the maze, the player builds a path to the exit.

Each piece (tile) in addition to the texture is a simple set of characteristics:


Sketchy tile examples

Not all the tiles shown in the figure follow the rules, so only a few of them I used in the game.

How tiles look in the game


Each tile in the game is three quad (quad), one above the other. The lowest quad represents the substrate — the base texture of the walls and the dark uncompleted path. The other two quads have a texture of the sections of the tiles that were “included” if the player has built a path through it. For clarity, I attach the picture:

What is tile

Laying one on top of the other, quads with a direct isometric view give a picture of the finished tile.


Of these tiles and here is the playing field, which is a two-dimensional array. The first element of the array always represents the beginning of the maze ( [0, 0] left bottom tile), the last is the end ( [width – 1, height - 1] right upper tile).

Sketchy playing field

The yellow tile has the name 2210 and an array of inputs 0001


The most interesting thing was to come up with and implement an algorithm for drawing a user-constructed path. Here, I also did not philosophize slyly, and in the spoiler below you can see what I did.

Strong path finding algorithm


Adding buns and keeping thoughts in check

Parallel to the finishing of the working prototype, texture preparation was in full swing. This stage for me was the easiest and nothing special. I tried to produce the most pleasant-looking picture, pixel-by-pixel adjusting every step. I only had to suffer with a custom font. The fact is that I didn’t want to use TTF at all and concentrated exclusively on BitMap fonts. For the use of fonts implemented by a texture with transparency in the alpha channel, there are currently no convenient free tools available in Unity. And, since I decided to reduce financial expenses from the very beginning to zero, I had to do a hand-to-hand font from start to finish, including drawing and UV-mapping of each letter. The reward for the dull monotonous work I was fully prepared to use a nice font. In more detail how I did a font, I wrote in other post .

Font


It was originally planned that the game will be executed in three settings with the original features of the gameplay in each of them, contain a bunch of different monsters, weapons for their destruction and much more. Including even the ability to deprive a string of travelers of certain material values ​​wandering in the desert. But in the process of work, it quickly became clear that I simply could not pull such a volume of content alone. Therefore, it was decided to limit one “stone” setting, treasures scattered around different corners of the maze, locked chests / doors and keys to them. Such a simple set fit well into the “simpler - better” strategy and required quite a bit of effort to implement

Items in the game


Process completion

The work was controversial and, in spite of the fact that I could devote only free time to the project from the main work, was quite noticeably coming to an end. It was time to think about any progress. For several days, after studying the question and reading several books with the diagonal method, I again fell into despair. Understanding emerged on the agenda that without decent expenses for advertising one could not even think about any interesting profit. The lack of money during the whole process helped me stay true to the rule “to reduce development costs to zero”, did not fail this time either. And the advertising did not have to spend. However, for the purchase of a Google merchant account and a domain with hosting, you still had to pay a semicircular amount of $ 50.

Another unpleasant moment for me was the news that I do not have the opportunity to sell the game on Google Play due to the absence of my long-suffering country on the appropriate list (I was left, however, with the opportunity to somehow monetize through advertising in the game).

But there was no longer any sense in scoring on an almost finished project, and I threw the rest of my strength into finishing and licking the game to a state close to ideal in my subjective understanding of the word. What I did. Not far off was the day when I could surely say that I managed to fulfill my dream.

Results

And now, after six months from the start, the game is ready! During the months spent in studying the most diverse aspects of the game, I got a huge amount of experience, learned a lot of interesting and fascinating pieces, earned scoliosis and eye problems , and, most importantly, I got pleasure from the fact that I managed to make my dream come true.

Talking about the popularity of the game is still too early, as well as its interestingness for gamers. If everything goes well, I will dedicate this to a separate post.

Afterword

There are plans to port the game to iOS, if you can scrape up an Apple developer account. With the port, in theory, there should be no difficulties, thanks to the powerful Unity3d. I would also like to do a gradual addition of new features, probing the monetization of the soil through in-game sales (if I’m not mistaken, the AppStore allows foreign exchange operations to be performed by residents of Ukraine), implementing many other ideas regarding this project and relatively new ones that are yet to appear on shine.

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


All Articles