The article "in simple language" or "on the 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 we will broadcast.
To whom it is interesting - well under the cat.
Difficult - 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 in the air of doing something with the popular brand “Masha and the Bear” was in the air, besides selling all the series in the same application. 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. There were, of course, interesting specimens, both domestic and western, but to take and say
“Wow!” Just like that
- no . Individual “features” - yes, but the overall impression is not very. The idea was strengthened, and there was a rationale to continue.
')
Step 2. Let's play !!!
I bought several “physical” puzzles (real, in “Okay”) and assembled a team (programmer and designer) in the conference room for a “meeting”.
It was epic. )) Particularly pleased with the face of the employee from the caliper after his question: "What are you doing here?" And our answer: "We work" ...
In general, we played enough and understood the puzzle mechanics firsthand, we decided to make them cool for the iPad - it’s realistic and I started writing TK, drawing diagrams and we ... got distracted by 3 months for other projects - it happens.
Step 3. TZ (technical task)
For obvious reasons, it is not realistic to throw off all the
TZ , but I will still give some excerpts.
1. Make a schematic diagram of the application, paint the transitions on all screens (believe me, this scheme will help everyone in the end, checked).
I had something like this -
scheme2. Paint all the screens and sketch out layouts in any editor:
An example of early layouts and what finally came out (after all, design is a great force):
1.
Main screen2.
Shop3.
Information screen4.
Menus5.
Start the game6.
Playing field3. To paint the scheme: our scheme was simple - to create “slicing” templates, upload images from the web and programmatically “cut” them.
Quickly. Handsomely. Practical But in practice - a long, time-consuming, a lot of numbers (coordinates, coordinates, coordinates) ...
I will not ship the details, not in them salt. As usual - prescribed behavior, features, etc. We discussed it with programmers, designers, and directors — we assembled an “alpha” and tested it (we have a wonderful tester - the little son of the general director).
Step 4. Simple-complex
About simple:In general, the features that we crammed in there and, accordingly, we believe that we invented it (some of them turned out so natural that somehow they are not features in general). But what's 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 loser” - in the ass hardcore (and pulling puzzles there too).
2. Transparency . Puzzles, on the field, with which we are not interacting now - transparent (almost). Although there is a minus here - after the tests revealed the percentage of people who like to collect parts. Well, here you can not please everyone.
3. Auto pull-up. Well, it is generally natural. But many of the games I tested were monstrous in this regard - I want to assemble a puzzle, and not fall into pixels. Because - auto pull-up. In the children's mode - super auto pulling up.
4. Backlight. Under the motto -
"Give the child an ipad and forget it .
" Each next step for a comfortable game is highlighted.
These and other features can be viewed in the game itself - it is
hereDifficulties: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. Sizes - each puzzle - for all sizes ... .uhhh ...
3. Monetization - in the end they decided - it is better to sell everything in a pack with a huge discount. Buying separately for 50 series in the future is still not an option. (There would be opinions to listen habrozhiteli.
4. Pixels - step to the left, step to the right - a
hole! !!!
5. Development - and here there are just not very many difficulties - uploading your photos, other pictures (Luntik and others) and so on.
6. Brakes - still in some moments I would like to be quicker ...
And as a conclusion , briefly: making games is fun. Let's see how profitable it is, but what is cool is a fact. I liked it, we will continue.
The first programming experience under iOS is “code Masha” (Sergey Kraevsky)
Puzzles based on the animated cartoon Masha and the Bear, which is known to all progressively-minded humanity, became my first experience of writing iOS apps. You can, of course, paint in colors about the unforgettable first impressions of working with MacOS, Xcode, and other steps towards becoming an iOS developer. But it is better to focus on the key points.
The first thing you had to face (except for the terrible hotkeys in the IDE) is the
Objective-C syntax. He has his drawbacks, but it is quite possible to get used to them and to write applications with due share of comfort. If you have experience programming in C / C ++, then you can start writing almost the first day of learning a language. The standard library is quite good, most of the basic things needed are present in it, plus, you can use code written in C and C ++ - for example, we use the Chipmunk physics engine, you can guess where in the application;). The main drawbacks, in my opinion, are the verbosity of the language (even 100 characters per line are sometimes not enough); containers in which primitive types cannot be stored; no operator overload. Nevertheless, I repeat, it is quite possible to write on it.
From the Apple frameworks, I liked
CoreData - for working with data sets, with which it is very convenient to track changes in data models. This, plus Key-Value Observing facilitates communication and reduces the number of links between parts of the program.
Language - language, but you need to write applications. In addition to the standard difficulties in the transition to the new platform, which are solved by reading the documentation and stackoverflow, there were a number of surprises and problems that are somewhat more trivial.
The first and most noticeable - low speed paging on the main screen of the application. The speed on both the first and second iPad is no longer so impressive that it was, 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, the image cache and their asynchronous decoding, the speed was increased to an acceptable one.
It also suddenly turned out that there is no standard implementation of the
VK API (yeah, I'm lazy), and there are only a couple of articles on this subject. I had to make a small library myself, good, there were no special difficulties.
With unaccustomed behavior, I cursed for a long time on a horizontally scrolling table in which cells had to be elegantly turned π / 2.
For internal illumination of puzzle cells, I wanted to use
CoreImage , but, as it turned out, the speed of his work, hmm ... well, unsatisfactory. According to the results of a brief search, there was just a smart image work library: GPUImage (https://github.com/BradLarson/GPUImage), which has a huge number of processing functions, and very fast work.
Separately, it is worth mentioning about the support of outdated iOS versions and the first iPad. Here, I also had a couple of pitfalls - in particular, the blocking animation of
UIView ; or that the
viewWillAppear UIViewController method is
not called . In 4th iOS, I also had to disable the GPUImage library that I had praised - when working with its methods, the application simply crashed. And on the first iPad, it was very convenient to test situations with receiving warnings of low memory
=)How I “cut” Masha ... (Natalia Markina)
How did “Puzzles: Masha and the Bear” start? It was once we have 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 got the idea to combine puzzles and Masha and make a convenient children's application.
And it started: they pumped all possible applications from the App Store, played, evaluated, noted pros and cons in them, and thought how to create their perfect application. We bought real puzzle sets, we spent a few hours in the conference
room ,
studying like a simple game .
In the end, agreed on the opinion to make the application as close as possible to reality:
to make volumetric Circuits, sets of puzzles "design" like real boxes, place them on the shelves . In the case of such a variety of content, this option seemed the most convenient (perhaps to some extent, this will teach the kids that everything should be “in order”). In the game mode, all Circuits are neatly laid out in a box, in such puzzles no Circuits will be lost (we really really wanted to make such an option, for even greater realism).
In general, when you invent something for children, you think how to catch and hold
the child’s attention , you turn into it unwittingly. “You can't keep children waiting for a long time,” “some children still can't read,” the project manager instructed us. Therefore,
most buttons have a graphical representation . In order for puzzles to be able to play at all by the kids, we came up with a children's button that tells you where to put the necessary parts, though now adults also don't want to give it up.
So with love and attention to the children, we thought about each button.
On the technical side, difficulties arose only with the
"cutting" of parts templates and their positioning. There we had to work in close cooperation with the programmer, checked that the parts properly “docked”, “cut”, “pulled” the parts of the pixels by pixel, and if not for the programmer’s patience, it’s not known what our puzzles would be.
Even during this project, I completely reviewed cartoons, choosing screenshots, and
looked at Masha every day, drawing the interface, and of course she was fed up with me, but when you know with what enthusiasm the children react to everything connected with it, you can sufferLaunch "Masha" in space (Svetlana Kochurina)
This is our first game, so we approached the coverage of the game very responsibly. Acquainted with the different stories of developers about how they promoted their games ... what “went” and what did not “went.” Plus there was already a good experience in promoting iOS applications. In general, I will 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 did not.
Training
1. Viewed all possible puzzle games in the App Store. Made a SWOT analysis.
2. I wrote out the main features of our application.
3. Chose the main sites for publication:
Popular iOS theme 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 the publication of 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;
Sites aimed at iOS games - posting an article / banner;
- ipadmania.org
- ipadzona.ru
- games-tv.ru
Sites dedicated to children's apps and games on iOS - posting an article / banner;
- geekdad.ru
- babyipad.ru
- kidsreview.ru
AdMob - advertising in our applications (Home Ad), and in others;
Cross-references in our applications to the game;
Social networks - Vkontakte, Facebook, Twitter - again, both on our pages, and advertising in other groups on iOS, “Masha and the Bear”, as well as in groups dedicated to raising children;
Habr - placing a press release on our company blog.
Implementation
Now work on progress in the process, according to the results of the month - I will write a separate article where I will tell you about the
details of Rus AppStore (perhaps even with numbers)
UP:
Per day in the App Store - the 7th place in the TOP-free iPad applications - so the system works, I have 100 pounds of paper.
Thanks to all!!!