
Many people know the feeling when they feel the energy from
the very idea that will allow them to move mountains and develop a complete application, and not to replenish the cemetery of workover works. I kindly envy those people who know how to soberly count their strength, and not tie them into the quagmire under the oppression of a routine. I had enough strength not to start something new for myself ... But of course, the development of large and long hobby projects “because to quit” pity pulls juices, but does not bring joy. This publication is about how I deliberately gave up the slack in order to lighten my mood by developing a simple game in three days. And he made it a week, spending ten muffins, but getting a lot of experience and good mood.
Absolutely by chance, I noticed a publication in which my opinion about the calculation of my forces was disclosed in more detail and clearly. I recommend those who missed to get acquainted with the translation of the
PatientZero article "
You never finish your game ."
Outset
Reading one entertainment portal, I came across an
interesting comic where the plot of "The
Perfect Game for Telltale Game" was described. And not that it was somehow related to my experience, but the idea hooked me. I set it aside for later. Then came the next day, when I realized that the idea did not lag behind me. However, something was missing. After studying the comments on the publication, I realized what ...
(added the answer "sarcasm"; a reference to the game Fallout 4)
I decided to pack up and make a game in a few days.
')
Start of development
But my decision was not final; I could easily be blown away in the middle and so short of the way. After deliberation, a way was found to test my determination. Development was started from the menu layout ... Not that I didn’t know how or didn’t like to develop GUIs ... But who am I kidding? I do not like to typeset GUI in Unity3D: of course, with the release of the new version, the situation has improved, but the system is still far from ideal.
With the layout of the menu came a funny story. For a long time, my neighbor asked me to show how I am developing something from scratch, and I promised to call. In general, the boy lasted only three hours of the layout of the main menu ...
Clarification of the plot
In order to avoid misunderstanding, I will clarify the plot and the “gameplay”. This game can not be passed or won. The essence comes down to the fact that the hero is greeted by a girl (literally with a couple of phrases) and asks the question "How was your day?". Any reaction of the player leads to a quarrel and the end of the game. I saw it as a snag game.
Interface Graphics
Menu design
At first, I wanted to make a classic menu for a text story, with buttons & captions, but then I decided that this made no sense and remembered that I had already acquired a pretty good set of buttons with icons:
Vector Flat Icons .
For the backgrounds of the panels I used the picture "
Food " for the authorship of a certain Ilya. Initially, I was going to pick up for each girl on the background, but then abandoned this idea in favor of preserving the overall color scheme of the game.
First mistake
After downloading a beautiful background image and generating a character in a special maker, I thought about the architecture of the game. Unfortunately, my choice was wrong: around the stage to the screen, instead of just switching elements of the canvas within the same scene. Subsequently, it cost me some rough spots in the code and strange logic of the controllers, because I rested on the speed of development. Fortunately, the amount of work did not lead to a deplorable situation: only my pride suffered.
First prototype
By the evening of the same day, I realized that I wanted to finish this game. It looked like this:
(this is not a UML diagram)Subsequently, this scheme has not changed. Only one phrase was added for the girl and the reaction to the minute silence.
Character development
I immediately decided that one girl for my game would be small. He stopped at four characters based on the most popular anime archetypes of characters. Well, in what style still make a visual novel, if not in the anime?
Zundere - the word comes from kuntsun (tsuntsun), which means - disgust, and deredere (deredere), which means - love. Such characters initially appear as unpleasant, often narcissistic and selfish characters, but throughout the plot they reveal a “bright”, good side of character. The character from the "game" only begins to reveal its bright side.
The maid is a maid. One of the typical designs of anime heroines, designed to be combined with the image of "sexual servant." In this case, the option "voluntary assistant" is used.
Sis is not quite an archetype, but in the anime of this subject there is always a girl who hangs herself on a hero and considers herself his sister.
Yandere is initially a very gentle and loving character whose love for some reason becomes an obsession, most often leading to violence. Character-yndere mentally unstable and uses violence as a way out of their emotions. (after a holiday in Okinawa)
Artist1 immediately set to work, using some resources from another project, which led to the similarity of the characters.
As a basis for my appearance, I simply chose some of the heroes I remembered. For drawing, not pure anime style was used, but soft shadows were added, which gives some “lightness” to the game.
I was thinking about what would stop at more
classic style and dere heroines. , but there were already resources for the result presented above.
Writing phrases
I took phrases from the comic book, but the reaction of the girls still needed to be developed. Of course, ideally, it would be nice to conduct a couple of three experiments, to hire psychologists and experts, but in reality everything is easier. (and cheaper)
As you can see, humor, spelling and punctuation are not my strong points. Therefore, with the development of texts, I asked for help from my friend - animeshnika. In the world, he android developer and does not want to be associated with something else. In this regard, I will not refer to it, but I am very grateful to him.
Working through any character that does not look like you is a very difficult job. Especially since we only had a few phrases to uncover the heroine. Fortunately, simple archetypes of heroines; sleepless nights watching anime and manga; Wagering in
D & D allowed to immerse into the game universe and write the most realistic phrases.
The most difficult character turned out to be Yandere, both in terms of drawing and phrase processing. As a result, she turned out to be a dark-skinned (tolerance!) Pink-headed girl of a type “I will beat my beloved until I fall in love.”
Character animation
This project is the first when I sat down and figured out how Animator works. Although I use only the effect of changing transparency and changing pictures for animating characters, everything was not so clear. Heroes change not only facial expressions, but also poses that change the contour of their body. If a person can be animated with “overlay + care in transparency” with the body, this will not work. In these stories, the characters are cut into several parts (hands, head) and only they are animated. This is due to the fact that during such an animation the hero may become transparent.
I did not want to do that because of the excessive complexity; therefore, during the change of poses2 I put it under it, pose 1 with 100% visibility. At the time, as the top increased one more pose1. Got some sandwich; Sometimes there are problems with the imposition (for example, when the translucency on the hair is superimposed on each other), but in general, the result suited me.
Development of achievements
I always dreamed that when I made the game, I would add a lot of achievements to it. At first, I thought I would limit myself to 20 achievements. (on reaching for the ending with each girl) Nevertheless, in the release version I managed to prepare 29 achievements. And let one of them is given for viewing the authors of the game, the dream has been achieved! Two achievements will track player status, and six more are set as rewards for unusual actions.
In order to make achievements more interesting, the artist4 for three muffins agreed to prepare an icon for each achievement. At the time of this writing, the achievement icons were not ready yet, so I will keep the intrigue, leaving only the sketches available to me here.
There is no particular point in writing about the integration of achievements, as there is a
great article from
litemesa . The only inaccuracy (or change) relates to accumulative achievements. At this point in Google Play, you need not to increment the achievement status, but to send the current progress as a percentage. (at least when using Social.ReportProgress).
So, as achievements are few, I just keep the received in PlayerPrefs in the form of the string "id achievements" | ... | id achievements ". But I save them there only after receiving confirmation from the Google server about successful receipt. In addition, I made one cumulative achievement "The process of opening all endings." For this, the achievements obtained for opening the endings I duplicate in another line. It looks like this:
public void FinishRoot(string achId) { if (Authenticated) { String roots = PlayerPrefs.GetString("Roots"); if (roots == null || roots.Length <= 0 || !Array.Exists(roots.Split('|'), element => element == achId)) { if (roots == null || roots.Length <= 0) { roots = achId; } else { roots += "|" + achId; } PlayerPrefs.SetString("Roots", roots); } int totalRoots = 20; float progress = ((float) PlayerPrefs.GetString("Roots").Split('|').Length / totalRoots ) * 100; Social.ReportProgress(PlayAchievements.achievement_girl_negotiator, progress, (bool success) => {}); } UnlockAchievement(achId); }
In fact, drawing achivok greatly delayed the game. I did not notice in time that the artist4 does not cope. As a result, I called the artist5 (for the same three muffins) to help only for the third week, while everything else was ready by the end of the first week. That is, I just waited two weeks. (the first five icons were ready in three days)
There were nine achievements without illustrations ... For one of them, I crookedly
sketched Elfman from the anime "FairyTail". The girl with the icon came up to the second. For the third
one has processed one of the sketches . The icon of the remaining achievements was the yin-yang icon.
Stroke text
In the screenshot of the prototype you can see the text gone. This is one of the first versions of the component that I wrote for the game: text with a stroke. It consists of
two scripts and two text fields .
If everything is more or less clear with the fields: this is the text and actually a shadow, then the question may arise why do we need two scripts?
StrokeText is the
ExecuteInEditMode component - its methods are executed in the editor. In addition, it stores the default values ​​of variables (from the inspector) and applies them. This was done for easy debugging before entering the localization system.
TextController is responsible for synchronizing the parameters of two text fields. In addition, this class has a method for animated text display. (typewriter simulation):
void Update () { period += Time.deltaTime; while (cursor < text.Length && period >= stepTime) { period -= stepTime; cursor++; string _text = text.Substring(0, cursor); if (_text.Substring(_text.Length - 1, 1) == " ") { period += stepTime; } textField.text = _text; strokeField.text = _text; if (listener != null) listener.textShownPercent((cursor / ((float)text.Length / 100) )); } }
Of course, experienced developers will say that
StrokeText needs to be replaced with an Editor script, but it
makes me shiver because again I need to programmatically set various elements to enter field parameters ...
void Start() { textController = GetComponent<TextController>(); UpdateParams(); }
(By the way, this component will not adequately behave with right-hand writing)
However, I paid dearly for my choice by going against the Unity architecture without the proper experience. What problems I delivered this code will be written below.
(By the way, quite a positive screenshot, when it may seem that I am a true Unity developer)UPD :
It turns out that in Unity3D there is a
shadow for text fields . It was possible to install it instead of the second field. Thank you
Lertmind for the info.
Translation & Localization
A good translation is the best thing that can happen to your game / application *. This knowledge came to me in the process of long and successful work with
Alconost . Unfortunately, in this case, they could not help me: after all, they did not accept payment for muffins. Therefore, I decided to try to write to the chat Java programmers
Tehnosfera and I was damn lucky! On mine
a request" And then, by chance, no one wants to translate 5000 characters into English to be in the credits of the game?: D
Responded to
Dmitry Tsyganov . In a few days, he made an English translation such that:
- Even with my level I understood all the phrases except " Aunt Jemima ".
- After the "reverse" translation, several phrases were better than the original.
* After the "
Editor's Choice " badge or sales for over many years.
Localization
Translated texts are certainly cool, but what's the point if they are not in the game? With the translation of names in Unity / Android, everything is simple: you just need to create in the Plugins folder a normal OS file of string resources.
\ Assets \ Plugins \ Android \ res \ values-xx (simply values ​​for English):
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">Hello World</string> </resources>
There is no standard tool for translating texts in the game itself in Unity, but there are a lot of custom Assets to solve this problem, both paid and free. But which programmer does not like fast bike? (Answer: good) As localization, I decided to take a small script with localization in Android style:
- xml file with string resources
- Editor script that parses xml and generates enum id for strings
- Singleton that gets strings from xml resource by enum id
- LocalizationController, which has an array of text components in it and by the names of their owners asks for localized text from a singleton
In general, this is a common localization script, with the exception of automatic enum generation. Unfortunately, I could not find its author, so I just uploaded the code to the
Gist . I just added support for my StrokeText.
Stroketext
Remember, I wrote that initialization of StrokeText in Start instead of Awake comes around to me? Here with localization and auknulas. I got two situations:
1) Fulfills first Start () in StrokeText, then Start () in localization
2) First executes Start () in localization, then in StrokeText
It drank a lot of my blood ... At first, I tried to locate the cause for a very long time. It seems to be a matter of localization, but it seems that the “dynamic texts” are taken correctly. Well, when I found it, I was so tired that ... I used a lot of hacks to control the startup order of Start, I used timers and coroutines. Instead of using Awake to initialize the text: the correct architecture rules.
Background development
In fact, I liked the background from the Internet so much that I wanted to leave it. Unfortunately, all the bans that I suffered slightly undermined my psyche and the publication of the application with pirated content would have caused me to have acute attacks of psychosis and paranoia. The next logical step was to try to find the author, to ask him to license the image for the game for three muffins. Unfortunately, I could not find any mention of the author anywhere. (Although I managed to find a publication on deviantart, but as I understood it was not the author). Therefore, I simply asked for artist2, who usually draws backgrounds for me to redraw the background I liked so much; set a terribly short time, and he went to do his own thing.
Of course, it was my mistake, because artist2 knew about my copyright problems and slightly changed the concept. Therefore, I had to “break the sun” in order to stretch the canvas and remember how the effects work in Photoshop. Below are three images. I deliberately combined them without the possibility of increasing: the large elements are important, not the drawing of details. The second image is the artist's version; the third is my processing.
Musical pause
A year ago, I was on GameDevParty on game design, where they very clearly explained that there are no good games without sound. The following words from my article that I did not finish: I thank the game producer Alina Brazadekiena for such a valuable lesson.
However, I didn’t pick out muffins to music, but in the best traditions of the Internet I began to look for a free composition for the keyword “romance”. And found after all! Unfortunately, the game looked very bland with one melody in the background, and in fact I clearly remembered that the music should correspond to the moment.
Therefore, the search was continued, but already on request “free battle rpg music”. In my head, it looked like this:
leaves the panel with the answers; begins to play typical combat music; the player understands that everything is not so simple ...
HexGrimm wrote about how you can make a
simple sound manager . For the purpose of playing two melodies, I only added a method to the game controller that launched one of the two hard-cracked melodies. In addition, added the preservation and loading of the first and only settings.
Icon development
There should have been a paragraph that the icon is very important for the application, but this is a very hackneyed topic. I will only write that according to
information from nonGoogle . (A very interesting lecture on Google Play metrics from Natalia Efimtseva. Although compressed for my taste) users like dragons and female secondary sex characteristics.
I agreed to make the icon for the artist3 for one muffin, as I appreciated the level of trash for which she thanks a lot. By the way, she had already done to me an icon successfully combining dragons and female secondary sexual characteristics, but this is irrelevant. But to get an artist’s icon is not enough: a concept is needed! I had two options:
- The combination of all the heroines in one icon
- Bringing one of the heroines to the fore
Joke. Everyone knows that there are always at least three options. Here are the third and fourth:
- Absolutely left but mega-busty character
- Famous character in a style that does not hide his characteristic features, but allows him to avoid a ban due to copyright
I did not consider them because of their complete immorality. I'm having fun here, and I’m not going to earn money anyway. Therefore, I returned to the original ones:
The first option was dropped pretty soon ...
(at that time only 2.5 girls were ready)I think that by the exception method, everyone understood that I stopped at the second option. But of course, the icon has undergone a long evolution.
As the central character, the Maid was chosen as the most charismatic option, if you can write like that, given the length of the gameplay. In my opinion, she should have been dissatisfied with the user, causing him to want to install the game and solve the problem.
Version 1
I christened this version of "The maid killed a fly that took her for a very long time, and I am very happy about it."

In fact, it was almost “IT!”. I was embarrassed that the girl was looking at the fist, and not the user, and the fist itself was probably not a gesture, but part of the movement.
Version 2
The name did not come up. I liked the previous position more. In addition, this girl rather advises to score on the problem than beckons to solve it.

I absolutely do not know how to draw (or successfully support this legend), but occasionally I take into my hands the “Choice of a rectangular area” to collect from a few sketches approximately what I want to see. It should be understood that between the versions there were in fact long convictions, “my examples” and pictures from the Internet “as it should.”
Version 3
Return to the previous pose with fist preservation and view transfer to the viewer. The fist is now smaller than the chest, which definitely reduces the aggressiveness, to top off the added embarrassment and anime anger icon. Very cute puffed up lips, but his mouth knocks out the desired picture.

Version 4
Almost a picture of my head, but where is tar? The fist is still comparable to the chest; besides, I forgot to point out the missed moment from the reference (which is not in the article), but the artist has a lace bracelet on his arm.

Version 5
Fist reduced, bauble added. Perfect…

Progress 1
The maid goes from sketch to line art, simultaneously receiving a defect of his little finger and eye problems.

Progress 3
We begin to gradually select shades of skin color and determine the areas of ruddy / glitter.

Progress 7
Who said that drawing is fun?

Release 1
It took about two and a half hours after the start of work. Specially trained gnomes pass the muffin case to the artist.

Release "Well, this is exactly the last edits 12.png"
Approximately this way was done while developing an icon for such a simple game.
But of course, the results of the work will be judged only after download statistics and comments from competent people.
Photo shop installation of search results
Optimization
At first, I just wanted to laugh it off, that such a project does not require optimization, but life decided otherwise. I expected that the size of the game would not exceed 20mb, but in fact I received 34mb. Therefore, as part of the optimization, I was interested in reducing the size of the final assembly. There are two materials that are worth reading. This is a little old, but nevertheless, quite
relevant news from
fischer and
official documentation (!).
First of all, I
habitually drove all the graphics through
pngquant . (optimization with errors) Of course, this did not help me because during the build process Unity3d translates all the graphics into its intermediate format, which is quite clearly written in the documentation. Where by the way I learned about such a beautiful thing as Editor Log, which immediately helped to identify the problem:
9.0 mb 26.2% Assets / Pcs / BG.png instead of the expected 1.3mb.
Inadmissibly a lot of space was occupied by the background and at the same time the biggest picture of the game. Converting its size to the power of two reduced the size of the application by 7mb. (Actually, I also reduced the background of the panels - the food file)
About a megabyte I won by setting the Stripping Level.
I used Subset NET2.0 by default, but I completely forgot about “Universal Assembly”. A separate build for ARM7 and x86 architectures allowed reducing the size of the apk file to the desired 18mb. Happy End. Although it will be embarrassing if someone will slow down the animation after my words, that optimization is not needed here.
But of course, for complete moral zen, I turned off
mipmaps generation.
Advertising
In order to somehow pay back the muffins, I decided to add advertising banners and interstitial ads to the game. I display banners at the bottom of the game menu, and interstitial ads every third attempt. As with achievements, I used Google’s standard library:
Official Unity Plugin for the Google Mobile Ads SDK . Connect easily, but earned advertising only after upgrading the build tools to the latest version.
Of course, I do not amuse myself by the fact that I can earn something on a one-time entertainment, but I couldn’t help adding ... I’m a character like that.
Testing
Testing games is a special kind of testing: this is no longer a little written on Habré. Even this game can be tested endlessly, so I just stopped at the following points:
- Position of UI elements at various resolutions
- Delivery of achievements
- Advertising
- Saving game progress (achievements) at reboot
- Verification of accumulating achievements
- Sync achievements with Google Play
This may also include the reading of the texts of the game. In general, the most difficult thing was to ensure that thanks were adequately looked at any aspect ratio. It hurt a
lot of them .
Errors
In fact, when developing the game, I had only three “mistakes”. This is the already mentioned problem with incorrect initialization of StrokeView and skipping localization due to this.
The sprite saved in the wrong size (1024x1025) was not displayed on some devices during the first testing. By the way, 1023x1024 also works.
The third mistake was incorrect work with the library for the integration of advertising from AdMob. For a very long time I couldn’t properly hide the banner and display it again if necessary. At first, I forgot to track the life cycle of the application. (
OnApplicationPause ) Then, I forgot to check for the presence of a banner and endlessly created it. Undoubtedly, the use of familiar tools on a new platform is an important experience and skill development.
Publication
Name selection
The name is the essence of the entire application: it should vividly reflect its essence. (preferably containing keywords) I wanted the title to hint at the fact that the game was played. And of course, the name should have scared away those to whom this game would not be interesting. Ideally, the name should have been easily shortened without losing its uniqueness and meaning.
I started with the version “Super realistic girls simulator”. Not only did it not meet my requirements, it did not fit into the restriction of Google Play (30 characters)
Then I began to think about the name, starting with my requirements. The easiest way to scare off snobs is to use slang. And I did it!
Name :
Fake Novella -
Simulator TianAbbr. : Fake Novel
The truth with the translation into English was a problem. Of course, the borrowed words in modern speech feature not only the Russian language, but there was no analogue of "Tian" in the English language ...
I had to stay on the following option:
Name : Fake Novel: Girls Simulator
Abbr. : Fake Novel
Downloading multiple APKs in the Play Store
It was something new for me: I used to manage a universal APK file, but everything turned out to be simple. For each architecture, it is sufficient to specify your Bundle Version Code and load it via advanced control mode.
Age restrictions
It seems to me that with each time the
IARC survey is gaining more and more points ... For example, this time I learned what a "
Stickini " is. In general, it is an interesting experience to learn such words from the Mobile Application Developer Console. The final rating of the game:

It was originally taller:

It turns out that “revealing outfits or nudity in an erotic context” turns into the “Image of Sex” item. I wonder who translated it.
Age limits in such games are so amorphous that they change all the time. At the time of publication, the age rating is already higher. I decided to point out that the game implies violence, and there is also a naked female breast with covered nipples.Proof
(the first version of the collector's achiever)
There is no sex in Google
A couple of hours after publication, I received a letter from the address I had so disliked ...
After review, Fake Novell - Girls Simulator, com.bianf.fake_novel, has been suspended for futures.
Next Steps
Read through the sexuality policy.
Make sure your app complies with all policies listed in the Developer Program Policies. If you’re there, you’ll be able to get it.
It is possible to bring your app in compliance with your app.
This can be a result of your Google account. If your account is terminated, it may be your charge.
If you’re still in error, please contact our policy support team. You can get back to you within 2 business days.
Regards,
Remember that in achievements there is an image of a female breast with covered nipples? It seems that this is not my first application for Google, but did not particularly delve into their sexual politics.
The application has been BLOCKED completely. Without the ability to send a new version with corrected errors. The three final blocks are the blocking of the entire account.I just have a question: “Why, then, such a detailed test?”
Why - not to make on the basis of it a pop-up window “Caution, your application may be banned completely !!!”.So no sexuality on google play. So it goes…To be, or not to be
I write these lines, not knowing how it will end. You need to create a new version of the game and try to send it. The first problem after the ban is that you need to change the name and package of the application.
Fortunately, I made a mistake and wrote “Novell” instead of “Novel” in the title of the banned version. The application package did not contain such an error: there I replaced “novel” with “novelette”. Of course, just in case, I removed the screenshots with achievements and their icons, and the achievements themselves were concealed. A ban of this version will mean blocking the entire account. (I have published Manga Reader from the previous article with him and have already received one warning) I hope that sometime in the GP there will be support with a human face. And applications will first freeze with an indication of specific reasons and only then ban. Pull up the courage and press a button
Post !An hour after “publish”
I notice that the corrected maid has no protein. Updating the icon, I see that the new versions of the icons were not published. Post a change of achievement icons ! I hope that the Google Play moderators have access to the latest achievements, otherwise ...After another hour
A letter with ... IARC RATING CERTIFICATE falls on the mail . Good sign. Usually, if banned before receiving the certificate. I am updating the developer console ... The game is published. Unexpectedly, to be honest: lately, I haven't been lucky.Habr is not a place for complaints, but« » D&D .
Task tone
Despite the frivolity of the project, I do not want to send it to free flight immediately after the start. To be honest, I am surprised by the huge number of applications in the market without ratings. Using the accounts of friends and acquaintances, I plan to leave a few humorous reviews to set the tone for organic users.P.S
I really hope that my publication did not offend anyone by the presence of a few dubious humor. I also want to note that the release of the game has nothing to do with February 14th. (Due to the delays of icons and Google since March 8 ...)Now the main experience is how the team’s work week will assess it. (and the month of the work of icon artists) One of the main problems is that many users may be disappointed by a character style different from the icon; heightened expectations due to an increased age rating and, of course, damn short plot lines, and the fact of “impassability” is not all accepted as a joke. On the other hand, it is my fault that I made the game against most of the canons of game design. Although of course, I hope for funny comments and some word of mouth.Of course, I will be happy to answer questions in the comments, but I will try to predict some of them according to my tradition.Q: Why not RenPy ?A: Unity3d is interesting to me, but RenPy is not.Q: The specialist uses the tool to the task, but does not customize the usual tool for it.A: Depends on the goal. I wanted to make a complete game on unity3d and I did it. My fuse disappeared faster than I figured out RenPy.Q: Will you publish statistics?A: I am thinking of writing an article “Playing for a week in a week.”Q: Will you publish the source code?A: I'm not a big expert in Unity3d, but I plan to publish the source code instead of the second article in order to get a lot of useful tips. In any case, I will publish only the code. Pictures have to cut or from the game, or from the article.Q: Artist? But nevertheless, the verbs you write in the feminine.A: This is my feature. I am so familiar and easier. I hope that no one thinks it is an insult.Q: Are there too many links?A: If you read these words, the UFO felt that it was not too. I respect the time of those who read my stories and do not want to force them to search for something by keywords.Q: You made a game of a couple of slides in a week and are you proud of it?A: I went through a full cycle in a week from idea to publication, learning a lot of new things and having fun. I am proud and glad of it.Q: Is there too much "I"?A: Yes. This is one of my main problems. I'm sorry.
Q: And what is so much text about the novel for 5 minutes?A: 100% of the passage can be obtained in at least 10 minutes of the game. But of course, I wanted to convey the idea that even the mediocre development of a short but complete game can take a long time and you need to correctly calculate your strength.Q: So where are the achievements?UPD 09.03I don’t even know how to write it ... For the first time in a long time, Google accepted my appeal . (I appealed against the blocking of the first version) If I had not seen it myself, I thought it was a photoshop ...