[Dev Story] Puzzles: Masha and the Bear game for iPad

An article “in plain language” or “on fingers” about how we created our first game - “Puzzles: Masha and the Bear” . The story of the project manager, programmer, designer and advertising manager. Actually in this sequence, and we will broadcast.
Who cares - Wellcome under cat.

Challenging is a simple game. (Maxim Kochurin)

The idea to make an adequate puzzle for children was born somehow by itself. Well, not that it would be straightforward spontaneously - but the idea soared in the air to do something with the popular brand "Masha and the Bear" besides selling all the series in the application of the same name. My choice fell on puzzles, as the most easily implemented game mechanics (I thought so then).

Step 1. Market Research

On the market (read in the AppStore) - complete darkness in this direction. What I found - God forbid. I came across, of course, interesting specimens - both domestic and western, but to take it and say “Wow!” - no . Separate "features" - yes, but the overall impression is not very. The idea was strengthened, and justification appeared to continue.

Step 2. Let's play !!!

I bought several “physical” puzzles (real ones, in “Okay”) and assembled a team (programmer and designer) in the conference room for a “meeting”. It was epic. )) The employee’s face from the support was especially pleased after his question: “What are you doing here?” and our answer: “We work” ...
In general, after playing enough and understanding the mechanics of puzzles firsthand, we decided that making them cool for the iPad is quite realistic and I started to write TK, draw diagrams and we ... got distracted by 3 months for others projects - it happens.

Step 3. TK (terms of reference)

For obvious reasons, throwing off all TK does not seem real, but I will give some excerpts anyway.
1. Make a schematic diagram of the application, paint transitions across all screens (believe me, such a scheme will help everyone in the end, it’s checked).
It was something like this for me - scheme

2. Paint all the screens and sketch layouts in any editor:
An example of early layouts and what came out (after all, design is a great power):
1. Main screen
2. Shop
3. Screen Information
4. Menus
5. Start of the game
6. Game field

3. To paint the scheme: our scheme was simple - create “slicing” templates, load pictures from the web and “cut” them programmatically. Quickly. Handsomely. Practical. But in practice - a long, time-consuming, a lot of numbers (coordinates, coordinates, coordinates) ...
I will not load details, they are not salt. As usual - prescribed behavior, features, etc. We discussed it with programmers, designers, and directors - we collected alpha and tested it (we have a wonderful tester - the little son of the general director).

Step 4. Simple-complex

About the simple:
In general, the features that we pushed there and, accordingly, we think we came up with (some of them turned out to be so natural that somehow they were not features in general). But what has been done is done :)
1. Children's mode . The main thing in the children's game for me was "not to make the child feel like a failure" - in the ass hardcore (there is also the turning of puzzles).
2. Transparency . Puzzles on the field with which we are not currently interacting are transparent (almost). Although there is a minus here - after the tests revealed the percentage of people who like to collect in parts. Well, here you will not please everyone.
3. Auto pull up.Well, that’s generally natural. But many of the games I tested were monstrous in this regard - I want to assemble a puzzle, and not get into pixels. Because - auto pulling up. In child mode - super auto pull-up.
4. Backlight. Under the motto - “Give the child an iPad and forget it . Each next step for a comfortable game is highlighted.

You can see these and other features in the game itself - it’s here

1. Lawyers - each screenshot is attached to the contract in the form of a color picture. Insanity, but without this, as I understand it, in the world of legality - nowhere.
2. Dimensions - each puzzle - for all sizes .... .uhhh ...
3. Monetization– в итоге решили – лучше продавать все паком с огромной скидкой. Покупать отдельно на 50 серий в будущем – все равно не вариант. (Тут бы мнения послушать хаброжителей.
4. Пиксели – шаг влево, шаг вправо – дыра!!!!
5. Развитие – а вот тут как раз сложностей не очень много – загрузка своих фото, другие картинки (Лунтик и другие) и так далее.
6. Тормоза – до сих пор в некоторых моментах хотелось бы шустрее…

И как вывод, кратко: делать игры – прикольно.Посмотрим, насколько прибыльно, но что это прикольно – это факт. Мне понравилось, будем продолжать.

Первый опыт программирования под iOS — «закодим Машу» (Сергей Краевский)

Puzzles based on the well-known progressively-thinking humanity cartoon "Masha and the Bear" became my first experience in writing applications for iOS. You can, of course, paint in paints about the unforgettable first impressions of working with Makos, Xcode and other steps towards becoming an iOS developer. But it’s better to focus on key points.

The first thing I had to deal with (besides the awful hotkeys in the IDE) was the Objective-C syntax. It has its drawbacks, but it is quite possible to get used to them and write applications with a fair amount of comfort. If you have experience programming in C / C ++, then you can start writing almost on the first day of learning the language. The standard library is quite good, most of the basic necessary things are present in it, plus, you can use code written in C and C ++ - for example, we use the physical Chipmunk engine, you can guess where the application is;). The main disadvantages, in my opinion, are the verbosity of the language (sometimes even 100 characters per line are not enough); containers in which primitive types cannot be stored; lack of operator overload. Nevertheless, I repeat, it is quite possible to write on it.

From Apple frameworks I liked CoreData- for working with data sets, with the help of which it is very convenient to track changes in data models. This, plus Key-Value Observing facilitates interaction and reduces the number of connections between parts of the program.

Language is a language, but applications need to be written. In addition to the standard difficulties in moving to a new platform, which are solved by reading the documentation and stackoverflow, there were a number of surprises and problems, somewhat more non-trivial.

The first and most noticeable is the low paging speed on the main application screen. The speed on both the first and second iPad is not so impressive, and on the third iPad it was generally below all criticism. The problem lay in decoding a large number of images, including those that form the user interface. As a result, with the help of UINib caching, image cache and their asynchronous decoding, the speed was increased to an acceptable one.

It suddenly turned out that there is no standard implementation of VK API (yeah, I'm lazy), and there are only a couple of articles on this topic. I had to make a small library myself, since no special difficulties were encountered.
Out of habit, he swore at a horizontally scrolling table for a long time, in which the cells had to be elegantly rotated by π / 2.

For the internal illumination of the puzzle cells, I wanted to use CoreImage , but, as it turned out, the speed of his work, hmm ... well, unsatisfactory. Based on the results of a short search, there was simply a gorgeous library of working with images: GPUImage (https://github.com/BradLarson/GPUImage), which has a huge number of processing functions, and are very fast.

Separately, it should be said about the support of obsolete versions of iOS and the first iPad. Here, for me, there were also a couple of pitfalls - in particular, the blocking animation of the UIView ; or that the UIViewController's viewWillAppear method is not called. In 4th iOS, I also had to disable the GPUImage library that I praised - when working with its methods, the application simply crashed. And on the first iPad, it turned out to be very convenient to test situations with warnings about out of memory =)

How I "cut" Masha ... (Natalia Markina)

How did “Puzzles: Masha and the Bear” begin? We once had an application about Michael Jackson with a built-in mini-game, puzzles, and the super-popular application Masha and the Bear. And suddenly, our project manager came up with the idea to combine puzzles and Masha and make a convenient children's application.

And it started: pumped up all the possible applications from the App Store, played, evaluated, noted the pros and cons in them, and thought about how to create your ideal application. We bought real puzzle sets, we spent several hours in the conference room , studying a seemingly simple game .

As a result, it was agreed to make the application as close as possible to reality: make volumetric details, puzzle sets “design” like real boxes, place them on shelves. In the case of such diverse content, this option seemed the most convenient (perhaps to some extent this will teach the kids that everything should be “on the shelves”). In game mode, all the details are neatly arranged in a box, in such puzzles no detail will be lost (we really really wanted to make such an option, for even more realism).

In general, when you come up with something for children, you think about how to catch and hold the attention of a child , you involuntarily turn into it. “You can’t make the children wait long,” “some children still cannot read,” the project manager taught us. Therefore, most buttons have a graphical representation. So that absolutely kids could play puzzles, we came up with a children's button that tells you where to put the necessary detail, although now adults also don’t want to refuse it.

That's how we thought with love and attention to the children over each button.
From the technical point of view, difficulties arose only with the “cutting” of templates of parts and their positioning. Here I had to work closely with the programmer, checking that the parts “docked” properly, “cut”, “pulled” the parts in pixels, and if it weren’t for the programmer’s patience, it’s not known what our puzzles would be.

Even during this project, I completely revised the cartoons, choosing screenshots, andI looked at Masha every day, drawing an interface, and of course she was fed up with me, but when you know how enthusiastic the children react to everything connected with her, you can tolerate

Launch “Masha” into space (Svetlana Kochurina)

This is our first game, so we approached the coverage of the game very responsibly. We got acquainted with different stories of developers about how they promoted their games ... what “entered” and what did not “entered”. Plus there was already a good experience in promoting iOS applications. In general, I’ll tell you what campaign we planned to launch the game "Puzzles: Masha and the Bear." If it is interesting, I will write later what came out of it and what not.


1. I looked through all the possible puzzle games in the App Store. Compiled a SWOT analysis.
2. I wrote down the main "features" of our application.
3. I chose the main sites for publication:
Popular iOS - related sites - posting an article / banner;
  • ukrainianiphone.com
  • planetiphone.ru
  • appleinsider.ru
  • ipod-touch-max.ru
  • iphoneapps.ru
  • ipaded.ru
  • procontent.ru
  • ipadstory.ru
  • 4ipad.ru
  • Apps4all

Sites that specialize in publishing press releases;
  • app100.ru
  • pressuha.ru
  • press-release.biz.ua
  • livebusiness.ru
  • press-release.com.ua
  • forpress.ru

You Tube - shooting a promotional video and its distribution;
Parent forums - posting an article / banner;
  • mosmama.ru
  • crazymama.ru

Sites aimed at iOS games - posting an article / banner;
  • ipadmania.org
  • ipadzona.ru
  • games-tv.ru

Sites dedicated to children's applications and games on iOS - posting an article / banner;
  • geekdad.ru
  • babyipad.ru
  • kidsreview.ru

AdMob - advertising both in our applications (Home Ad), and in others;
Cross-links in our applications to the game;
Social networks - Vkontakte, Facebook, Twitter - again, both on our pages, and ads in other groups on iOS, "Masha and the Bear", as well as in groups dedicated to parenting;
Habr - placing a press release on our company blog.


Now the work is progressing in the process, according to the results of the month - I’ll write a separate article where I’ll tell you about the subtleties of Rus AppStore (maybe even with numbers)

UP: For the day in the App Store - 7th place in TOP-free iPad applications - so the system works, with me the article is 100 pounds.

Thanks to all!!!

Also popular now: