📜 ⬆️ ⬇️

The history of "Titans"



Hello everyone, my name is Ivan Grigoriev, I work for What Games. On July 9, in Odnoklassniki, in the soft start mode, our new game, Titans, was released. During the development of such a large and complex project, fresh information “from the fields” is usually very useful. Unfortunately, due to the general closeness of our industry, the exchange of positive experiences between developers is now extremely difficult. With a series of our posts, we intend to break the established tradition and tell the most honest and honest about the development of a modern social game in real time.

Characters

Pasha - AS3 programmer (core, battle, map).
Zhenya - AS3 programmer (base, interface).
Nikita is a backend developer.
Leonid - game designer, project manager.
Daniel is an art director.
Vadim - 2D-artist (interface, effects).
Vitaly - 2D-artist (design and layout of windows, effects).
Igor is a 2D artist (sketches, icons).
Glory - 3D-modeler.
Dima - creative director, staff specialist on the slope.
Vanya - producer.

Introduction. January 2014

The mountain of concepts on the table was already beginning to frighten. Elves, cars, beetles, impregnable military bases, girls in tempting poses, but what just was not there. The guys thoughtfully bent over the table. After two consecutive failed launches (“Brotherhood of Fire” and “Jungle Generals” in 2013), we could no longer be mistaken. And yet it was completely incomprehensible how to choose a style from the mountain of images for the next game. All again plunged in thought. After some time, Dima, evidently catching a tempting thought in the depths of his mind, suddenly said:
')
- Do you know what's really cool? Huge humanoid fighting robots!

This idea was so simple that the six guys gathered around the table did not immediately react to it. In the cinema, a beautiful and realistic picture, real-time battles, a “heated” setting are all that is needed to launch a successful product. In the courtyard was January 2014. For four months we decided to make the coolest social midcore strategy with stunning graphics and realistic battles of Combat Robots. Being a month and a half late, we still achieved our goal.





Search for style. The first sketches.

Definition of basic rules. February 2014

Having passed by this time the fire, water and copper pipes of social game development, we knew that we could not fight simultaneously on all fronts. In the coming months, it was necessary to develop interesting rules for the main game cycle. The main problem was that we really wanted the battles of the Great Combat Robots to take place in real time (and not in step-by-step mode, which would be much easier technically). None of us has ever had to solve this problem. It was clear that the available forces (one and a half game designer) were not enough to come up with the rules from scratch. On the other hand, there was nowhere to go. Still, it was impossible to launch a social game without a strong balance in 2014. Therefore, we decided to go to the market in search of an example of successful implementation of real-time combat.

Having searched first in the appstore's cash top (Clash of Clans, card battles and poker), looking past the top of VKontakte (“Rules of War” in five variations, boring), we finally reached Facebook. There was plenty to choose from, but in the end our attention was attracted by the games of Kixeye. In them, the fights were beautiful and not very difficult to master, however, they left room for the skill to be used.

We defined the main game cycle as follows:
  • Collecting resources on the base.
  • Gathering detachment, access to the map.
  • Attack on a squad controlled by a computer or on the base of another player or execution of a campaign task
  • Real-time combat with direct troop control.
  • The return of the detachment to the base and repair.
  • Run research on earned money.





Vega Conflict and sketches for our battle.

The choice of visual style. March 2014

So, our game designer Leonid started creating a detailed dizdok. Meanwhile, the artists, having received a more rigid framework (which, as we know, greatly enhance creativity), began to work out possible options for the appearance of the game. For the buildings on the base, the style of the latest games of the C & C series was the most suitable, realistic and bright at the same time. With robots, oddly enough, it was harder. It turned out that a good modern robot is not so easy to draw. Here the skills of Igor, our 2D artist, were very useful to us. Before getting into game development, he worked on drawings of ships at some secret factory, and in his spare time was engaged in painting. Great combination! Taking the style of the latest technology and the latest games of the MechWarrior series, he helped us determine the appearance of the Fighting Robot in the game.

By this time, artists and game designers gained a decent speed, moving in slightly different directions. And after a while the inevitable happened - their interests collided. “Look, what a cool pictures! I really want to manage such a base! ”, Said art director Daniel. "With such a camera, we just can not make normal attacks of players on each other!", - answered Leonid. After heated debates, physicists this time still overpowered the lyricists, and the player’s base was very atmospheric, but terribly inconvenient, turned into a more standard, but flexible one. The issue of style has been resolved.









Early sketches for robots and player base.

“And what does this button do, remind?” April 2014

Our game was pretty hardcore (by the standards of social games), largely due to the large number of different entities. Research, production of robots, selection and improvement of various components, squads, base defense - all this had to be explained to the players through a visual interface. According to our calculations, for a month and a half, we had to design, draw and insert into the game an interface for the three main game screens, 14 windows, as well as pop-up menus and tooltips of all stripes.

The interface of "Vega", although formally and performed all the basic tasks, was at the same time really bad. Confused, incomprehensible, ugly, inconvenient - all design rules that can be found on the Internet are successfully ignored in it. However, having paused a few days on different buttons, we decided not to wake famously while it was quiet. Those who owe their duty to improve the interface know that this process most often resembles a “fairy tale with details” - one change always pulls five others along. Worse, sometimes a vile problem cannot be solved without fixing the jamb in game design. Therefore, we have developed a plan:
  1. Select the overall style of the interface.
  2. Design all the necessary windows in an acceptable form.
  3. Collect from them a working prototype, start the game.
  4. In the course of development, gradually bring the window into a human form.







An example of changing one of the windows. The first working version, the current version, the thumbnail of the next iteration.

Clouds, technology and platform selection. May 2014

The release date was rapidly approaching, and it was necessary to determine the infrastructure. We had the following usage scenario: there is a game client that periodically (not very often) sends requests to the server to change its state. In addition, it is necessary to collect a lot of data about the behavior (the more, the better) and then somehow analyze them. And we also knew that the load would be intermittent. It will change a lot during the day, and we also expect sharp jumps during marketing activities (buying advertising or aboard fichering on the platform). By that time, our colleagues already had a positive experience with the Amazon AWS cloud, so we decided to move our technology stack there. What seemed to be some incredible technology from the future, in fact turned out to be an incredible technology from the present. Here's what we got in the end:
  • Customer. Flash application;
  • Protocol. HTTP, GET requests;
  • Balancer. Amazon ELB + script to change the number of instances when the load changes;
  • Server C3.2xlarge + nginx + PHP instances;
  • Profile Database. Amazon DynamoDB + script to change bandwidth when load changes;
  • Caching server R3.large + MongoDB + Redis instance;
  • Statistics. MySQL (as an Amazon RDS service), followed by a move to Amazon Redshift;
  • Statics. Webzilla, followed by moving to CDN Highwinds.

In the end, you need to pay a little more for this design than for the same static servers in Selectle, but for this money we get much higher reliability and flexibility.

In addition, it was time to decide on the launch platform. Traditionally, we all started the games on VKontakte first, but during a trip to DevGamm in May, we talked to the Odnoklassniki game department. Arthur and Valya looked at our prototype and said: “Guys, great game! We have an adult audience, the average check is more, and even the game opens to the full width of the page. Come to us! In addition, they promised to help with the production after launch. To prove her words, Valya after some time sent an internal anonymous benchmark with indicators of successful games of our segment. The proposal was rather ambiguous. On the one hand, the usual design and convenience of contact. On the other hand, there are real people in Odnoklassniki on the other end of the line (who, it seems, really wanted the game to be successful) and potentially higher earnings, but a completely hellish design of the entire site. After weighing all the pros and cons, we decided that we are men and can endure a trash design for a good check. Therefore, they blew dust from their accounts and decided to start there first.

In the meantime, the development has reached the final stretch - Pasha and Zhenya, our client programmers, collected the build in a bunch. Leonid adjusted the balance by adjusting the complexity of the accumulation of resources and the speed at which users moved through the game. It seemed that we were ready to launch.



Our Battle Robot instead of backend diagrams.

Release June 2014

On June 1, the day of the proposed release, we tried to look at the game with an unbiased look. After four months of hard work, it was not easy. However, during the discussion we established that none of us really played in it, and that we cannot launch the game in its current form. All systems were in place, but a large number of small inconsistencies and roughness prevented how to immerse in the gameplay. The budget and the timing of the project already cracked at the seams, but still the release had to be postponed.

It's time to cut unfinished functions. Having thought it over, they decided first of all to donate a card inhabited by real players. She had a lot of problems at all levels - from game design to load backend. On the other hand, the direct benefit of the gameplay from this feature was doubtful. We needed something simple, functional, and as quickly as possible. We decided that we will make a system that will pick up interesting rivals on its own, depending on the player’s leveling level and arrange them around the player on the map.

Having barricaded myself in the office for another month, we began to aggressively finish the game.





Sector map - before and after changes.

The second release, preliminary results. July 2014

Today is July 17, and our game has been in the soft start mode for two weeks already. Fortunately, when publishing the application, we managed to quickly wade through the thickets of “application questionnaires”, “applications for placing an application”, “contract downloads” and get to the glade, where a real lively and quite responsive moderator Oleg was waiting. Seeing that our intentions were the most serious, he rather quickly pressed his lever, so the administrative part took only one day.

Here is a chronology of further events:
  • July 2 Internal testing. Found a bunch of bugs on the client, fix it.
  • July 11th. We bought 1000 installs of 1.8 rubles each (men 25+, banner in “Recommended”). After 200 installations, the game stops working, we fix.
  • July, 12. We bought another 1500. We received the first payments. Found a bunch of bugs in the server log, fix it.
  • July 13. We bought another 1000. We test different banners, the Great Combat Robots work best.
  • July 15. Summed up the first results. 1000 people playing. Return on the second day - 35%. Beat off advertising costs.
  • July 16. Test run recognized as successful.

In the near future we have to recycle a huge collection of accumulated ideas and find out which ones fall into the category of “pants for the birds” and which ones can really make the game better. In addition, before launching, we definitely need to integrate the basic virality mechanisms into the game (with the setting of which, I hope, the Odnoklassniki game department will help us). Without them, we will not have organic traffic (we now have 20 installations per day).

The performance of the game was quite decent, so we planned to launch a full-scale launch (with organic traffic from the list of new games and “adult” marketing budgets) in mid-August.

This ends the first series. In a couple of weeks I will tell you what happened next.





A couple of screenshots from the final game.

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


All Articles