📜 ⬆️ ⬇️

The tools that allowed us to speed up the development of the game

View of Kotik from the Unity editor

I used to work on creating mobile games as a game designer or producer, but I have never written code in a professional manner. A few months ago I wanted to fix it and make a game with my own hands. So, after two months of work, the Kittens appeared in the App Store and Google Play with the help of three people. In my story I want to share my experience and talk about the development tools that allowed us to quickly make this game.

A few words about the preparatory stage of work. Before starting the development of any project you need to decide on the idea and the team. I decided not to risk it and made a bet on simple gameplay and a popular setting. As a result of a brief reflection, the cats became the central characters of the game, and a slightly reworked idea of ​​Bejeweled Blitz was chosen as the mechanics. Along the way, I remembered the funny cat's habit of getting into empty boxes - and the whole concept was finally formed. Then I found like-minded people and the team was replenished with a talented artist and server programmer.

Although the story is devoted to the development, one can not say a few words about the art. It is impossible to overestimate the importance of graphics in the gaming industry, so I recommend not even starting to do anything without first resolving this issue.
')
If you do not have the opportunity to attract a professional artist, then select the game mechanics, which will allow you not to pay attention to art at all. It is better to adhere to these two extremes, but you should not draw something on your knee, players will not appreciate it. I was lucky, and seals turned out just awesome. This is how the first sketch looked like:

The first draft of cats


Game engine - the basis of everything


Now there are plenty of game development tools, but I didn’t regret choosing Unity :

With the engine, I learned to work on video lessons. There are quite a few different courses on Youtube , and what I liked the most was these . Well and surely look at standard lessons from developers of Unity .

Meet on the interface


Typically, the interface creation functionality is included in the game engine, but for Unity, historically, this was the weak side. Almost all used for this plugin NGUI. I also studied it, but I was lucky - by the time the game was launched, Unity released update 4.6, where the new interface creation system is implemented - I highly recommend using it. It is simple, functional and free. Thanks to the correct use of such technologies, it is possible to make interfaces, the display of which does not depend on the size and proportions of the screen, which is very important for working on a mobile game.

In addition to building the interface itself, it was important to make it responsive, "alive." Even such seemingly trivial things, like the reaction of a button to a touch or a beautiful special effect when a cat's super ability is activated, improved the impression of the game. For this, in addition to standard tools, I used the free plugin iTween , which allows you to quickly and easily create smooth animations. And about half of the special effects acquired in the form of ready-made packs, for example, such as the FX Mega Pack .

FX Mega Pack


Sounds and music is also an integral part of the interface. Here we were able to get along with ready-made works, acquiring them for a relatively low price. I recommend to search Premiumbeat and standard Unity Asset Store .

Socialization of players


The ability to communicate and compete with each other in games has many obvious advantages, but the implementation of this function can be a headache for you and your players. To do this, you need to make the registration of the players, their friendship and raise the server.

The best way to register a player is to use ready-made services such as the Apple Game Center, Google Play Games and Facebook. Independently manage this process, require the player to enter the mail and remember the password - a measure to which it is necessary to resort only as a last resort. We chose Facebook, guided by the fact that:

Friends competition in Kittens


Choosing Facebook as the main and so far the only platform, we understood that we would not please everyone, and there are many dissatisfied players who do not use this social network. However, such a focus allowed us to quickly start and begin to analyze the results as soon as possible. As a result, it turned out that we have a small percentage of negative reviews for the absence of other social networks, but this can always be made up later.

Server support


If you do not need complex server logic, but only need database functionality to store the user's game progress and settings, use the ready Backend as a Service platform. So we did. We chose and were pleased with the cloud service Parse . In fact, for us, this is a database with a convenient admin panel and a lot of additional functions, such as simplified identification via Facebook and push notifications. The free limit for Parse is quite large and there is a good Unity plugin . To start, we have enough of these functions. Only later, when additional logic was required to service the tournament and the championship, we deployed our own server, but we still do not plan to refuse Parse.

As a result, the architecture of the gaming system is now simplified as follows:

Architecture Kotik


Monetization


We immediately decided to take the path of free-to-play. It is easier to promote the game on this model in the mobile market, especially for a novice developer. But even if you make the game paid, I advise you to get acquainted with the amazing world of embedded purchases. It’s unrealistic to sell a paid product on Google Play due to piracy, and it’s much easier to protect a purchase within a game.

The hardest part of the free-to-play model is finding the right balance. The main thing is that the players were always interested, and they perceived the availability of a store as possible, but not mandatory support in the game. All missions in our game with proper perseverance and desire can be completed without additional payment. We mainly rely on purchases of impatient players or very enthusiastic collectors. And to collect in the game there really is something - these are super-cats, which, firstly, strengthen the player, and, secondly, are cute and funny in themselves and are really nice to collect.

Shop in Kitties


I recommend Prime31 plugins to implement the sales function, they are paid, but they are easy to integrate and work.

In addition to shopping, we use advertising for monetization. The main thing is not to overdo it with the frequency, because the players do not like this the most. And, of course, advertising must be turned off as soon as the player makes the first purchase. So far we are using Unity Ads , but later we will increase the number of advertising providers.

We protect against hacking


Players are different, and the dishonesty of some can prevent the rest from enjoying the game. In our power to try to protect:

Anti-Cheat Toolkit allowed us to quickly implement encryption, which solved the first two tasks. Protection of purchases is best done on the server side, especially if it is already there. However, authentication can be done on the side of the game. In the case of the App Store, you need to contact their server , in the case of Google Play, this is done directly on the client . By the way, recently there was an article about how to make a defense with your own hands .

Do not forget about localization


Plan to support multiple languages ​​from the very beginning of development, even if the content in Russian is still the only one. With the prepared system, you quickly connect a new language. In our project, all the localization texts are stored in a google-table. The obvious plus is that several people can edit the document at once, without creating intermediate documents and transfers. Texts from a table in csv format are loaded into the game automatically. If it is interesting, I will tell in the comments in detail how it works.

Analyzing the results


An in-game analyst is an indispensable tool in the work on errors. It is important to understand where your players come from, how they actually play, when and why they leave. It will be easiest for beginners to start with a free and easy to learn GameAnalytics .

Kotik Statistics in GameAnalytics


I recommend using two analytics systems in the project. This will help in time to detect the connection error of one of them, because you will quickly notice if the data will diverge. We use Google Analytics as the second analytics, it has a large free limit. It provides more detailed data, for example, you can see where players came from in your game. Again, for Unity there is already a good plugin .

In addition to internal analytics, you will need to track sales statistics. After the application is released and the first purchases go, the AppAnnie service is useful , allowing you to aggregate data from all stores and advertising networks. It is really convenient - all the statistics in one place, not to mention the ability to keep track of places in various tops.

Server and promo site


If you have a server application, then you need to run it somewhere. Better free. Better on a good iron. All at once, of course, does not happen, but I found a loophole in the form of a startup support program from Microsoft . If you are just starting your own business, they provide you with Azure server capacity at $ 9,000 per year. In practice, you will get 5 decent servers for free for 3 years. In my opinion this is a great offer.

Including on Azure, you can kill the promotional site of the game. It is useful if someone wants to google (for example, journalists), well, for various other needs. For example, we use it as a landing page for the Share posts that players make on Facebook. We made the Seals site for free, too, based on WordPress.

Expenses


In order to release the first version of the game, the three of us spent 2 months of personal time and about $ 270 to purchase music and Unity plug-ins. I consider these costs more than acceptable. Buying each plug-in or ready-made content proved itself, because it saved months of development.

Now our game is released in Russian-speaking countries. We are continuing to finalize the game and in parallel we communicate with future partners who will help promote the game in various countries. I hope our experience and advice will help you in developing and save you valuable time.

I will be glad to answer questions in the comments.

Update: In the comments, colleagues suggested several more useful plugins. I have not tried them, but judging by the description, they are worth mentioning:

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


All Articles