Twisters ou Geladeira em Pilot Brothers

imagemAdoro o desenvolvimento móvel, e quando meus olhos ardem com uma ideia, é muito difícil sair do trabalho.

E assim aconteceu desta vez. Lembrei-me do antigo jogo “Brothers Pilots” e do enigma de abrir a geladeira. Para aqueles que esqueceram, lembro que era necessário girar todas as alças na posição horizontal. Porém, ao girar a alça, outras alças que estão na mesma linha e coluna são viradas com ela. No jogo, o problema é resolvido com muita simplicidade - você precisa se lembrar das alças verticais e clicar nelas, ignorando os estados subsequentes.

Obviamente, as canetas do jogo foram organizadas para que o aluno pudesse resolvê-las com um palpite. Mas ficou interessante para mim - é possível resolver o problema se todas as alças estiverem na posição horizontal? Ou quase tudo?

O Google disse que existe uma solução e eu até encontrei uma explicação matemática para a matriz 4x4. Eu não vou dar a explicação aqui, porque será um uso injusto dos trabalhos de outras pessoas e uma tentativa de parecer inteligente.

Uma vez que 4x4 é decidido, o que acontecerá com 5x4? 6x6? Precisa tentar. No final, sentei-me para escrever um jogo. Eu escolhi o Swift, embora houvesse pensamentos sobre o SwiftUI. Eu decidi recusar, porque no projeto anterior, me deparei com a "umidade" da estrutura. Ou seja - a incapacidade de rolar programaticamente ScrollView para o valor desejado. Nesse caso, a falta dessa funcionalidade acabou sendo crítica, então decidi aguardar o lançamento de uma nova versão e adiar o SwiftUI por enquanto.

Eu imediatamente quebrei o jogo em níveis: 1º nível - matriz 4x4, 2º - 5x5, etc. Passou o nível - mudou-se para o próximo. Teoricamente - não há restrições nos níveis.

A principal funcionalidade foi escrita em algumas horas. O design escolheu o mais simples, porque não há talento nesta matéria da palavra. O design e a localização levaram mais tempo - decidi que o mundo de língua inglesa também deveria poder testar a si próprio. Para isso, ele também adicionou o Game Center, especialmente porque ele não havia trabalhado com ele antes - tudo acabou sendo simples.

Decidi chamar o jogo Krutilki, tk. em vez das alças da geladeira, o jogo usa torções coloridas. Tudo se parece com isso:

Captura de tela
imagem

Em geral, o desenvolvimento da funcionalidade principal foi fácil. Mais tempo foi gasto em design, localização e preparação para o lançamento. E então me lembrei de que não havia sons no jogo. Precisa adicionar. A pesquisa demorou um pouco, mas ocorreu um problema de implementação interessante.
Originalmente, havia o AVAudioPlayer, que estava armazenado na propriedade. Quando você pressiona a torção, ela é reproduzida e, quando concluída, rola para o início da faixa. Mas quando iniciei o jogo, notei que na primeira vez em que o som é reproduzido normalmente, e todas as vezes seguintes - de alguma forma abafadas / distorcidas. Pesquisei no Google que é chamado de instabilidade, mas por que não descobri. Além disso, em projetos anteriores, esse problema não surgiu, mas o arquivo de áudio foi usado lá por mais de um segundo.

A solução acabou sendo mais simples - removi o retrocesso no método de conclusão e funcionou. Por que o primeiro método não funcionou - terei prazer em ler de uma comunidade experiente.

Quanto ao jogo em si - eu me pergunto até onde os jogadores irão? A que nível eles dominam? Sim, o 4x4 é resolvido de maneira bastante simples e o Google informará o algoritmo. Mas e 5x5, 6x6? Parece-me que 90% do máximo passará no nível 1 e abandonará. Fiquei surpreso com minha esposa, que em 5 minutos relatou ter passado dois níveis de uma só vez e começou a invadir o terceiro. Eu admito, eu mesmo cheguei ao terceiro dia depois.

Vou falar um pouco sobre as dificuldades com a publicação na Appstore. Ao enviar o pedido de verificação à noite, recebi quase imediatamente uma resposta da Apple - sua conta foi suspensa e está sob investigação (sob investigação) por violação de um dos itens (sem especificar isso).

Carta da Apple
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

Ao mesmo tempo, a resposta também afirma que nenhuma informação é necessária - apenas espere.

Pesquisando, encontrei uma longa folha no fórum apple virgo sobre essas respostas. Muitos "sortudos" relataram que estavam esperando o final da investigação por meses. Não fiquei satisfeito com essa expectativa e, usando o formulário de feedback, indaguei gentilmente os motivos. No mesmo dia, chegou a resposta de que o aplicativo se enquadrava na categoria de spam e, supostamente, copia a funcionalidade de muitos existentes. Apesar de não ter encontrado uma pesquisa tão superficial. Em geral, registrei uma reclamação na qual descrevi que a pesquisa não me traz nada semelhante em funcionalidade e o aplicativo é definitivamente único. Como resultado, eles sentiram sua falta.

A política maravilhosa e a experiência dos camaradas sugerem que muitos revisores não se interessam e gostam de envolver aplicativos. Espero que esta experiência seja útil para alguém.

achados


Por que estou fazendo tudo isso? Como desenvolvedor, foi interessante para mim implementar esse jogo, e eu realmente quero ver idéias e soluções para esse problema pela comunidade técnica (nos comentários aqui e no placar de líderes).

O aplicativo em si está aqui . É naturalmente grátis. Um pequeno anúncio pode aparecer na tela principal, fechando o espaço livre abaixo.

Ficaria muito grato por comentários e feedback.
Seja saudável.

All Articles