📜 ⬆️ ⬇️

Treasury: Diamond Idol - postmortem project

The article is published at the request of Sergion habrappo , which, alas, does not have enough karma, so he will respond to comments, and, accordingly, the plus / minus signs should be addressed to him.

All summer, we (Artefact Network) have been working hard on our indie project for social networks on Unity3D technology - “Treasury: Diamond Idol” in the genre of match2 . And literally this weekend, finally zarelizilis.

Game process

Since this is primarily about social (and not a kazualka) - in the game there is one dynamically changeable level, designed for multiple game on points. Players compete with friends for the maximum number of points, as well as in the weekly and general ratings. Initially, the game is literally a minute, but in the process an hourglass may fall out, allowing you to recover time. As you score points, the level structure changes, new bonuses fall out, as well as frozen items (they must be broken using combinations).

During the game, bottles with energy fall out. When a player collects 3 pieces (there is a collection progress on top) - the idol is activated and it can be used with the left mouse button. After that, lightning erupts from the idol and the playing field is partially reset.

For various achievements - players receive gold coins as a reward. For the last level of each achievement, the player gets the opportunity to use instead of his avatar - a special mask that embodies the type of achievement.

In addition, players must collect 5 types of runes. For every 100 such runes, a story opens in the book and the inventory expands (the maximum number of artifacts used). In order to open all the stories - you need to play a lot of games, and thus the book is a kind of bonus for fans of the game.


We ventured to use a full-fledged 3D engine, going to override the established practice of creating such games exclusively in 2D (where it is easier to draw understandable to the user and beautiful graphics). As a result, the majority of users first of all speak positively about the graphics.

The development of the client was carried out on the Unity platform, so for the game it is necessary to install a plugin, which is no more difficult than installing the Flash player (although alas, some users are frightened off). The current weight of the client (the file that loads the plug-in unit) is about 2.7 MB, it is downloaded once at the entrance to the game and then loaded from the cache before the new version is released. True, due to the features of unit 2.6.1, 300kb, they occupy only fonts (the unit creates bitmap fonts for each unique font size and type), in the 3rd version the problem will be solved.

By default, the game starts at medium graphics settings (without shadows and other bells and whistles), so that when you first log in on weak computers there are no brakes. By the way - tested on laptops with Intel's video - on average quality is played. But of course the high quality game looks much better.

The client is compatible with all major browsers, as well as with Windows and Mac operating systems (we would be happy to make a version for Linux, but unfortunately our support is only in Unity plans).


The server is based on LAMP. For optimization, memcached and eaccelerator are used. Iron - a virtual server on CentOS. Data exchange with the server occurs via the www protocol, the benefit of Unity is the ability to work with http requests. Thus, it is not necessary to open any non-standard ports for the game. Data is transmitted as strings serialized by standard php tools.


Virtually all graphic content was created by our multi-armed artist. Special effects I created, as there is some experience in this. All sound effects were taken from www.freesound.org with some modifications. The music was also used with the free distribution of Alexander Ahura , with his permission.


In addition to the earned coins - daily users receive a gift of one gold. If a player does not have enough money, he can buy them for real. Coins are spent on items during the game (defrosting, idol activation), as well as on artifacts. Artifacts are sold in the store and allow you to expand your gaming experience - basically the player is wasting money on them, for example, increasing the time for the game by buying silver and gold watches.


In principle, everything is standard here - write on your wall or a wall of a friend during important events. The purchase of most artifacts is limited by the need for a certain number of friends. Friends can give gifts at preferential prices. It is also profitable to attract friends for duels (alternate game for points), which can be spent on money and used as a way of earning. To participate in duels, the player challenging to a duel must have a special artifact - the “Sword of the Duelist”.


As the first platform for the game, vkontakte was chosen - for various reasons (for example, there are no problems with accepting payments - everything is paid for with votes). There were no problems with the integration of Unity - iframe and the JavaScript API are used to interact with the social network. The verification procedure took no more than a day and there were no issues in the process. Not only pleased with the statistics tool, it’s certainly not Google Analytic’s, but it’s still better than none.


In general, despite the fact that our team does not consist of beginners, the project arose spontaneously, due to the fact that it was necessary to put our creative energy in (as part of the office work, it unfortunately did not fit). No design and even concept documents - like a maximum of a wiki page with a vision of certain planned functions. For order in the work, we used the project management service www.teamworkpm.net (task sheets, wikis, plans, etc.). Satisfied with the service and in principle it was enough to create such a relatively small project. A weighty plus was the fact that each of us knew our business well and performed several roles at once (however, as in any indie company). Since the team is small, decisions were usually made very quickly and there were no situations when someone slowed down the rest.


Minimum financial investments, 3-4 months of work, a team of 3 people (programmer, artist, game designer). ~ 400 unique users and ~ 200 installations for the first day of work, of which ~ 170 entered the game (that is, they managed to install the plugin). Nevertheless, in addition to the fact of the release, so far there is nothing more to boast about, and the success or failure of the project can be judged only after a while and releases on other platforms.

The application is available at vkontakte.ru/app1894446

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

All Articles