Bom Dia a todos. Finalmente, meu jogo para celular Synthety foi lançado. Habr costumava economizar com conselhos e ajuda, e decidi compartilhar minha experiência de desenvolvimento do zero, resumindo o caminho feito.Um pouco curto sobre tudo.Synthety é um jogo de aventura e aventura. O objetivo do jogo é encontrar uma saída do local atual para o próximo. Para fazer isso, você precisa se comunicar com os personagens, interagir com objetos ao redor, resolver quebra-cabeças e muito mais. Desde o início do desenvolvimento até o lançamento do jogo, eles voaram por cerca de seis meses. O jogo foi desenvolvido no mecanismo Unity em C #. Neste post, gostaria de compartilhar dicas e truques no desenvolvimento e lançamento do jogo.Conteúdo
- Desenvolvimento e otimização.
- Versão do Google e geração de receita.
- Ações futuras.
1. Desenvolvimento e otimização
Divido os jogos para celular em 4 categorias. Jogos matadores de tempo, jogos sociais, mmorpg (bem, de qualquer forma, eles se chamam assim) e jogos atmosféricos. Escolhi o gênero de jogos atmosféricos, que é o mais próximo da arte, e considero que os jogos fazem parte da arte. Você pode fazer jogos desse gênero de maneiras diferentes. Eu pessoalmente escolhi as seguintes condições básicas para criar um jogo para mim: uma sensação do mundo dos vivos, personagens e enredo. Isso requer gráficos atmosféricos, design elaborado de níveis e interatividade com os objetos do mundo, e tudo isso afeta a otimização do jogo.1.1 Otimização de jogos
Ao contrário de hipercools com um visual simples e um pequeno número de objetos no palco, mas um grande número de níveis (cerca de 200-400), no meu jogo, a ênfase não está no número de níveis, mas na qualidade. Mas a qualidade requer otimização. As principais ferramentas de otimização que usei no Unity:- Lightmapping
- Seleção de Oclusão
- Mesh Baker
- Outra otimização.
1.1.1 LightmappingExistem muitas postagens sobre iluminação de panificação na Internet, mas não vi valores específicos para parâmetros de panificação que seriam, pelo menos, o ponto de partida das configurações. Portanto, anexo uma tela dos meus parâmetros, que foram testados em três máquinas (MacBook pro, Dell G17 e um computador de mesa).
O resultado do cozimento é aproximadamente o mesmo em todos os lugares. Como um exemplo de cozimento de acordo com essas configurações:
De fato, a partir daqui, você pode configurar o cozimento de sua cena alterando apenas três parâmetros para atingir seus objetivos:- Resolução Lightmap (melhor qualidade, mas maior tamanho de textura de cozimento);
- Contribuição direta e indireta (a partir da qual as fontes de iluminação haverá mais influência da fonte de iluminação direcional ou de todas as fontes não diretas, como PointLight ou SpotLight);
- Intensidade indireta (ambiente Intensidade da luz em particular, mesmo se você tiver gradiente, ele ainda leva em consideração apenas a cor do céu, é a cor ambiente, se o parâmetro Cor estiver definido)
1.1.2 Seleção de oclusãoTudo aqui é bem simples. O principal objetivo desta ferramenta é reduzir o número de tris na tela; os parâmetros padrão do Unity são suficientes. Uma diminuição no menor oclusor e no menor orifício levará a um aumento no tamanho dos dados, mas nenhuma redução significativa em três vezes foi observada. Dica: se você usar uma câmera ortográfica, configure os planos de recorte para que os objetos que devem ser exibidos e não aqueles que nem são visíveis entrem na câmera.1.1.3 MeshBaker Fazmodelos em lotes em um, reduzindo perfeitamente as chamadas de Drawc. Existe uma boa ferramenta gratuita. .Você pode criar modelos em lotes de 64k tris (quebra de corte estático acima de 64k tris). No entanto, eu pessoalmente advogo o uso de ferramentas Unity puramente nativas para reduzir o risco de falha do aplicativo em determinados modelos de telefone.1.1.4 Outra otimizaçãoNão recomendo o uso de um sombreador padrão para dispositivos móveis. Em particular, eu recomendo o uso de um shader difuso em objetos de visibilidade secundária. Em geral, acho que o sombreador ToonyShader é bem barato, mas aceitável em termos visuais.Não use sincronização vertical (Vsync), useApplication.targetFrameRate=300;
O cozimento funciona apenas em objetos estáticos (estáticos), e eu recomendo que todos os objetos dinâmicos sejam iluminados com uma fonte de luz direcional (ou várias, mas dividindo a máscara de abate em cada grupo de objetos para que cada objeto tenha sua própria fonte de luz). E também use o projetor de sombra falsa. Não use a luz pontual e pontual em tempo real. Para alterar a iluminação de um objeto dinâmico na área de objetos cozidos, use Sondas de Luz. (Asse com iluminação).

2. Lançamento
Como publicar o aplicativo no Google Play já foi escrito em muitos lugares, em particularhabr.com/en/company/livetyping/blog/326874Não há nada errado com isso e todas as etapas são controladas e, se algo é feito errado, é gerado um erro com uma explicação do que foi feito de errado (e além disso, cada item tem um link para o certificado).Sou desenvolvedor da Bielorrússia em Minsk. Na Bielorrússia, a única maneira de receber pagamentos do Google Play é por transferência bancária. Você deve ir ao comitê executivo da cidade local com uma solicitação de registro de um empreendedor individual (você pode encontrar o formulário no site do comitê executivo da cidade, pois não é necessário que você o entregue, preencha-o antes da viagem). No mesmo dia, você receberá um certificado com o UNP. Você precisa desse número de conta do pagador para abrir uma conta bancária no IP (em 20 dias, aconselho que você chegue à administração fiscal e solicite um sistema de tributação simplificado). Portanto, você precisa ligar para o banco (os mais baratos em manutenção são o BPS Sberbank e o Belgazprombank), declarar que deseja abrir uma conta corrente em moeda estrangeira e moeda nacional no IP. O gerente informará a data em que você precisa assinar e, no mesmo dia, você receberá os detalhes da conta.Esses detalhes são preenchidos pelo Google na conta do desenvolvedor em "Configurações" / Configurações de pagamento / Método de geração de receita.3. Ação adicional
Após o lançamento, seu jogo ou aplicativo aparecerá em uma enorme lista dos mesmos aplicativos no Google. E também na mesma grande lista na AppStore (onde lançarei o Synthety em breve). Promoção e publicidade são necessárias. Para isso, eu pessoalmente uso e planejo, em particular, usar o tráfego do Facebook para este jogo. Mas essa é uma história completamente diferente. Se houver pessoas interessadas, farei um post separado.Ficarei feliz em ajudar com comentários e comentários pessoais, se alguém tiver alguma dúvida, pois neste post 10% de tudo o que o desenvolvedor precisa lidar. Ficarei feliz em ajudar pelo menos uma pessoa.Obrigado pela atenção . Se você estiver interessado, você pode jogar o jogo agora mesmo no Google Play, a pedido da Synthety.