Desenvolvimento, otimização e lançamento de jogos Synthety no Unity

imagem

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


  1. Desenvolvimento e otimização.
  2. Versão do Google e geração de receita.
  3. 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 Lightmapping

Existem 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).

imagem

O resultado do cozimento é aproximadamente o mesmo em todos os lugares. Como um exemplo de cozimento de acordo com essas configurações:

imagem

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ão

Tudo 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 Faz

modelos 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ção

Nã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), use

Application.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).

imagem

imagem

2. Lançamento


Como publicar o aplicativo no Google Play já foi escrito em muitos lugares, em particular
habr.com/en/company/livetyping/blog/326874

Nã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.

All Articles