📜 ⬆️ ⬇️

"Collect 3 hearts, 3 skulls and 3 swords in one shift", or how we made the game

The article will be a description of things that we ourselves did not know before the start of development, and which I would like to share with beginners and not so developers. At the moment we have 200 active players a day, every day another 10 to 50 is added, about 5 thousand in total are registered. For all the time the game brought about $ 1000.

What is the game about


At first we decided to port the BC (one of the first browser MMORPGs) to the phone, but the idea evolved in the process. Finished match-3 with RPG elements and PvP capability. In general, a mixture of "BK", "Candy Crush" and "Heaven." The player fights with monsters, develops, does quests, buys things and magic scrolls. The battle takes place in alternate mode in match-3 style with different crystals - treatment, poison, reinforcement, etc. The main innovation - fighting with people, you can fight with random opponents or add friends and fight with them.



A small technical box, with a full list of programs and technologies. Who is interested
Design
The first versions of the interface were drawn in Balsamiq Mockups - a very handy tool for quick design sketches. It also drew the transition schemes between the screens:
')


Customer
The client wrote on Objective-C . We don’t have three-dimensional graphics and complex animation, and the price of most frameworks confused us. We didn't have a Mac at our disposal, so at first we used a VMware emulator. As I remember, the first running program is a white background with the printed Zhopa text “Hello, world!”.
Six months later, we still have forked on the Mac. Build on it works 10 times faster, so if you are writing a serious project, you should think about buying at least Mac mini from the very beginning.

Server
The server was written in PHP , there used to be experience with it. Assembla was chosen for version control. Particularly pleased that in conjunction with Netbeans , on which we wrote, he got up without a hesitation.
The database was first made on MySQL , tables and links were built in MySQL Workbench , and worked with this all through PDO .
Six months later, we decided to master the new technology and rewrite the entire DAL to noSQL. We chose MongoDB because of its relative prevalence and simplicity. The book “The Little MongoDB book”, in spite of its modest 30 pages, gives a good starting point.
Hosted by Amazon . With all the convenience, the Amazon has a significant disadvantage - the price. With almost zero traffic, it turns out about $ 200 per year for a single micro computing server ec2 and one s3 storage.

Beta test
Uploading the game to testers on phones via Xcode is inconvenient, and most importantly, you cannot do it remotely. Here I got the TestFlight service, which allows you to install the game remotely even during development.
In addition to finding bugs, you had to get feedback on the gameplay and interface. We made a list of questions and did a survey in SurveyMonkey . A simple system for polls, free and with easy access to the results.
At the same time, we sent the game to the appstore for review, in order not to waste time, as they often ask to redo something. What was our surprise when, after 10 days, we received appruv from the first time.

So let's get started.

1. Economy, stats of things, balancing battle and everything that is included in the concept of "gameplay"


In games of this type, the gameplay just takes a lot of time and you need to start doing it as soon as possible. The most important thing is to do everything very systemically. At first we did something by eye, for example, the parameters of the weapon, but quickly realized the scale of the problem. Everything ended with huge Excel tables that automatically calculate everything. Nothing more convenient than Excel, for these purposes, we, by the way, have not found.

There was an idea to find a game designer on the side, but one smart person said: “Whether you like it or not, you will have to grow a game design yourself.” Looking back, we understand what he meant.

There is an excellent article for beginners, puts his head in order and explains how this all is done according to the mind (in English). You can also read on the Gamasutra article by Ramina Shakridze, gives a lot in terms of understanding the gameplay. Several translations of his articles are on Habré.

2. Achievements


It took a lot of time to come up with a normal system of achievements, the most, in my opinion, sensible article (in English).

Do not underestimate the importance of the achievements, this is a whole science and a lot of good games were ruined by the ill-conceived actions of game-devs. The same task can turn into a quest with a reward, and in the achievement without. It is important to understand the difference in the psychology of perception and to make the implementation as positive as possible.

3. Player ratings


At first they tried to invent something of their own, but then it became clear that we were reinventing the wheel. Here came the article "How to sort the content based on user ratings." After reading, he happily informed the team that now "the rating is calculated on the lower boundary of the Wilson confidence interval for the Bernoulli parameter."

4. Analytics


For analytics, Flurry and Google Analytics were used. Each system has its pros and cons, only about this one can write a whole article. In short, Flurry makes it possible to make up to 300 types of events, with a bunch of parameters in each. And Google allows you to make an infinite number of event types, but with only one parameter. By the way, from conversations with publishers we learned that they, too, usually use more than one analytics system - both at the same time, for reinsurance, and separately, in those cases when one is more convenient than the other.

We measured, firstly, our own metrics, for example, from what time the players pass each monster. And, secondly, the generally accepted indicators asked by publishers are MAU, DAU, ARPU, ARPPU, ARPDAU, K-factor, 2/7/28 day retention.

5. Training


One of the main complaints of publishers was the lack of training. From personal experience: the best tutorials are interactive. Here the main thing is to find a middle ground so that there are not too many of them, but at the same time the main functionality is explained. With sufficient persistence, you can force the tutorial to behave differently than planned, which can lead to a hang. To track problem spots, we added analytics events to the beginning and end of each tutorial.

6. Localization


Initially, we included languages ​​with the maximum audience coverage - Spanish, French, Italian, Germans and, of course, Russian. The translation was needed quality, so ordering cheap and cheerful, for example, at fiverr we did not decide, instead turned to Globaloc.de, specializing in the translation of games. Were very pleased, although the price tag bites a little, about 10 cents per word.

7. Bot


Monsters in the game play match-3, trying to kill a player. To write the bot, we used the Minimax algorithm.

They wrote iteratively, each time applying different strategies and comparing. Even made bets, which version of the bot will win. At some point, the monsters began to play and the monsters began to choose such a move in order to leave the enemy the worst field. It turned out that it is impossible to write too clever a bot, it begins to seem that he is still a rogue, and he knows in advance which stones will fall, although this is not so. To make a complex monster interesting, it is better to add stats to it, and leave an algorithm comparable to what a living person can calculate.

8. Content Management System


A very useful feature is to make simple updates without having to perezalivat client on the AppStore. To do this, they wrote a CMS - every time the client connects it is checked with the server, and if necessary, it downloads the necessary data. Now you can add weapons and entire locations to the game without reloading the client.
Although all transmission problems and broken packets should lie on the shoulders of TCP, we had a situation where half of the loaded pictures appeared on the client. We added a manual check, after downloading the client calculates md5 of the received data, compares and, if necessary, downloads.

9. Size of application


In the AppStore there is a limit on the size of applications that can be downloaded via 3G or EDGE. This size is an important criterion and can significantly affect the number of installations. Our game with all the graphics went beyond the allowed limit, so in order to meet the cherished 50 MB, we had to make the system load background graphics (at the time of development, the resolution was 50 MB, now we have raised to 100). In the initial assembly, only 2 locations are stitched, the rest of the monsters and locations are downloaded in the background as they progress through the CMS.

10. Feedback and Help


The ability to write to developers directly from the game is very important. If a player wants to give advice or complain about a bug, he should be able to do it right from the game. Otherwise, he will write it in a review on appstore, and the number of stars in the recall will most likely be less than on expensive cognac. And the better your Help is, the less players will send you questions. For these purposes, we have built the uservoice.com SDK. They provide an opportunity to dynamically change Help and, if desired, make at least a whole encyclopedia. In the same system, you can send and feedback to developers.

11. Game Icon


On the one hand, it was possible to give the experienced artist, specializing in icons and hanging in tops on sites like dribbble.com. Contacted, costs about $ 1500. As a result, they turned to our artist and spent 10 times less money, and were very pleased with the result.

12. Graphics
All graphics were ordered by outsourcing. Initially, the idea was to make the game only for the iPhone, but it turned out that about half of the profits of games came from the iPad, which changed our thought. Conclusion - it is better to order all graphics in high resolution right away, the price difference is small.

All graphics cost about $ 20,000 - more than 40 full-size characters and monsters, dozens of locations, things, games, etc.

During the development, about 10 artists changed, in the end they ended up with 3 permanent, each of which was responsible for their own front works.

Order the schedule of such a turnkey project at the studio will cost from $ 50,000. Conclusion: to have an artist in a team is very cool.

13. Music


We ordered from the composer a set of sounds for all the actions in the game and two main musical themes - in battle and out of battle. Very interesting experience. It is difficult to explain in the technical specifications how this button should “clap”, and for describing music in the epithet “heroic” is not enough.

The voice acting, in comparison with the graphics, was quite inexpensive, about $ 500.

14. Publishers


From the very beginning, we decided that we will be released with the help of a publisher. Having made a trailer and presentation, we sent them out to the 20 largest publishers. One third answered, among them were Chillingo, BigFish and Alawar. From what was offered to us, the share of the publisher is 35-50% of the net profit, after deducting Apple's commission and the direct costs of buying traffic (if the players are not from other games of the publisher). Most requested a working demo on the TestFlight. Some wrote detailed reports about our shortcomings, so writing to publishers already at the design stage is in any case useful.

None of the good publishers did not immediately agree, so we decided to make Soft Launch ourselves - launching in small markets in order to hone the gameplay and monetization. Small English-speaking markets were needed, so Australia, N. Zelandia and Malaysia were chosen.

We saw 2 main ways to work with publishers:
1. Contact us at the development stage. Publishers can help a lot with gameplay and monetization. Plus the motivation that in this world there is someone else who is interested in the success of the game.
2. Completely complete the game, make Soft Launch, collect metrics and hone the game. And with the numbers to turn to the publishers. In the case of good performance you can get more favorable conditions. The difficulty lies in the fact that you need to gain a critical mass of players.

That seems to be all, if something especially interested you, write in the comments, I’m happy to tell you in more detail.

And finally, a little about us
We are a team of 4 people, and this is our first game. The separation was:
Design - 1 creative
Client - 1 programmer
Server - 1.5 gouging
Gameplay - 0.5 people

Having collected in a heap the first letters of the last names, we began to be called Ekza. The most important thing is of course to draw a logo to the company, for which we spent the whole day at one time.

The first sketch of the logo and its final version:



We worked almost all the weekend for two years, plus a couple of hours every day after work. That is, in fact, this is about a year of 5 days work of 4 people.

In conclusion, a couple more examples of initial sketches and final results.

The battle


Backpack

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


All Articles