Twisters or Fridge in Pilot Brothers

imageI love mobile development, and when my eyes burn with an idea, itā€™s very difficult to break away from work.

And so it happened this time. I remembered the old game ā€œBrothers Pilotsā€ and the riddle of opening the refrigerator. For those who have forgotten, I remind you that it was necessary to turn all the handles in a horizontal position. But, when turning the handle, other handles that are in the same row and column turned with it. In the game, the problem is solved quite simply - you need to remember the vertical handles and click on them, ignoring the subsequent states.

Obviously, the pens in the game were arranged so that the student could solve them on a hunch. But I was wondering - is it possible to solve the problem if all the handles are in a horizontal position? Or almost everything?

Google said that there is a solution and I even found a mathematical explanation for the 4x4 matrix. I will not give the explanation here, because it will be an unfair use of other people's works and an attempt to seem smart.

Once 4x4 is decided, what will happen to 5x4? 6x6? Need to try. In the end, I sat down to write a game. I chose Swift, although there were thoughts about SwiftUI. I decided to refuse, because in the previous project, I ran into the "dampness" of the framework. Namely - the inability to programmatically scroll ScrollView to the desired value. In that case, the lack of this functionality turned out to be critical, so I decided to wait for the release of a new version and postpone SwiftUI for now.

I immediately broke the game into levels: 1st level - 4x4 matrix, 2nd - 5x5, etc. Passed the level - moved to the next. Theoretically - there are no restrictions in the levels.

The main functionality was written in a couple of hours. The design chose the simplest, because there is no talent in this matter from the word at all. Design and localization took more time - I decided that the English-speaking world should also be able to test itself. For this, he also added Game Center, especially since he had not worked with him before - everything turned out to be simple.

I decided to call the game Krutilki, tk. instead of the fridge handles, the game uses colored twists. It all looks like this:

Screenshot
image

In general, the development of the main functionality was easy. More time was spent on design, localization and preparation for the release. And then I remembered that there were no sounds in the game at all. Need to add. The search took a little time, but ran into an interesting implementation problem.
Originally there was AVAudioPlayer, which was stored in the property. When you press the twist, it is played and, when completed, it scrolls to the very beginning of the track. But when I started the game, I noticed that the first time the sound is played normally, and all the following times - somehow muffled / twisted. Googled that it is called jitter, but why didnā€™t figure it out. Moreover, in previous projects, this problem did not arise, but the audio file was used there much longer than 1 second.

The solution turned out to be simpler - I removed the rewind in the completion method and it worked. Why the first method did not work - I will be glad to read from a knowledgeable community.

As for the game itself - I wonder how far the players will go? To what level will they master? Yes, 4x4 is solved quite simply and Google will tell the algorithm. But what about 5x5, 6x6? It seems to me that 90% of the maximum will pass level 1 and abandon. I was surprised by my wife, who in 5 minutes reported about passing 2 levels at once and began to storm the 3rd. I admit, I myself got to the third day later.

Iā€™ll talk a bit about the difficulties with publishing in the Appstore. Sending the application for verification in the evening, I almost immediately received a response from Apple - your account has been suspended and is under investigation (under investigation) for violation of one of the items (without specifying such).

Apple letter
We are unable to continue this appā€™s review because your Apple Developer Program account is currently under investigation for not following the App Store Review Guidelinesā€™ Developer Code of Conduct.

Common practices that may lead to an investigation include, but are not limited to:

ā€¢ Inaccurately describing an app or service
ā€¢ Misleading app content
ā€¢ Engaging in inauthentic ratings and reviews manipulation
ā€¢ Providing misleading customer support responses
ā€¢ Providing misleading responses in Resolution Center
ā€¢ Engaging in misleading purchasing or bait-and-switch schemes
ā€¢ Engaging in other dishonest or fraudulent activity within or outside of the app

During our investigation, we will not review any apps you submit. Once we have completed our investigation, we will notify you via Resolution Center.We do not require any additional information from you at this time, nor do we have any additional details to share. We appreciate your continued patience during our investigation.

Best regards,
App Store Review

At the same time, the answer also states that no information is needed - just wait.

Googling, I found a long sheet on the apple virgo forum about such answers. Many "lucky" reported that they were waiting for the end of the investigation for months. I was not happy with this expectation, and I, using the feedback form, kindly inquired about the reasons. On the same day, the answer came that the application fell into the spam category and supposedly copies the functionality of many existing ones. Despite the fact that I did not find such a cursory search. In general, I filed a complaint in which I described that the search does not return me anything similar in functionality and the application is definitely unique. As a result, they missed him.

The wondrous politics and experience of comrades suggests that many reviewers do not really delve into and like to wrap applications. I hope this experience is useful to someone.

findings


Why am I doing all this? As a developer, it was interesting for me to implement such a game, and I really want to see ideas and solutions to this problem by the technical community (both in the comments here and in the leaderboard).

The application itself is here . It is naturally free. A small ad may appear on the main screen, which closes the free space below.

I would be grateful for comments and feedback.
Be healthy.

All Articles